CN117997813A - Communication method and device - Google Patents

Communication method and device Download PDF

Info

Publication number
CN117997813A
CN117997813A CN202211360558.1A CN202211360558A CN117997813A CN 117997813 A CN117997813 A CN 117997813A CN 202211360558 A CN202211360558 A CN 202211360558A CN 117997813 A CN117997813 A CN 117997813A
Authority
CN
China
Prior art keywords
computing
nlri
attribute
node
network node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211360558.1A
Other languages
Chinese (zh)
Inventor
丁祥峰
钱国锋
王丽丽
喻平平
王岩
骈志康
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202211360558.1A priority Critical patent/CN117997813A/en
Publication of CN117997813A publication Critical patent/CN117997813A/en
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application provides a communication method and a device, wherein the method comprises the following steps: the first network node acquires computing power information corresponding to the n computing nodes respectively. And the first network node determines a target computing node from the n computing nodes according to the computing power information respectively corresponding to the n computing nodes. The first network node generates a routing policy for indicating that the traffic data is forwarded to the target computing node after the traffic data is received. The application is applied to allocation of computing resources.

Description

Communication method and device
Technical Field
The present application relates to the field of communications, and in particular, to a communication method and apparatus
Background
With the development of cloud computing technology, more and more services transmit service data to a computing node through a transmission network so as to process the service data by using the computing power of the computing node.
When the computing power of a plurality of computing nodes is utilized to provide computing power service for a service, how to efficiently utilize computing power resources of each computing node is a problem to be solved at present.
Disclosure of Invention
The application provides a communication method and a communication device, which are used for efficiently utilizing computing power resources of all computing nodes.
In a first aspect, a communication method is provided, including: the first network node acquires computing power information corresponding to n computing nodes respectively; the first network node determines a target computing node from the n computing nodes according to the computing power information respectively corresponding to the n computing nodes; the first network node generates a routing policy, where the routing policy is used to instruct forwarding of service data to the target computing node after receiving the service data.
According to the method, the appropriate computing node can be determined according to the computing power information of each computing node, and (for example, the computing node with the lowest utilization rate or the computing node meeting the computing power requirement of the service) further, when the network node in the transmission network forwards the service data, the service data can be forwarded to the determined computing node. In this way, in the forwarding process of the service data, the computing nodes selected to be forwarded by the network node are determined according to the computing power information of each computing node, so that the effect of reasonably distributing the computing power resources can be achieved.
In one implementation, the first network node obtains computing power information corresponding to n computing nodes, including: the first network node receives a BGP update message updated by a first edge gateway protocol from a second network node, wherein the BGP update message carries computing power information corresponding to one or more computing nodes; the n computing nodes include the one or more computing nodes.
In the implementation manner, the computing power information of the computing node can be sent through the BGP update message, so that the first network node can determine the target computing node according to the computing power information of the computing node and generate a corresponding routing strategy for reasonably distributing computing power resources.
In one implementation, the first BGP update message includes first link state network reachability information LINK STATE NLRI; the NLRI type of the first LINK STATE NLRI is a Prefix NLRI, or the NLRI type of the first LINK STATE NLRI indicates that the NLRI is an NLRI corresponding to the calculation information. The computing power information corresponding to the one or more computing nodes is carried in a first Path Attribute corresponding to the first LINK STATE NLRI.
In the implementation manner, the computing power information corresponding to the computing node can be carried in the Path Attribute corresponding to the existing LINK STATE NLRI for transmission, so that various overheads required by the new NLRI are avoided.
In one implementation, the first LINK STATE NLRI includes a route identifier RD field, and/or the first LINK STATE NLRI includes a virtual private network segment route identifier VPN SID corresponding to the computing node.
In the above implementation manner, by carrying the RD field in the first LINK STATE NLRI, the network node that receives the first LINK STATE NLRI may determine, according to the RD field, which private network service the computing power information corresponds to. In addition, by carrying the VPN SID in the first LINK STATE NLRI, the network node that receives the first LINK STATE NLRI may determine, according to the VPN SID, the VPN corresponding to the computing node.
In one implementation, the first Path Attribute is a Path Attribute for carrying computing power information.
In the above implementation manner, a Path Attribute for carrying the calculation information is newly added, so that the calculation information can be carried in the Path Attribute at LINK STATE NLRI, so as to complete the transmission of the calculation information.
In one implementation, the first Path Attribute includes a plurality of sub-type-length-values subTLV therein, each subTLV of the plurality subTLV being configured to carry a different type of computational force Attribute, respectively.
In the above implementation manner, by setting a plurality of subTLV for carrying different types of computing force attributes in the first Path Attribute, a plurality of types of computing force attributes can be carried in one Path Attribute.
In one implementation, the computing force attributes include: one or more of CPU attribute, GPU attribute, NPU attribute, memory attribute, hard disk attribute, transmission bandwidth attribute, and connection number attribute.
In one implementation, the obtaining, by the first network node, computing power information corresponding to n computing nodes respectively includes: the first network node receives computing power information corresponding to n computing nodes from a cloud management platform respectively; the cloud management platform is management equipment of the n computing nodes.
Through the implementation manner, the first network device can acquire the computing power information from the cloud management platform for managing the computing nodes, so that the first network node can determine the target computing node according to the computing power information of the computing nodes and generate a corresponding routing strategy for reasonably distributing computing power resources.
In one implementation, the method further comprises: the first network node obtains an application-aware network identifier APN ID and a first computing power requirement corresponding to the APN ID. The first network node determines a target computing node from the n computing nodes according to the computing power information respectively corresponding to the n computing nodes, and the method comprises the following steps: and the first network node determines the target computing node meeting the first computing force requirement from the n computing nodes according to the computing force information respectively corresponding to the n computing nodes. The routing policy is specifically configured to instruct, after receiving service data carrying the APN ID, forwarding the service data to the target computing node.
Through the implementation manner, the first network node can determine the target computing node corresponding to the computing power requirement of the service and forward the corresponding service data to the target computing node, so that reasonable utilization of computing resources is realized.
In one implementation, the first network node obtaining an application-aware network identifier APN ID and a first computational power requirement corresponding to the APN ID includes: the first network node receives calculation power demand information from a service platform; the calculation force demand information comprises a corresponding relation between the APN ID and the first calculation force demand; or the first network node receives the calculation force demand information from the terminal-side gateway device.
In one implementation manner, the determining, by the first network node, a target computing node from the n computing nodes according to the computing power information respectively corresponding to the n computing nodes includes: and the first network node determines a target computing node with the lowest computing power utilization rate from the n computing nodes according to computing power information respectively corresponding to the n computing nodes.
Through the implementation manner, the first network node can determine the target computing node with the lowest computing power utilization rate and forward the service data to the target computing node, so that reasonable utilization of computing resources is realized.
In one implementation, the method further comprises: the first network node sends the routing strategy to a third network node through BGP flow specifications Flowspec, ethernet virtual private network EVPN or path computation element protocol PECP; the third network node is a terminal side gateway for receiving service data.
In a second aspect, there is provided a communication method comprising: the first network node acquires computing power information corresponding to one or more computing nodes; the first network node sends a first BGP update message to a second network node; the first BGP update message carries computing power information corresponding to the one or more computing nodes.
In the method, the computing power information of the computing node can be sent through the BGP update message, so that the second network node can determine the target computing node according to the computing power information of the computing node and generate a corresponding routing strategy for reasonably distributing computing power resources.
In one implementation, the first BGP update message includes first link state network reachability information LINK STATE NLRI; the NLRI type of the first LINK STATE NLRI is Prefix NLRI, or the NLRI type of the first LINK STATE NLRI indicates that the NLRI is the NLRI corresponding to the calculation force information; the computing power information corresponding to the one or more computing nodes is carried in a first Path Attribute corresponding to the first LINK STATE NLRI.
In the implementation manner, the computing power information corresponding to the computing node can be carried in the Path Attribute corresponding to the existing LINK STATE NLRI for transmission, so that various overheads required by the new NLRI are avoided.
In one implementation, the first LINK STATE NLRI includes a route identifier RD field, and/or the first LINK STATE NLRI includes a virtual private network segment route identifier VPN SID corresponding to the computing node.
In the above implementation manner, by carrying the RD field in the first LINK STATE NLRI, the network node that receives the first LINK STATE NLRI may determine, according to the RD field, which private network service the computing power information corresponds to. In addition, by carrying the VPN SID in the first LINK STATE NLRI, the network node that receives the first LINK STATE NLRI may determine, according to the VPN SID, the VPN corresponding to the computing node.
In one implementation, the first Path Attribute is a Path Attribute for carrying computing power information.
In the above implementation manner, a Path Attribute for carrying the calculation information is newly added, so that the calculation information can be carried in the Path Attribute at LINK STATE NLRI, so as to complete the transmission of the calculation information.
In one implementation, the first Path Attribute includes a plurality of sub-type-length-values subTLV therein, and each subTLV of the plurality subTLV is configured to carry a different type of computational force Attribute.
In the above implementation manner, by setting a plurality of subTLV for carrying different types of computing force attributes in the first Path Attribute, a plurality of types of computing force attributes can be carried in one Path Attribute.
In one implementation, the computational force attributes include: one or more of CPU attribute, GPU attribute, NPU attribute, memory attribute, hard disk attribute, transmission bandwidth attribute, and connection number attribute.
In a third aspect, a communication device is provided for use in a first network node, the communication device comprising: the acquisition unit is used for acquiring the calculation force information corresponding to the n calculation nodes respectively; the processing unit is used for determining a target computing node from the n computing nodes according to the computing power information respectively corresponding to the n computing nodes; the processing unit is further configured to generate a routing policy, where the routing policy is used to instruct forwarding of the service data to the target computing node after receiving the service data.
In one implementation manner, the obtaining unit is configured to obtain computing power information corresponding to each of the n computing nodes, and includes: the acquiring unit is specifically configured to receive a BGP update message from a second network node, where the BGP update message carries computing power information corresponding to one or more computing nodes; the n computing nodes include the one or more computing nodes.
In one implementation, the first BGP update message includes first link state network reachability information LINK STATE NLRI; the NLRI type of the first LINK STATE NLRI is Prefix NLRI, or the NLRI type of the first LINK STATE NLRI indicates that the NLRI is the NLRI corresponding to the calculation force information; the computing power information corresponding to the one or more computing nodes is carried in a first Path Attribute corresponding to the first LINK STATE NLRI.
In one implementation, the first LINK STATE NLRI includes a route identifier RD field, and/or the first LINK STATE NLRI includes a virtual private network segment route identifier VPN SID corresponding to the computing node.
In one implementation, the first Path Attribute is a Path Attribute for carrying computing power information.
In one implementation, the first Path Attribute includes a plurality of sub-type-length-values subTLV therein, each subTLV of the plurality subTLV being configured to carry a different type of computational force Attribute, respectively.
In one implementation, the computing force attributes include: one or more of CPU attribute, GPU attribute, NPU attribute, memory attribute, hard disk attribute, transmission bandwidth attribute, and connection number attribute.
In one implementation manner, the obtaining unit is configured to obtain computing power information corresponding to each of the n computing nodes, and includes: the acquisition unit is used for receiving computing power information corresponding to n computing nodes from the cloud management platform respectively; the cloud management platform is management equipment of the n computing nodes.
In one implementation, the obtaining unit is further configured to obtain an application-aware network identifier APN ID and a first calculation force requirement corresponding to the APN ID; the processing unit is configured to determine, according to the computing power information corresponding to the n computing nodes, a target computing node from the n computing nodes, where the determining includes: the processing unit is used for determining the target computing node meeting the first computing force requirement from the n computing nodes according to computing force information corresponding to the n computing nodes respectively; the routing policy is specifically configured to instruct, after receiving service data carrying the APN ID, forwarding the service data to the target computing node.
In one implementation, the obtaining unit is configured to obtain an application-aware network identifier APN ID and a first computing power requirement corresponding to the APN ID, and includes: the acquisition unit is used for receiving the calculation power demand information from the service platform; the calculation force demand information comprises a corresponding relation between the APN ID and the first calculation force demand; or the acquisition unit is configured to receive the calculation force demand information from the terminal-side gateway device.
In one implementation, the processing unit is configured to determine, according to the computing power information corresponding to each of the n computing nodes, a target computing node from the n computing nodes, where the determining includes: the processing unit is used for determining a target computing node with the lowest computing power utilization rate from the n computing nodes according to computing power information corresponding to the n computing nodes respectively.
In one implementation, the processing unit is further configured to send the routing policy to a third network node through BGP flow specification Flowspec, ethernet virtual private network EVPN, or path computation element protocol PECP; the third network node is a terminal side gateway for receiving service data.
In a fourth aspect, there is provided a communication apparatus comprising: the acquisition unit is used for acquiring computing power information corresponding to one or more computing nodes; a communication unit, configured to send a first BGP update message to a second network node; the first BGP update message carries computing power information corresponding to the one or more computing nodes.
In one implementation, the first BGP update message includes first link state network reachability information LINK STATE NLRI; the NLRI type of the first LINK STATE NLRI is Prefix NLRI, or the NLRI type of the first LINK STATE NLRI indicates that the NLRI is the NLRI corresponding to the calculation force information; the computing power information corresponding to the one or more computing nodes is carried in a first Path Attribute corresponding to the first LINK STATE NLRI.
In one implementation, the first LINK STATE NLRI includes a route identifier RD field, and/or the first LINK STATE NLRI includes a virtual private network segment route identifier VPN SID corresponding to the computing node.
In one implementation, the first Path Attribute is a Path Attribute for carrying computing power information.
In one implementation, the first Path Attribute includes a plurality of sub-type-length-values subTLV therein, each subTLV of the plurality subTLV being configured to carry a different type of computational force Attribute, respectively.
In one implementation, the computing force attributes include: one or more of CPU attribute, GPU attribute, NPU attribute, memory attribute, hard disk attribute, transmission bandwidth attribute, and connection number attribute.
In a fifth aspect, a communication device is provided, including a processor and an interface, where the processor receives or sends data through the interface, and the processor is configured to implement a method as described in any one of the first aspect or any one of the second aspect or the second aspect.
A sixth aspect provides a communication system, including a controller, a computation side gateway, and a terminal side gateway; wherein the controller is configured to implement the method according to the first aspect or any implementation manner of the first aspect, and the computing-side gateway is configured to implement the method according to the second aspect or any implementation manner of the second aspect.
In a seventh aspect, a computer readable storage medium is provided, in which instructions are stored which, when run on a processor, are adapted to implement a method as described in the first aspect or any implementation manner of the second aspect.
Drawings
Fig. 1 is a schematic structural diagram of a cloud computing system according to an embodiment of the present application;
Fig. 2 is a schematic flow chart of a communication method according to an embodiment of the present application;
FIG. 3 is a second flow chart of a communication method according to an embodiment of the present application;
FIG. 4 is a schematic diagram of a frame structure of LINK STATE NLRI according to an embodiment of the present application;
FIG. 5 is a second diagram of a frame structure LINK STATE NLRI according to one embodiment of the present application;
FIG. 6 is a schematic diagram of a frame structure of a path attribute according to an embodiment of the present application;
FIG. 7 is a schematic diagram of a frame structure of subTLV in a path attribute according to an embodiment of the present application;
FIG. 8 is a second schematic diagram of a cloud computing system according to an embodiment of the present application;
Fig. 9 is a schematic diagram of configuration information according to an embodiment of the present application;
FIG. 10 is a schematic diagram of a frame structure of an object-class in a PECP according to one embodiment of the application;
FIG. 11 is a second diagram illustrating a frame structure of an object-class in PECP according to one embodiment of the application;
FIG. 12 is a third flow chart of a communication method according to an embodiment of the present application;
fig. 13 is a schematic structural diagram of a communication device according to an embodiment of the present application;
fig. 14 is a second schematic structural diagram of a communication device according to an embodiment of the present application;
fig. 15 is a third schematic structural diagram of a communication device according to an embodiment of the present application;
Fig. 16 is a schematic structural diagram of a communication device according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings in the embodiments of the present application. In the embodiments of the present application, the words "first", "second", etc. are used to distinguish identical items or similar items having substantially identical functions and actions. It will be appreciated by those of skill in the art that the words "first," "second," and the like do not limit the amount and order of execution, and that the words "first," "second," and the like do not necessarily differ. Meanwhile, in the embodiments of the present application, words such as "exemplary" or "such as" are used to mean serving as examples, illustrations or explanations. Any embodiment or design described herein as "exemplary" or "e.g." in an embodiment should not be taken as preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "such as" is intended to present related concepts in a concrete fashion that may be readily understood.
In order to facilitate the understanding of the solution, first, an application scenario of the technical solution provided by the embodiment of the present application is described in an exemplary manner. Fig. 1 is a schematic structural diagram of a cloud computing system according to an embodiment of the present application.
The cloud computing system 10 includes a plurality of computing nodes (e.g., computing nodes 102, 103, and 104 are illustrated in fig. 1) and one or more terminals (e.g., terminal 105 is illustrated in fig. 1). The terminal can transmit the service data to the computing node through a transmission network so as to process the data by using the computing power of the computing node. In addition, after processing the service data, the computing node can also feed back the processing result to the terminal through the transmission network.
As shown in fig. 1, the transmission network includes a terminal-side gateway connected to a terminal (e.g., a terminal-side gateway 106 connected to a terminal 105 is shown in fig. 1), and a computing-side gateway connected to a computing node (e.g., a computing-side gateway 107 connected to a computing node 102 and a computing node 103 and a computing-side gateway 108 connected to a computing node 104 are shown in fig. 1). In addition, the terminal-side gateway and the computation-side gateway are connected through one or more network nodes (e.g., the terminal-side gateway 106 is connected to the computation-side gateway 107 through the router 109, and the terminal-side gateway 106 is also connected to the computation-side gateway 108 through the router 110).
In addition, the transmission network may further include a controller 101 for controlling each network node in the transmission network (for example, the controller 101 may be used for controlling the terminal-side gateway 106, the router 109, the router 110, the computation-side gateway 107, and the computation-side gateway 108). For example, the controller 101 is configured to send a routing policy or the like to network nodes such as a terminal-side gateway 106, a router 109, a router 110, a computation-side gateway 107, and a computation-side gateway 108 in the transport network.
In the actual application process, the controller 101 may be an independent hardware device. For example, the controller 101 may be a device independent of other network nodes in the transport network (i.e., network nodes such as routers, gateways, etc.). Or the functions of the controller 101 may be implemented by a device capable of implementing the functions of a plurality of network nodes. For example, a device that realizes the functions of the controller 101 can also realize the functions of network nodes such as other routers and gateways (e.g., a terminal-side gateway, or routers, or a computation-side gateway). In other words, this time can be understood as: the controller 101 and other routers and gateways are built in the same hardware device. The hardware form of the controller 101 is not limited in the embodiment of the present application.
In the related art, after the terminal 105 sends the service data to the transmission network, each network node in the transmission network can select a transmission path with better transmission performance according to the current network attribute (where the network attribute may include information such as bandwidth, delay or bit error rate of each segment of transmission path in the transmission network), so as to forward the service data to one of the multiple computing nodes. For example, after receiving the service data, if it is determined that there is congestion in the path between the terminal side gateway 106 and the router 109 according to the current network attribute, and in addition, there is no congestion in the path between the terminal side gateway 106 and the router 110, the terminal side gateway 106 forwards the service data to the router 110. The service data then passes through the router 110 and the computation side gateway 108, eventually reaches the computation node 104, and is processed in the computation node 104.
However, in the embodiment of the present application, it is considered that in the above technical solution for forwarding service data to computing nodes, although transmission resources in a transmission network can be utilized relatively efficiently, in an application process of the above technical solution, there may be a case that resource utilization efficiency of each computing node is low. For example, continuing the above example, in the case where there is congestion in the path between the terminal-side gateway 106 and the router 109, and there is no congestion in the path between the terminal-side gateway 106 and the router 110, if the above technical solution is adopted, there may occur a situation where the computing node 104 continues to operate under high load on the one hand, and the computing resources of the computing node 102 and the computing node 103 are idle on the other hand.
In view of the above technical problems, in the embodiment of the present application, a communication method is provided, where an appropriate computing node (for example, a computing node with the lowest utilization rate or a computing node meeting the computing power requirement of a service) can be determined according to computing power information of each computing node, so that when a network node in a transmission network forwards service data, the service data can be forwarded to the determined computing node. In this way, in the forwarding process of the service data, the computing nodes selected to be forwarded by the network node are determined according to the computing power information of each computing node, so that the effect of reasonably distributing the computing power resources can be achieved.
The communication method provided by the embodiment of the present application is described below by taking the process that the controller 101 obtains the calculation power information of each calculation node, determines an appropriate calculation node according to the calculation power information of each calculation node, and controls the network node to forward the service data to the determined calculation node when the network node forwards the service data as an example.
As shown in fig. 2, the method may include:
S201, the controller 101 obtains calculation force information corresponding to the n calculation nodes respectively.
Wherein n is a positive integer. Taking fig. 1 as an example, the n computing nodes may include: compute node 102, compute node 103, and compute node 104.
In addition, the "computing power information corresponding to the computing node" in the embodiment of the present application may include various kinds of information capable of reflecting how much computing power resources are available to the current computing node.
For example, computing the power information of the node may specifically include: a central processing unit (central processing unit, CPU) attribute, such as the upper performance limit of the CPU, the currently used duty cycle of the CPU, etc.; image processor (graphics processing unit, GPU) attributes, such as the upper limit of the GPU's performance, the current used duty cycle of the GPU; a neural network processor (neural network processing unit, NPU) attribute, such as an upper performance limit of the NPU, a currently used duty cycle of the NPU; memory attributes such as maximum capacity of memory, currently used duty cycle of memory, etc.; hard disk attributes such as maximum capacity of the hard disk, currently used duty ratio of the hard disk, etc.; transmission bandwidth attributes such as maximum bandwidth of transmission bandwidth, currently used duty ratio, and the like; the connection number attribute, such as the maximum connection number of the computing node and the current connection number.
Hereinafter, a detailed description will be given of a specific implementation process of the controller 101 for obtaining the computing power information corresponding to each of the n computing nodes, in combination with an example.
S202, the controller 101 determines a target computing node from the n computing nodes according to the computing power information corresponding to the n computing nodes.
In one implementation manner, the controller 101 may determine, from the n computing nodes, a target computing node with the lowest computing power utilization rate as the target computing node according to computing power information corresponding to the n computing nodes.
In practical application, the specific standard with the lowest calculation force utilization rate can be set according to the needs.
For example, the calculation force utilization rate may be specifically reflected as: the occupancy of the computing power information of one or more of the computing nodes is lowest. Illustratively, the lowest computing power utilization rate may refer to the lowest CPU occupancy rate, the lowest GPU occupancy rate, the lowest NPU occupancy rate, the lowest memory occupancy rate, and so on.
For another example, the calculation force utilization rate may be specifically reflected as: and carrying out weighted calculation on the calculation force information of multiple items of the calculation nodes, and determining the calculation force utilization rate according to the calculation result. For example, the summation result may be used as the computational power utilization of the computing node by performing weighted summation on one or more of the CPU occupancy rate, the GPU occupancy rate, the NPU occupancy rate, and the memory occupancy rate of the computing node. Wherein, the computational power utilization ratio of the computational node with the lowest summation result is the lowest.
In another implementation, the controller 101 may determine Fu Gesuan the target computing node of the force demand from the n computing nodes according to the respective corresponding computing force information of the n computing nodes and the computing force demand of the certain service.
For example, the power demand of a business includes: the power demand X for CPU, the power demand Y for GPU and the demand Z for memory. The computing node satisfying the above requirements X, Y and Z among the n computing nodes is taken as the target computing node. For example, if the occupation of the memory space by the service a is large, the computing node with the large memory residual space is used as the target computing node corresponding to the service a; for another example, if the demand of the service B on the CPU is high, the computing node with high CPU frequency is taken as the target computing node of the service B.
S203, the controller 101 generates a routing policy.
The routing policy is used for indicating that the service data is forwarded to the target computing node after the service data is received.
In this way, after the controller 101 sends the above-mentioned routing policy to the network node (for example, the terminal-side gateway 106) for forwarding the service data, the network node may forward the service data to the target computing node according to the routing policy, so as to achieve the effect of reasonably distributing the computing power resources.
For example, a calculation node with the lowest calculation power utilization rate among n calculation nodes is taken as the target calculation node. After the controller 101 sends the routing policy (indicating that the service data is forwarded to the target computing node) to the terminal-side gateway 106, the terminal-side gateway 106 forwards the service data to the target computing node with the lowest computational power utilization according to the routing policy. In this way, the computing power utilization rate of the target computing node can be provided, so that the effect of reasonably distributing computing power resources is achieved. After that, when the computing power utilization rate of the target computing node increases to a certain extent, if the computing power utilization rate of other computing nodes is lower, the controller 101 redetermines the target computing node, and by repeating the above process, the reasonable distribution of the computing power resources can be continuously maintained.
As another example, a computing node satisfying the computational power demand of the target service among the n computing nodes is taken as the target computing node. After the controller 101 sends the routing policy (indicating that the service data is forwarded to the target computing node) to the terminal-side gateway 106, the terminal-side gateway 106 forwards the service data of the target service to the target computing node according to the routing policy. Therefore, the matching degree between the computing node and the processed service is higher, and the effect of reasonably distributing the computing power resources is achieved.
In addition, it is understood that when the controller 101 and the network node for forwarding service data (e.g., the terminal-side gateway 106) are the same hardware device, the device may directly perform data forwarding by using the generated routing policy. Therefore, in this case, the controller 101 may not perform the process of transmitting the routing policy to the network node.
The following describes the communication method provided in fig. 2 in detail according to the embodiment of the present application in two implementation procedures.
In a first implementation, the target computing node is a computing node that meets the computational power requirements of the business. Then, as shown in fig. 3, the communication method provided in the embodiment of the present application specifically includes:
s301, the controller 101 acquires calculation force information corresponding to each of the n calculation nodes.
The information types specifically included in the computing power information corresponding to the computing node may refer to the content of S201 above, which is not described herein.
In addition, in one implementation design, the controller 101 obtains computing power information corresponding to each of the n computing nodes, including:
S301a, the controller 101 receives a border gateway protocol update (border gateway protocol update, BGP update) message (hereinafter referred to as a first BGP update message) from a computing side gateway (e.g., the computing side gateway 107 and the computing side gateway 108) for convenience of distinction.
The first BGP update message carries computing power information corresponding to one or more computing nodes. Wherein the one or more computing nodes are included in the n computing nodes.
That is, in the embodiment of the present application, BGP update messages may be used to send computing power information of the computing nodes to the controller 101.
Taking fig. 1 as an example, computing power information of a computing node may be acquired by the computing-side gateway 107 and the computing-side gateway 108, respectively. Then, the computing-side gateway 107 transmits the computing power information corresponding to the computing node 102 and the computing node 103 to the controller 101, and the computing-side gateway 108 transmits the computing power information corresponding to the computing node 104 to the controller 101. Finally, the controller 101 is enabled to obtain the computational power information corresponding to the n computational nodes (i.e., the computational power information corresponding to the computational nodes 102, 103, 104).
The following describes the carrying form of the computing power information in the first BGP update message in detail:
In particular, link state network layer reachability information (LINK STATE network layer reachability information, LINK STATE NLRI) may be utilized to carry the computing power information. For ease of distinction hereinafter, LINK STATE NLRI carrying the computing power information is referred to as first LINK STATE NLRI.
In a first specific design, the first LINK STATE NLRI may be an additional LINK STATE NLRI dedicated to carrying computing power information.
Further, the first BGP update message includes: first LINK STATE NLRI. The NLRI type of the first LINK STATE NLRI indicates that the NLRI is the NLRI corresponding to the computing power information.
For example, fig. 4 (a) shows a schematic frame structure of a first LINK STATE NLRI according to an embodiment of the present application. The NLRI type field is used to indicate the type LINK STATE NLRI. In the related art, the NLRI type may include a node NLRI (node NLRI), a link NLRI (link NLIR), a prefix NLIR (prefix NLRI), and the like. In the embodiment of the application, the NLRI field can be used for indicating that the NLRI is the NLRI corresponding to the calculation information.
As shown in fig. 4 (b), a Protocol ID (Protocol-ID) field, an Identifier (Identifier) field, a local node description (Local Node Descriptors) field, and an area description (Region Descriptors) field for indicating an algorithm node are included in the first LINK STATE NLRI.
As shown in fig. 4 (c), in the Region Descriptors field, information may be carried in the form of a type-length-value (TLV).
For example, in Region Descriptors fields, it may include: a prefix TLV for carrying a network address of the computing node (including information such as prefix length, IP-prefix, etc.), a color TLV for carrying a tunnel color (color) corresponding to the computing node, an RD TLV for carrying a route distinguisher (Route Distinguisher), a next hop TLV for carrying next hop (next hop) information, and VPN SID TLV for carrying a virtual private network segment route identifier (virtual private network segment identification, VPN SID) corresponding to the computing node, etc.
In a second specific design, the first LINK STATE NLRI may be a Prefix NLRI. The method specifically comprises the following steps: IPv4topology Prefix NLRI or IPv6 topology Prefix NLRI. That is, in the embodiment of the present application, the existing Prefix NLRI may be extended, so that the existing Prefix NLRI is used to carry the calculation information.
Further, the NLRI type of the first LINK STATE NLRI may be a Prefix NLRI.
For example, fig. 5 (a) shows a schematic frame structure of a first LINK STATE NLRI according to an embodiment of the present application. The NLRI type field is used to indicate the type LINK STATE NLRI. In the related art, the NLRI type may include a node NLRI (node NLRI), a link NLRI (link NLIR), a prefix NLIR (prefix NLRI), and the like. In the embodiment of the application, the NLRI field can be used for indicating the Prefix NLRI.
As shown in fig. 5 (b), the first LINK STATE NLRI includes a Protocol ID (Protocol-ID) field, an Identifier (Identifier) field, a local node description (Local Node Descriptors) field, and a prefix description (Prefix Descriptors) field.
An IP reachability information (IP reachability information) identification is included in the Prefix Descriptors field. Wherein, IP reachability information can be utilized to carry Route Distinguisher, VPN SID and other information corresponding to the computing node.
For example, as shown in fig. 5 (c), a frame structure is identified as IP reachability information. Wherein, a field carrying Route Distinguisher and VPN SID is added between Length and Prefix Length, which is used for indicating Route Distinguisher and VPN SID corresponding to the computing node.
In addition, in the embodiment of the present application, the computing power information corresponding to the computing node is carried in the Path Attribute (Path Attribute) corresponding to the first LINK STATE NLRI. For convenience of distinction, the Path Attribute carrying the calculation force information is hereinafter referred to as a first Path Attribute.
The first Path Attribute is described in two designs:
In a first specific design, a Path Attribute dedicated to carrying computing power information may be added.
Further, the first Path Attribute may be a Path Attribute for carrying the calculation force information.
In one alternative design, multiple paths Attribute may be added corresponding to different types of calculation information. That is, different types of computational power information are carried in different types of Path attributes.
Illustratively, as shown in fig. 6 (a), a frame structure of Path Attribute carrying computing power information of a computing node is shown. Wherein, the type of Path Attribute indicates the type of calculation force information carried by Path Attribute. For example, type may indicate that the Path Attribute is used for carrying: the upper performance limit of the CPU, the upper performance limit of the GPU, the current used duty cycle of the GPU, the upper performance limit of the NPU, the current used duty cycle of the NPU, the maximum capacity of the memory, the current used duty cycle of the memory, the maximum capacity of the hard disk, the current used duty cycle of the hard disk, the maximum bandwidth of the transmission bandwidth, the current used duty cycle, the maximum connection number of the computing node, the current connected number, and the like.
In another alternative design, a Path Attribute may be added to carry the calculation information. The computing force attributes of all types are carried in the value of Path Attribute as sub TLVs.
Illustratively, as shown in fig. 6 (b), there is another frame structure of Path Attribute carrying computing power information of a computing node. Wherein, the type of Path Attribute indicates that Path Attribute is used to carry computing power information. In addition, the value of the Path Attribute may include one or more sub TLVs for carrying different types of computing force attributes. As shown in fig. 6 (b), wherein sub type is used to indicate the type of the computing force attribute carried by the sub TLV. For example, the sub type may indicate that the sub TLV is used to carry: the upper performance limit of the CPU, the upper performance limit of the GPU, the current used duty cycle of the GPU, the upper performance limit of the NPU, the current used duty cycle of the NPU, the maximum capacity of the memory, the current used duty cycle of the memory, the maximum capacity of the hard disk, the current used duty cycle of the hard disk, the maximum bandwidth of the transmission bandwidth, the current used duty cycle, the maximum connection number of the computing node, the current connected number, and the like. The value of the sub type specifically carries the content of the calculation force attribute.
Exemplary, as shown in fig. 7, is a schematic diagram of a sub TLV in Path Attribute. Wherein, the sub type of the sub TLV indicates that the sub TLV is used to carry the computational power attribute of the CPU. The value of sub TLV carries the current frequency of CPU (i.e. CPU rate) and the maximum frequency of CPU (i.e. Max CPU rate).
The foregoing has generally described the use of LINK STATE NLRI to communicate computational power information between network nodes. It will be appreciated that in practical application, in the embodiment of the present application, the communication of the computational power information between the network nodes may also be implemented in other manners (e.g., path computation element protocol (Path Computation Element Protocol, PECP)). In this regard, the embodiments of the present application may not be limited.
In addition, in another implementation design, the controller 101 obtains computing power information corresponding to each of the n computing nodes, including:
S301b, the controller 101 receives computing force information corresponding to n computing nodes from the cloud management platform.
The cloud management platform is management equipment of the n computing nodes.
Specifically, in the present implementation, the controller 101 may also be connected to a management device of the computing node. For example, as shown in fig. 8, a cloud management platform 120 may also be included in the cloud computing system.
The cloud management platform 120 is connected to each computing node, and is used for managing the operation of each computing node. In addition, the cloud management platform 120 further provides some access interfaces, through which the controller 101 may access the cloud management platform 120, so as to obtain relevant information of the computing node, such as computing power information, and the like.
In addition, the method further comprises:
S302, the controller 101 obtains an Application-aware network identifier (Application-aware Networking identification, APN ID) and a computing power requirement corresponding to the APN ID.
Wherein, the APN ID may be understood as an identification corresponding to the target service. The calculation force requirement corresponding to the APN ID can be understood as the calculation force requirement corresponding to the target service.
In one implementation design, the controller 101 may also connect with a management device of the service to obtain service related information. For example, as shown in fig. 8, in the cloud computing system, the controller 101 is further connected to a service platform 130. Wherein the service platform 130 is used for managing services. Specifically, the service platform 130 may obtain the computing power requirement corresponding to each service. The service platform 130 may then send the APN ID corresponding to the service and the calculation force requirements to the controller 101. The controller 101 determines a corresponding target computing node from the n computing nodes according to the calculation force demand, and then transmits a routing policy (including an APN ID and the corresponding target computing node) to the terminal-side gateway 106. In this way, when the terminal 105 transmits the service data of the service, the APN ID may be carried in the service data; after receiving the APN ID, the terminal side gateway 106 forwards the service data to the target computing node according to the routing policy, so as to distribute the service data to the appropriate computing node, thereby achieving the effect of reasonably distributing the computing resources.
Thus, S302 may specifically include:
s302a, the controller 101 receives the calculation power demand information from the service platform 130.
The calculation force demand information comprises an APN ID and a first calculation force demand.
The service platform 130 may be a management device for various services. For example, the service platform 130 may be a service server or the like.
In another implementation design, it is contemplated that the computational power requirements of the service may be first acquired from the terminal 105 by the terminal-side gateway 106. The calculated force demand is then sent to the controller 101 by the terminal-side gateway 106.
Thus, S302 may specifically further include:
S302b, the controller 101 receives the calculation force demand information from the terminal-side gateway.
The calculation force demand information comprises an APN ID and a first calculation force demand.
In a specific design, the terminal-side gateway 106 may send the computational power demand information to the controller 101 through LINK STATE NLRI or PECP in BGP, or the like.
For example, when the terminal-side gateway 106 transmits the power demand information to the controller 101 through PECP, the configuration of the terminal-side gateway 106 is as shown in fig. 9.
The power calculation requirements of the memory, the hard disk, the CPU, the GPU and the NPU are respectively configured. Specific:
In "memory lower-limit < value > -upper-limit < value > [ weight < weight-value > ]", there is configured a minimum limit to memory (i.e., lower-limit < value >), a maximum limit to memory (i.e., upper-limit < value >), and a weight value of memory requirements in the total demand (i.e., weight < weight-value >). In addition, the computing power requirements of the hard disk, the CPU, the GPU and the NPU can be similarly understood, and will not be described herein.
Specifically, the calculation force demand information may be transmitted through the PECP by newly adding an Object-Class type for carrying the calculation force demand information in the PECP.
Illustratively, as shown in FIG. 10, an Object-Class frame structure is provided. Wherein a Class type is added to the Object-Class for indicating that the Object-Class carries the power demand information.
Further, multiple sub-TLVs may be included in the added Object-Class, where each sub-TLV is used to carry a computational force requirement, respectively. For example, FIG. 11 shows a schematic structure of a sub TLV included in an Object-Class.
Wherein a "ComputationType" field is used to indicate the type of the sub TLV. For example, the "ComputationType" field may be any one of 1-7. When the 'ComputationType' field is 1, indicating that the sub TLV carries the calculation power requirement of the whole server; when the "ComputationType" field is 2, indicating that the sub TLV carries the computational power requirements of a single service; when the 'ComputationType' field is 3, indicating that the sub TLV carries the computational power requirement of the CPU; when the "ComputationType" field is 4, indicating that the sub TLV carries the computational power requirement of the NPU; when the "ComputationType" field is 5, indicating that the sub TLV carries the computational power requirements of the GPU; when the 'ComputationType' field is 6, indicating that the sub TLV carries the computational power requirement of the memory; when the "ComputationType" field is 7, this sub TLV is indicated to carry the computational power requirements of the hard disk.
The "Length" field is used to indicate the value Length of the sub TLV.
The "weight" field is used to indicate the weight that the power demand occupies in the overall power demand.
The "Reserve" field is a reserved field, such as for extending the computational power unit (e.g., MB, GB, TB, PB or EB, etc.).
The "UpperLimit" field is used to carry information about the upper bound of the computing power.
The "LowerLimit" field is used to carry information about the lower bound of the computing power.
After the controller 101 obtains the calculation force demand information, the method further includes:
S303, the controller 101 determines a target computing node meeting the first computing force requirement from the n computing nodes according to computing force information corresponding to the n computing nodes.
For example, a first computing force demand, comprising: the power demand X for CPU, the power demand Y for GPU and the demand Z for memory. The controller 101 takes as the target computing node the computing node satisfying the above-described requirements X, Y and Z among the n computing nodes. For example, if the occupation of the memory space by the service a is larger, according to the first calculation power requirement (i.e., the calculation power requirement corresponding to the APN ID corresponding to the service a), the calculation node with the larger memory remaining space may be used as the target calculation node; for further example, if the demand of the service B on the CPU is high, according to the first power demand (i.e., the power demand corresponding to the APN ID corresponding to the service B), the computing node with high CPU frequency may be used as the target computing node.
S304, the controller 101 generates a routing policy.
The routing policy is specifically configured to instruct forwarding of service data to a target computing node after receiving the service data carrying the APN ID.
S305, the controller 101 sends the routing policy to the network node.
In a specific design, the controller 101 may send the routing policy to the network nodes such as the terminal side gateway 106, the computing side gateway 107, etc. through BGP flow specifications (BGP Flowspec), EVPN, or PECP, so that the network nodes forward data according to the routing policy.
In one implementation design, controller 101 may send the routing policy to the network node by sending BGP Flowspec a message to the network node (which carries the routing policy described above).
Illustratively, a new type may be extended in Flowspec for carrying the APN ID and corresponding routing policy.
For example, in Flowspec, type is defined as follows:
Type XX–APN ID
Encoding:<type(1octet),[op,value]+>
Defines a list of{operation,value}pairs used to match the APN ID of packet.Values are encoded as 128bits.
in addition, the static flowspec configuration is as follows:
Flow-route
if-match apnid 1000
apply redirect ipv6 1::1color 200
thus, when the network node receives the service data with APN ID of 1000, the service data is redirected to SRv tunnels with color of 200 and endpoint of 1:1 according to the configuration. It should be noted that, here, the redirection of the service data to the SRv tunnel is taken as an example; it will be appreciated that in other embodiments the effect of forwarding traffic data according to the routing policy described above may also be achieved by redirecting traffic into other types of VPNs. The embodiment of the application is not limited.
In another implementation design, controller 101 may configure a mapping between an APN ID and a tunnel at a network node by sending a routing policy to the network node (e.g., terminal-side gateway 106).
For example, configuration information on the network node is as follows:
Mapping-policy color 100
apnid-id x1 srv6 policy 10
apnid-id x2 srv6 policy 20
srv6 policy 10endpoint 1::1color 10
srv6 policy 20endpoint 1::1color 20
Wherein, the service data with APN ID x1 corresponds to SRv policy 10, and the service data with APN ID x2 corresponds to SRv policy 20.SRv 6Policy 10 is a tunnel with 1:1 target node and 10 color, SRv Policy 20 is a tunnel with 1:1 target node and 20 color.
In a second implementation, the target computing node is the computing node with the lowest computing power utilization. Then, as shown in fig. 12, the communication method provided in the embodiment of the present application specifically includes:
s401, the controller 101 acquires calculation force information corresponding to each of the n calculation nodes.
The specific implementation process of the controller 101 for obtaining the computing power information corresponding to each of the n computing nodes may refer to the corresponding content in S201 and S301 above, which is not described herein.
Specifically, the controller 101 may obtain the computing power information corresponding to each computing node from the cloud management platform 120 or from the computing side gateway 107.
S402, the controller 101 determines a target computing node with the lowest computing power utilization rate from the n computing nodes according to computing power information corresponding to the n computing nodes.
In practical application, the specific standard with the lowest calculation force utilization rate can be set according to the needs.
For example, the calculation force utilization rate may be specifically reflected as: the occupancy of the computing power information of one or more of the computing nodes is lowest. Illustratively, the lowest computing power utilization rate may refer to the lowest CPU occupancy rate, the lowest GPU occupancy rate, the lowest NPU occupancy rate, the lowest memory occupancy rate, and so on.
For another example, the calculation force utilization rate may be specifically reflected as: and carrying out weighted calculation on the calculation force information of multiple items of the calculation nodes, and determining the calculation force utilization rate according to the calculation result. For example, the summation result may be used as the computational power utilization of the computing node by performing weighted summation on one or more of the CPU occupancy rate, the GPU occupancy rate, the NPU occupancy rate, and the memory occupancy rate of the computing node. Wherein, the computational power utilization ratio of the computational node with the lowest summation result is the lowest.
S403, the controller 101 generates a routing policy.
The routing policy is specifically configured to instruct forwarding of the service data to the target computing node after receiving the service data. That is, after receiving the service data of each service, the network node configured with the routing policy forwards the service data of each service to the target computing node.
S404, the controller 101 sends the routing policy to the network node.
For example, the controller 101 transmits the routing policy to the network nodes such as the terminal-side gateway 106 and the computation-side gateway 107, so that the network nodes forward data according to the routing policy.
Specifically, the controller 101 may send the routing policy to the network nodes such as the terminal side gateway 106, the computing side gateway 107, etc. through BGP flow specifications (BGP Flowspec), EVPN or PECP, so that the network nodes forward data according to the routing policy.
The specific implementation process of S404 may refer to the content of S305, and will not be repeated here.
In the method provided by the embodiment of the application, the appropriate computing node can be determined according to the computing power information of each computing node, and (for example, the computing node with the lowest utilization rate or the computing node meeting the computing power requirement of the service) further can forward the service data to the determined computing node when the network node in the transmission network forwards the service data. In this way, in the forwarding process of the service data, the computing nodes selected to be forwarded by the network node are determined according to the computing power information of each computing node, so that the effect of reasonably distributing the computing power resources can be achieved.
Based on the above method embodiments, the following describes the device provided in the embodiments of the present application. Fig. 13 is a schematic structural diagram of a communication device according to an embodiment of the present application. In particular, the communication device 50 may be used to implement the functionality of the controller 101 of fig. 2, 3 or 12.
Referring to fig. 13, the communication apparatus 50 includes an acquisition unit 501 and a processing unit 502. These units may perform the respective functions of the devices in the method examples described above.
Specifically, the acquiring unit 501 is configured to acquire computing power information corresponding to each of the n computing nodes.
And the processing unit 502 is configured to determine a target computing node from the n computing nodes according to the computing power information corresponding to the n computing nodes respectively.
The processing unit 502 is further configured to generate a routing policy, where the routing policy is used to instruct forwarding of the service data to the target computing node after receiving the service data.
In one implementation manner, the obtaining unit 501 is configured to obtain computing power information corresponding to each of n computing nodes, and includes:
the obtaining unit 501 is specifically configured to receive a BGP update message from a second network node, where the BGP update message carries computing power information corresponding to one or more computing nodes; the n computing nodes include the one or more computing nodes.
In one implementation, the first BGP update message includes first link state network reachability information LINK STATE NLRI; the NLRI type of the first LINK STATE NLRI is Prefix NLRI, or the NLRI type of the first LINK STATE NLRI indicates that the NLRI is the NLRI corresponding to the calculation force information; the computing power information corresponding to the one or more computing nodes is carried in a first Path Attribute corresponding to the first LINK STATE NLRI.
In one implementation, the first LINK STATE NLRI includes a route identifier RD field, and/or the first LINK STATE NLRI includes a virtual private network segment route identifier VPN SID corresponding to the computing node.
In one implementation, the first Path Attribute is a Path Attribute for carrying computing power information.
In one implementation, the first Path Attribute includes a plurality of sub-type-length-values subTLV therein, each subTLV of the plurality subTLV being configured to carry a different type of computational force Attribute, respectively.
In one implementation, the computing force attributes include: one or more of CPU attribute, GPU attribute, NPU attribute, memory attribute, hard disk attribute, transmission bandwidth attribute, and connection number attribute.
In one implementation manner, the obtaining unit 501 is configured to obtain computing power information corresponding to each of n computing nodes, and includes:
The obtaining unit 501 is configured to receive computing power information corresponding to n computing nodes from the cloud management platform. The cloud management platform is management equipment of the n computing nodes.
In one implementation, the obtaining unit 501 is further configured to obtain an application-aware network identifier APN ID and a first computing power requirement corresponding to the APN ID.
The processing unit 502 is configured to determine, according to the computing power information corresponding to the n computing nodes, a target computing node from the n computing nodes, where the determining includes:
the processing unit 502 is configured to determine, from the n computing nodes, the target computing node that meets the first computing power requirement according to computing power information corresponding to the n computing nodes respectively; the routing policy is specifically configured to instruct, after receiving service data carrying the APN ID, forwarding the service data to the target computing node.
In one implementation, the obtaining unit 501 is configured to obtain an application-aware network identifier APN ID and a first computing power requirement corresponding to the APN ID, and includes:
the acquiring unit 501 is configured to receive computing power requirement information from a service platform; the calculation force demand information comprises a corresponding relation between the APN ID and the first calculation force demand; or the acquisition unit 501 is configured to receive the calculation force demand information from the terminal-side gateway device.
In one implementation, the processing unit 502 is configured to determine, according to the computing power information corresponding to each of the n computing nodes, a target computing node from the n computing nodes, where the determining includes:
the processing unit 502 is configured to determine, according to the computing power information corresponding to each of the n computing nodes, a target computing node with a lowest computing power utilization rate from the n computing nodes.
In one implementation, the processing unit 502 is further configured to send the routing policy to the third network node through BGP flow specification Flowspec, ethernet virtual private network EVPN, or path computation element protocol PECP; the third network node is a terminal side gateway for receiving service data.
Fig. 14 is a schematic structural diagram of another communication device according to an embodiment of the present application. In particular, the communication device 60 may be used to implement the functionality of the computing side gateway of fig. 2,3 or 12.
Referring to fig. 14, the communication apparatus 60 includes an acquisition unit 601 and a communication unit 602. These units may perform the respective functions of the devices in the method examples described above.
Specifically, the acquiring unit 601 is configured to acquire computing power information corresponding to one or more computing nodes.
A communication unit 602, configured to send a first BGP update message to a second network node; the first BGP update message carries computing power information corresponding to the one or more computing nodes.
In one implementation, the first BGP update message includes first link state network reachability information LINK STATE NLRI; the NLRI type of the first LINK STATE NLRI is Prefix NLRI, or the NLRI type of the first LINK STATE NLRI indicates that the NLRI is the NLRI corresponding to the calculation force information; the computing power information corresponding to the one or more computing nodes is carried in a first Path Attribute corresponding to the first LINK STATE NLRI.
In one implementation, the first LINK STATE NLRI includes a route identifier RD field, and/or the first LINK STATE NLRI includes a virtual private network segment route identifier VPN SID corresponding to the computing node.
In one implementation, the first Path Attribute is a Path Attribute for carrying computing power information.
In one implementation, the first Path Attribute includes a plurality of sub-type-length-values subTLV therein, each subTLV of the plurality subTLV being configured to carry a different type of computational force Attribute, respectively.
In one implementation, the computing force attributes include: one or more of CPU attribute, GPU attribute, NPU attribute, memory attribute, hard disk attribute, transmission bandwidth attribute, and connection number attribute.
Fig. 15 is a schematic diagram of another possible configuration of the communication device involved in the above-described method embodiment. In particular, the communication device 70 may be used to implement the functions of the controller 101 in fig. 2,3 or 12, or the communication device 70 may be used to implement the functions of the computing side gateway in fig. 2,3 or 12.
Referring to fig. 15, the communication device 70 includes: all or part of the hardware in the processor 701, communication interface 702, and memory 703. Where the number of processors 701 in the communication device 70 may be one or more, one processor is illustrated in fig. 15. In an embodiment of the application, processor 701, communication interface 702, and memory 703 may be connected by a bus system or other means, such as by bus system 704 in FIG. 15.
The processor 701 may be a central processor (central processor unit, CPU), a network processor (network processor, NP), or a combination of CPU and NP. The processor 3001 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (programmable logic device, PLD), or a combination thereof. The PLD may be a complex programmable logic device (complex programmable logic device, CPLD), a field-programmable gate array (FPGA) GATE ARRAY, generic array logic (GENERIC ARRAY logic, GAL), or any combination thereof.
The communication interface 702 is used for receiving and transmitting data, and in particular, the communication interface 702 may include a receiving interface and a transmitting interface. Wherein the receiving interface may be used for receiving data and the transmitting interface may be used for transmitting data. The number of communication interfaces 702 may be one or more.
The memory 703 may include volatile memory (RAM), such as random-access memory (RAM); the memory 3003 may also include a non-volatile memory (non-volatile memory), such as a flash memory (flash memory), a hard disk (HARD DISK DRIVE, HDD) or a solid state disk (solid-state drive-STATE DRIVE, SSD); memory 3003 may also include combinations of the above types of memory.
The memory 703 optionally stores an operating system and programs, executable modules or data structures, or a subset thereof, or an extended set thereof, wherein the programs may include various operational instructions for performing various operations. The operating system may include various system programs for implementing various underlying services and handling hardware-based tasks. The processor 701 may read the program in the memory 703 to implement the method provided by the embodiment of the present application.
The memory 703 may be a memory device in the communication device 70, or may be a memory device independent of the communication device 70.
Bus system 704 may be a peripheral component interconnect (PERIPHERAL COMPONENT INTERCONNECT, PCI) bus or an extended industry standard architecture (extended industry standard architecture, EISA) bus, among others. The bus system 3004 may be divided into an address bus, a data bus, a control bus, and the like. For ease of illustration, only one thick line is shown in fig. 15, but not only one bus or one type of bus.
Fig. 16 is a schematic structural diagram of another communication device provided in the embodiment of the present application, specifically, the communication device 80 may be used to implement the functions of the controller 101 in fig. 2, 3 or 12, or the communication device 80 may be used to implement the functions of the computing side gateway in fig. 2, 3 or 12.
The communication device 80 includes: a main control board 801 and an interface board 803.
The main control board 801 is also called a main processing unit (main processing unit, MPU) or a routing processing card (route processor card), and the main control board 801 controls and manages various components in the communication apparatus 80, including routing computation, device management, device maintenance, and protocol processing functions. The main control board 801 includes: a central processor 8011 and a memory 8012.
The interface board 803 is also referred to as a line interface unit card (line processing unit, LPU), line card, or service board. The interface board 803 is used to provide various service interfaces and to implement forwarding of data packets. The service interfaces include, but are not limited to, ethernet interfaces, such as flexible ethernet service interfaces (flexible ETHERNET CLIENTS, flexE Clients), POS (Packet over SONET/SDH) interfaces, and the like. The interface board 803 includes: a central processor 8031, a network processor 8032, an address table entry memory 8034, and a physical interface card (PHYSICAL INTERFACE CARD, PIC) 8033.
The central processor 8031 on the interface board 803 is used for controlling and managing the interface board 803 and communicating with the central processor 8011 on the main control board 801.
The network processor 8032 is configured to implement forwarding processing of the packet. The network processor 8032 may be in the form of a forwarding chip. Specifically, the processing of the uplink message includes: processing a message input interface and searching a forwarding table; the processing of the downstream message includes forwarding table lookup and the like.
The physical interface card 8033 is used to implement the docking function of the physical layer, from which the original traffic enters the interface board 803, and from which the processed messages are sent out from the physical interface card 8033. Physical interface card 8033 includes at least one physical interface, also known as a physical port. The physical interface card 8033, also called a daughter card, may be mounted on the interface board 803, and is responsible for converting the photoelectric signal into a message, performing validity check on the message, and forwarding the message to the network processor 8032 for processing. In some embodiments, the central processor 8031 of the interface board 1103 may also perform the functions of the network processor 8032, such as implementing software forwarding based on a general purpose CPU, so that the network processor 8032 is not required in the physical interface card 8033.
Optionally, the communication device 80 comprises a plurality of interface boards, e.g. the communication device 80 further comprises an interface board 804, the interface board 804 comprising: a central processor 8041, a network processor 8042, an address table entry memory 8044, and a physical interface card 8043.
Optionally, the communication device 80 further comprises a switch board 802. Switch board 802 may also be referred to as a switch board unit (switch fabric unit, SFU). In the case where the first communication device has a plurality of interface boards 803, the switching network board 802 is used to complete data exchange between the interface boards. For example, the interface board 803 and the interface board 804 may communicate through the switch fabric 802.
The main control board 801 and the interface board 803 are coupled. For example. The main control board 801, the interface board 803 and the interface board 804 are connected with the system backboard through a system bus to realize intercommunication among the exchange network boards 802. In one possible implementation, an inter-process communication protocol (inter-process communication, IPC) channel is established between the main control board 801 and the interface board 803, and communication is performed between the main control board 801 and the interface board 803 through the IPC channel.
Logically, the communication device 80 includes a control plane including a main control board 801 and a central processor 8031, and a forwarding plane including various components performing forwarding, such as an address table entry memory 8034, a physical interface card 8033, and a network processor 8032. The control plane performs the functions of router, generating forwarding table, processing signaling and protocol message, configuring and maintaining the state of the equipment, etc., and the control plane transmits the generated forwarding table to the forwarding plane, and the network processor 8032 performs table lookup forwarding on the message received by the physical interface card 8033 based on the forwarding table transmitted by the control plane. The forwarding table issued by the control plane may be stored in address table entry memory 8034. In some embodiments, the control plane and the forwarding plane may be completely separate and not on the same device.
It is understood that the processing unit 802 in the communication device 80 may correspond to the central processor 8011 or the central processor 8031 in the communication device 80.
It should be understood that the operations on the interface board 804 are consistent with the operations of the interface board 803 in the embodiment of the present application, and are not repeated for brevity.
It should be understood that the master control board may have one or more pieces, and that the master control board may include a main master control board and a standby master control board when there are more pieces. The interface board may have one or more pieces, the more data processing capabilities the communication device 80 is, the more interface boards are provided. The physical interface card on the interface board may also have one or more pieces. The switching network board may not be provided, or may be provided with one or more blocks, and load sharing redundancy backup can be jointly realized when the switching network board is provided with the plurality of blocks. In the centralized forwarding architecture, the communication device 80 may not need to exchange network boards, and the interface board bears the processing function of the service data of the whole system. Under the distributed forwarding architecture, the communication device 80 may have at least one switch board, through which data exchange between multiple interface boards is implemented, providing high capacity data exchange and processing capabilities. Therefore, the data access and processing capacity of the communication device 80 of the distributed architecture is greater than that of the devices of the centralized architecture. Alternatively, the communication device 80 may be in the form of only one board, i.e. there is no switch board, and the functions of the interface board and the main control board are integrated on the one board, where the central processor on the interface board and the central processor on the main control board may be combined into one central processor on the one board, so as to perform the functions after stacking the two, and the data exchange and processing capability of the device in this form are low (for example, a low-end switch or a router, etc.). Which architecture is specifically adopted depends on the specific networking deployment scenario.
In some possible embodiments, the above-mentioned communication apparatus may be implemented as a virtualized device. For example, the virtualized device may be a Virtual Machine (VM) running a program for sending message functions, the virtual machine deployed on a hardware device (e.g., a physical server). Virtual machines refer to complete computer systems that run in a completely isolated environment with complete hardware system functionality through software emulation. The virtual machine may be configured as a communication device. For example, the functionality of the communication device may be implemented based on a generic physical server in combination with network function virtualization (network functions virtualization, NFV) technology. A person skilled in the art can virtually obtain the communication device with the above functions on the general physical server by combining the NFV technology by reading the present application, and the details are not repeated here.
The embodiment of the application also provides a chip, which comprises a processor and an interface circuit, wherein the interface circuit is used for receiving the instruction and transmitting the instruction to the processor; and a processor operable to perform the operations of the communication devices in the communication method described above. Wherein the processor is coupled to a memory for storing programs or instructions which, when executed by the processor, cause the system-on-a-chip to implement the method of any of the method embodiments described above.
Alternatively, the processor in the system-on-chip may be one or more. The processor may be implemented in hardware or in software. When implemented in hardware, the processor may be a logic circuit, an integrated circuit, or the like. When implemented in software, the processor may be a general purpose processor, implemented by reading software code stored in a memory.
Alternatively, the memory in the system-on-chip may be one or more. The memory may be integral with the processor or separate from the processor, and the application is not limited. The memory may be a non-transitory processor, such as a ROM, which may be integrated on the same chip as the processor, or may be separately provided on different chips, and the type of memory and the manner of providing the memory and the processor are not particularly limited in the present application.
The chip system may be a field programmable gate array (field programmable GATE ARRAY, FPGA), an application-specific integrated chip (ASIC), a system on chip (SoC), a central processing unit (central processor unit, CPU), a network processor (network processor, NP), a digital signal processing circuit (DIGITAL SIGNAL processor, DSP), a microcontroller (micro controller unit, MCU), a programmable controller (programmable logic device, PLD) or other integrated chip, for example.
The embodiments of the present application also provide a computer-readable storage medium comprising instructions or a computer program which, when run on a computer, causes the computer to perform the communication method provided by the above embodiments.
The embodiments of the present application also provide a computer program product comprising instructions or a computer program which, when run on a computer, cause the computer to perform the method of forwarding a message provided in the above embodiments.
The terms "first," "second," "third," "fourth" and the like in the description and in the claims and in the above drawings, if any, are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments described herein may be implemented in other sequences than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
It will be clear to those skilled in the art that, for convenience and brevity of description, specific working procedures of the above-described systems, apparatuses and units may refer to corresponding procedures in the foregoing method embodiments, which are not repeated herein.
In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, e.g., the division of units is merely a logical service division, and there may be additional divisions in actual implementation, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed over a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the embodiment of the present application.
Those skilled in the art will appreciate that in one or more of the examples described above, the services described herein may be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, the services may be stored in a computer-readable medium or transmitted as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a general purpose or special purpose computer.
The objects, technical solutions and advantageous effects of the present application have been described in further detail in the above embodiments, and it should be understood that the above are only embodiments of the present application.
The above embodiments are only for illustrating the technical solution of the present application, and not for limiting the same; although the application has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit of the application.

Claims (23)

1. A method of communication, comprising:
the first network node acquires computing power information corresponding to n computing nodes respectively;
the first network node determines a target computing node from the n computing nodes according to the computing power information respectively corresponding to the n computing nodes;
The first network node generates a routing policy, where the routing policy is used to instruct forwarding of service data to the target computing node after receiving the service data.
2. The method according to claim 1, wherein the first network node obtains computing power information corresponding to each of the n computing nodes, including:
the first network node receives a BGP update message updated by a first edge gateway protocol from a second network node, wherein the BGP update message carries computing power information corresponding to one or more computing nodes; the n computing nodes include the one or more computing nodes.
3. The method of claim 2 wherein the first BGP update message includes first link state network reachability information LINK STATE NLRI; the NLRI type of the first LINK STATE NLRI is Prefix NLRI, or the NLRI type of the first LINK STATE NLRI indicates that the NLRI is the NLRI corresponding to the calculation force information;
The computing power information corresponding to the one or more computing nodes is carried in a first Path Attribute corresponding to the first LINK STATE NLRI.
4. A method according to claim 3, wherein the first LINK STATE NLRI includes a route identifier RD field, and/or the first LINK STATE NLRI includes a virtual private network segment route identifier VPN SID corresponding to the computing node.
5. The method of claim 3 or 4, wherein the first Path Attribute is a Path Attribute for carrying computing power information.
6. The method of claim 5, wherein the first Path Attribute comprises a plurality of sub-type-length-values subTLV, each subTLV of the plurality subTLV being configured to carry a different type of computational force Attribute.
7. The method of claim 6, wherein the computational force attributes comprise: one or more of CPU attribute, GPU attribute, NPU attribute, memory attribute, hard disk attribute, transmission bandwidth attribute, and connection number attribute.
8. The method according to any one of claims 1-7, wherein the first network node obtaining computing power information corresponding to each of n computing nodes includes:
The first network node receives computing power information corresponding to n computing nodes from a cloud management platform respectively; the cloud management platform is management equipment of the n computing nodes.
9. The method according to any one of claims 1-8, further comprising:
the first network node obtains an application-aware network identifier APN ID and a first calculation force requirement corresponding to the APN ID;
The first network node determines a target computing node from the n computing nodes according to the computing power information respectively corresponding to the n computing nodes, and the method comprises the following steps:
The first network node determines the target computing node meeting the first computing force requirement from the n computing nodes according to computing force information respectively corresponding to the n computing nodes;
The routing policy is specifically configured to instruct, after receiving service data carrying the APN ID, forwarding the service data to the target computing node.
10. The method of claim 9, wherein the first network node obtaining the application-aware network identification APN ID and the first computational power requirement corresponding to the APN ID comprises:
The first network node receives calculation power demand information from a service platform; the calculation force demand information comprises a corresponding relation between the APN ID and the first calculation force demand;
Or the first network node receives the calculation force demand information from the terminal-side gateway device.
11. The method according to any one of claims 1-10, wherein the first network node determining a target computing node from the n computing nodes according to the computing power information respectively corresponding to the n computing nodes, includes:
And the first network node determines a target computing node with the lowest computing power utilization rate from the n computing nodes according to computing power information respectively corresponding to the n computing nodes.
12. The method according to any one of claims 1-11, further comprising:
The first network node sends the routing strategy to a third network node through BGP flow specifications Flowspec, ethernet virtual private network EVPN or path computation element protocol PECP; the third network node is a terminal side gateway for receiving service data.
13. A method of communication, comprising:
the first network node acquires computing power information corresponding to one or more computing nodes;
The first network node sends a first BGP update message to a second network node; the first BGP update message carries computing power information corresponding to the one or more computing nodes.
14. The method of claim 13 wherein the first BGP update message includes first link state network reachability information LINK STATE NLRI; the NLRI type of the first LINK STATE NLRI is Prefix NLRI, or the NLRI type of the first LINK STATE NLRI indicates that the NLRI is the NLRI corresponding to the calculation force information;
The computing power information corresponding to the one or more computing nodes is carried in a first Path Attribute corresponding to the first LINK STATE NLRI.
15. The method of claim 14, wherein the first LINK STATE NLRI includes a route identifier RD field, and/or wherein the first LINK STATE NLRI includes a virtual private network segment route identifier VPN SID corresponding to the computing node.
16. The method of claim 14 or 15, wherein the first Path Attribute is a Path Attribute for carrying computing power information.
17. The method of claim 16, wherein the first Path Attribute comprises a plurality of sub-type-length-values subTLV, each subTLV of the plurality subTLV being configured to carry a different type of computational force Attribute.
18. The method of claim 17, wherein the computational force attributes comprise: one or more of CPU attribute, GPU attribute, NPU attribute, memory attribute, hard disk attribute, transmission bandwidth attribute, and connection number attribute.
19. A communication device for application to a first network node, the communication device comprising:
the acquisition unit is used for acquiring the calculation force information corresponding to the n calculation nodes respectively;
the processing unit is used for determining a target computing node from the n computing nodes according to the computing power information respectively corresponding to the n computing nodes;
The processing unit is further configured to generate a routing policy, where the routing policy is used to instruct forwarding of the service data to the target computing node after receiving the service data.
20. A communication device, comprising:
the acquisition unit is used for acquiring computing power information corresponding to one or more computing nodes;
A communication unit, configured to send a first BGP update message to a second network node; the first BGP update message carries computing power information corresponding to the one or more computing nodes.
21. A communication device comprising a processor and an interface through which the processor receives or transmits data, the processor being configured to implement the method of any one of claims 1-12 or to implement the method of any one of claims 13-18.
22. The communication system is characterized by comprising a controller, a computing side gateway and a terminal side gateway; wherein the controller is configured to implement the method of any one of claims 1-12, and the computing-side gateway is configured to implement the method of any one of claims 13-18.
23. A computer readable storage medium having instructions stored therein for implementing the method of any of claims 1-12 or for implementing the method of any of claims 13-18 when the instructions are run on a processor.
CN202211360558.1A 2022-11-02 2022-11-02 Communication method and device Pending CN117997813A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211360558.1A CN117997813A (en) 2022-11-02 2022-11-02 Communication method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211360558.1A CN117997813A (en) 2022-11-02 2022-11-02 Communication method and device

Publications (1)

Publication Number Publication Date
CN117997813A true CN117997813A (en) 2024-05-07

Family

ID=90892294

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211360558.1A Pending CN117997813A (en) 2022-11-02 2022-11-02 Communication method and device

Country Status (1)

Country Link
CN (1) CN117997813A (en)

Similar Documents

Publication Publication Date Title
US11050586B2 (en) Inter-cloud communication method and related device, and inter-cloud communication configuration method and related device
CN112929273A (en) Method, equipment and system for processing route
CN113395735B (en) Message transmission method, device and network equipment
CN111083061B (en) Method, equipment and system for determining DF (distribution function) of multicast flow
US20230208751A1 (en) Packet forwarding method, device, and system
CN113542111A (en) Message forwarding method and network equipment
WO2022007702A1 (en) Message processing method and network device
CN115865769A (en) Message processing method, network equipment and system
US20230224241A1 (en) Path Identity Allocation Method, System, and Apparatus, Device, and Storage Medium
CN114760244B (en) Method, device and network equipment for transmitting Binding Segment Identification (BSID)
CN117997813A (en) Communication method and device
KR20230057459A (en) Routing information transmission method and device
CN113132129A (en) Network management method, device and system, and storage medium
CN113595915A (en) Method for forwarding message and related equipment
CN112751766A (en) Message forwarding method and device and computer storage medium
CN115150320B (en) Message transmission method, device and system
US20230224245A1 (en) Packet Transmission Method and Apparatus
WO2022143572A1 (en) Message processing method and related device
US11895020B1 (en) Virtualized cell site routers with layer 2 forwarding
WO2024087691A1 (en) Message processing method and related device
CN114629834B (en) Communication method and device
US20230388177A1 (en) Fault detection method, network device, and system
WO2023155733A1 (en) Network slice information transmission method and apparatus
WO2024021976A1 (en) Message processing method and related device
WO2022166464A1 (en) Packet transmission method and system, and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication