Network communication method and device, electronic equipment and storage medium

By calculating the security score of the path in a software-defined network and combining computing power information to dynamically determine the target path, the problem of lack of security considerations in path selection in the prior art is solved, and higher security and reliability are achieved.

CN119814632AActive Publication Date: 2025-04-11CHINA TELECOM CORP LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411836630.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-12
Publication Date
2025-04-11
Estimated Expiration
2044-12-12

AI Technical Summary

Technical Problem

Path selection in a software-defined network is mainly based on network performance, and lacks security considerations, resulting in insufficient security.

Method used

By introducing a security score computer system into the software-defined network, the security of each path is evaluated, and the computing power information of the intermediate nodes and the target nodes is dynamically determined to improve the security guarantee and computing power services of the path.

Benefits of technology

It realizes that while ensuring network performance, improves the security and reliability of paths, and ensures the security and efficiency of data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119814632A_ABST
    Figure CN119814632A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a network communication method, which comprises the following steps of: acquiring an initial node and a target node of a to-be-determined path in a software defined network, determining an initial path set between the initial node and the target node, calculating a security score of each initial path, determining a path score of each initial path according to the safety score, obtaining first computing power information of an intermediate node and second computing power information of a target node on each initial path, and determining a target path from the initial path set according to the path score of each initial path, the first computing power information and the second computing power information, the communication data of the starting node is acquired, the communication data is sent to the target node along the target path, and the target path between the starting node and the target node is dynamically determined in combination with the security score and the node computing power information, so that the security guarantee of the target path is improved, and the computing power service which can be provided by the target path is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of network communications, and in particular to methods, devices, electronic devices and storage media for network communications. Background Art

[0002] Software-Defined Networking (SDN) is a network architecture that separates the network control plane from the data plane, allowing network administrators to program and manage the network through a centralized controller. The core idea of ​​software-defined networking is to achieve network flexibility and programmability through a centralized controller, thereby improving network efficiency and manageability.

[0003] The network architecture of software-defined networks is divided into three layers: control plane, data plane, and management plane. Among them, the control plane is responsible for network control and protocol processing, including the calculation of routing protocols and the generation of routing tables, providing global network information, and facilitating operators and researchers to manage and configure networks and deploy new protocols. The data plane is responsible for data forwarding and processing, including forwarding data packets according to the instructions of the control plane. The data plane is composed of dumb switches and only provides simple data forwarding functions. It can quickly process matching data packets and adapt to the growing demand for traffic. The management plane includes the device management system and the business management system, which are responsible for the management of network topology, device interfaces, and device characteristics, and send configuration scripts to devices.

[0004] In related technologies, the path between two nodes in a software-defined network is usually statically configured, and path selection is mainly based on network performance, such as network latency, network bandwidth and other factors, without considering security. Summary of the invention

[0005] In view of the above problems, a method, device, electronic device and storage medium for network communication are proposed to overcome the above problems or at least partially solve the above problems, including:

[0006] A network communication method, characterized in that it is applied to a network controller in a software defined network, and the method comprises:

[0007] Obtaining a starting node and a target node of a path to be determined in the software defined network;

[0008] Determine an initial path set between the start node and the target node, the initial path set includes at least one initial path, and each initial path includes at least one intermediate node;

[0009] Calculating a safety score for each of the initial paths, and determining a path score for each of the initial paths according to the safety score;

[0010] Obtaining first computing power information of the intermediate nodes and second computing power information of the target nodes on each of the initial paths;

[0011] Determine a target path from the initial path set according to the path score of each of the initial paths, the first computing power information, and the second computing power information;

[0012] The communication data of the starting node is acquired, and the communication data is sent to the target node along the target path.

[0013] In an optional embodiment of the present application, the determining an initial path set between the start node and the target node includes:

[0014] Acquire a service type and link characteristic information of the software defined network, wherein the link characteristic information includes at least one of bandwidth, delay, and packet loss rate;

[0015] Determining a path threshold according to the service type and the link characteristic information;

[0016] According to the path threshold, an initial path set is screened out from a plurality of paths connecting the start node and the target node.

[0017] In an optional embodiment of the present application, determining a path score of each of the initial paths according to the safety score includes:

[0018] Inputting the node information in the target node into the preset large model for query to obtain the first path quantity;

[0019] Determining a first score of the target node according to the first number of paths;

[0020] The first score and the safety score are weightedly calculated to obtain a path score of the initial path.

[0021] In an optional embodiment of the present application, determining a path score of each of the initial paths according to the safety score includes:

[0022] Acquire a path query condition, and input the path query condition into a preset large model for query, to obtain the number of second paths that meet the path query condition;

[0023] Comparing the first path quantity with the second path quantity to obtain a second score;

[0024] The first score, the second score and the safety score are weighted to obtain a path score of the initial path.

[0025] In an optional embodiment of the present application, the target path includes a first path set, and determining the target path from the initial path set according to the path score of each of the initial paths, the first computing power information, and the second computing power information includes:

[0026] Obtaining service request data of the software defined network and determining computing power requirement information of the service request data;

[0027] When it is determined that the first computing power information of the intermediate node on the initial path meets the computing power requirement information, the initial path is added to the first path set.

[0028] In an optional embodiment of the present application, the target path further includes a second path set, and determining the target path from the initial path set according to the path score of each of the initial paths, the first computing power information, and the second computing power information includes:

[0029] When it is determined that the first computing power information of the intermediate node on the initial path does not meet the computing power requirement information, calculate the sum of the first computing power information and the second computing power information to obtain the total computing power information of the initial path;

[0030] When the total computing power information of the initial path meets the computing power requirement information, the initial path is added to the second path set.

[0031] In an optional embodiment of the present application, the acquiring the communication data of the starting node and sending the communication data to the target node along the target path includes:

[0032] When it is determined that the communication data carries computing power requirement information and the first computing power information of the intermediate node on the target path is not empty, the communication data is calculated at the intermediate node to obtain the calculated communication data;

[0033] The calculated communication data is sent to the target node along the target path.

[0034] A network communication device, characterized in that it is applied to a network controller in a software defined network, and the device comprises:

[0035] A node acquisition module, configured to acquire a start node and a target node of a path to be determined in the software defined network;

[0036] An initial set determination module is configured to determine an initial path set between the start node and the target node, wherein the initial path set includes at least one initial path, and each initial path includes at least one intermediate node;

[0037] a score determination module, configured to calculate a safety score of each of the initial paths, and determine a path score of each of the initial paths according to the safety score;

[0038] A computing power information acquisition module is configured to acquire first computing power information of the intermediate nodes and second computing power information of the target nodes on each of the initial paths;

[0039] a target path determination module, configured to determine a target path from the initial path set according to a path score of each of the initial paths, the first computing power information, and the second computing power information;

[0040] The data sending module is configured to obtain the communication data of the starting node and send the communication data to the target node along the target path.

[0041] An electronic device, characterized in that it includes a processor, a memory, and a computer program stored in the memory and capable of running on the processor, and when the computer program is executed by the processor, the method of network communication as described above is implemented.

[0042] A computer-readable storage medium, characterized in that a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the network communication method as described above is implemented.

[0043] The embodiments of the present application have the following advantages:

[0044] By obtaining the starting node and the target node of the path to be determined in the software-defined network, the initial path set between the starting node and the target node is determined, the initial path set includes at least one initial path, and each initial path includes at least one intermediate node. The security score of each initial path is calculated, and the path score of each initial path is determined according to the security score. The first computing power information of the intermediate node and the second computing power information of the target node on each initial path are obtained. According to the path score, the first computing power information and the second computing power information of each initial path, the target path is determined from the initial path set, the communication data of the starting node is obtained, and the communication data is sent to the target node along the target path. The target path between the starting node and the target node is dynamically determined in combination with the security score and the node computing power information, which not only improves the security of the target path, but also guarantees the computing power service that can be provided by the target path. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] In order to more clearly illustrate the technical solution of the present application, the drawings required for use in the description of the present application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0046] Figure 1 It is a flowchart of a method for network communication provided by an embodiment of the present application;

[0047] Figure 2 It is a Maestro controller structure provided by an embodiment of the present application;

[0048] Figure 3 It is a structural block diagram of a network communication device provided in one embodiment of the present application. DETAILED DESCRIPTION

[0049] In order to make the above-mentioned purposes, features and advantages of the present application more obvious and easy to understand, the present application is further described in detail below in conjunction with the accompanying drawings and specific implementation methods. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.

[0050] Reference Figure 1 , shows a flowchart of a method for network communication provided by an embodiment of the present application, which is applied to a network controller in a software defined network and may specifically include the following steps:

[0051] Step 101: Obtain a start node and a target node of a path to be determined in a software defined network.

[0052] The network controller is a core component in the Software-Defined Networking (SDN) architecture. It acts as the brain of the network, responsible for centrally managing and controlling the logic and behavior of the entire network. The controller communicates with network devices (such as switches and routers) to dynamically allocate and optimize network resources.

[0053] In software-defined networking, the start node refers to the starting point of the network path, that is, the sending end of the data packet or traffic. In SDN, the start node is usually a network device (such as a switch, router, or terminal device) that generates and sends data packets to the network. The start node is the first step in determining the path because it determines the initial location of the data packet. The controller or application needs to know the start node to calculate the appropriate path.

[0054] The destination node is the end point of the network path, that is, the receiving end of the data packet or traffic. In SDN, the destination node is usually also a network device (such as a switch, router, or terminal device) that receives and processes the data packet from the starting node. The destination node is the second step in determining the path because it determines the final destination of the data packet. The controller or application needs to know the destination node to calculate the complete path. In SDN, the determination of the path is usually the responsibility of the controller.

[0055] After obtaining the starting node and target node of the path to be determined, the controller will calculate the best path from the starting node to the target node based on factors such as network topology, traffic demand, and strategy.

[0056] Step 102: determining an initial path set between a start node and a target node, wherein the initial path set includes at least one initial path, and each initial path includes at least one intermediate node.

[0057] The initial path set refers to the path set initially generated when determining the path between the start node and the target node, or the path set that meets the preliminary screening conditions and is generated based on certain preliminary screening conditions. This set contains at least one initial path, and each initial path includes at least one intermediate node. The initial path set is the starting point for path calculation and optimization, and may be adjusted and optimized later based on network status, policies, and requirements.

[0058] Assume that there are the following nodes in the network: starting node A, target node D, intermediate node B and intermediate node C. The initial path set may include path 1, path 2 and path 3. Path 1: A->B->D, path 2: A->C->D, path 3: A->B->C->D. These paths constitute the initial path set, and each path contains at least one intermediate node (B or C).

[0059] In some embodiments of the present application, step 102 may include the following sub-steps:

[0060] Sub-step 11: Obtain service type and link characteristic information of the software-defined network, where the link characteristic information includes at least one of bandwidth, delay, and packet loss rate.

[0061] The service type information describes different service types carried in the network. In some implementations of this embodiment, the information of different service types carried in the network can be obtained through the SDN controller. The service types may include video streaming, file transfer, real-time communication, financial transactions, etc.

[0062] The link characteristic information describes the performance characteristics of the network link. Bandwidth refers to the available bandwidth of the link, which indicates the maximum data transmission capacity of the link; delay refers to the transmission delay of the link, which indicates the time it takes for a data packet to travel from the sender to the receiver; and packet loss rate refers to the packet loss rate of the link, which indicates the proportion of data packets lost during transmission.

[0063] Sub-step 12: Determine the path threshold according to the service type and link characteristic information.

[0064] Path thresholds refer to the performance and quality requirements set for network paths based on service types and link characteristics. Path thresholds are used to ensure that paths meet predetermined performance standards when carrying specific services.

[0065] According to the analysis results of service type and link characteristics, set corresponding path thresholds for each path. The path thresholds should meet the bandwidth threshold, delay threshold, packet loss rate threshold, etc. The bandwidth threshold ensures that the bandwidth of the path can meet the service requirements and avoid congestion and performance degradation caused by insufficient bandwidth; the delay threshold ensures that the delay of the path is within an acceptable range and avoids excessive delay affecting the performance of real-time services; the packet loss rate threshold ensures that the packet loss rate of the path is within an acceptable range and avoids excessive packet loss rate causing a decrease in the reliability of data transmission.

[0066] In other embodiments of the present application, a nearest neighbor distance threshold can also be set during the path determination process. In a software defined network (SDN), the nearest neighbor distance threshold refers to a threshold used to determine the shortest distance between nodes during path selection and optimization. This threshold is used to ensure that the distance between nodes is within an acceptable range during path selection to avoid performance degradation caused by too long paths. However, if the threshold is too small, the number of optimization targets in a cluster will be too large, and if the threshold is too large, outliers will be mistakenly absorbed into a certain class. For this reason, an adaptive threshold calculation method is designed here to determine the size of the nearest neighbor distance threshold based on the current state of the data transmitted in each node. The following is the nearest neighbor distance threshold calculation formula:

[0067]

[0068] Among them, max is the maximum value of the distance between samples, min is the minimum value of the distance between samples, and a is the adjustment parameter. is the average value of the distance between samples. The value a in the formula is adaptively adjusted according to the current clustering situation. If the current number of clusters is greater than a certain number (for example, greater than one-third of the total number of nodes), the number of optimization targets that have been clustered is small and there are more clusters. At this time, a smaller value a is set to reduce the nearest distance threshold, promote further clustering of the algorithm, and reduce the number of final clusters so that the target can be further simplified; otherwise, increase the value a to increase the nearest distance threshold and increase the number of clusters. Adding the average value to the nearest distance threshold formula can better consider the distribution of samples and avoid errors caused by the aggregation of distance values ​​between samples.

[0069] It should be noted that the adaptive nearest neighbor distance threshold here, in addition to being adjusted by parameter a, can also be adaptively adjusted according to the currently obtained approximate Pareto frontier. The approximate Pareto frontier refers to the approximate optimal solution set obtained by an algorithm or method in a multi-objective optimization problem. These solutions achieve a balance between multiple objective functions and are used for decision-making and optimization. According to the currently obtained approximate Pareto frontier, the parameters and strategies of the algorithm or method are dynamically adjusted to further optimize the quality and efficiency of the solution. Different Pareto frontiers are generated in the algorithm evolution stage, and their max, min and The values ​​are also different, so as to calculate different results corresponding to the above nearest neighbor distance threshold.

[0070] Sub-step 13: Based on the path threshold, an initial path set is selected from multiple paths connecting the start node and the target node.

[0071] The multiple paths connecting the start node and the target node refer to all the paths connecting the start node and the target node.

[0072] After the path threshold is determined, an initial path set that meets the path threshold can be screened out from all paths connecting the start node and the target node.

[0073] Step 103: Calculate the safety score of each initial path, and determine the path score of each initial path according to the safety score.

[0074] The security score refers to a value assigned to each path in the network based on the path's security characteristics and potential risks. This value reflects the path's ability to resist attacks, prevent data leakage, and ensure data integrity. The higher the security score, the better the path security.

[0075] In some implementations of this embodiment, the calculation factors of the security score include the node indestructibility of the intermediate nodes in the path, the number of alarms, the core business forwarding volume, and the transmission time when arriving at the destination node. Node indestructibility refers to the ability of each intermediate node in the path to maintain normal operation and provide services in the face of failures, attacks or other abnormal situations. The number of alarms refers to the number of alarm events generated by network equipment or systems during the path transmission process. Alarms usually indicate that abnormal conditions have occurred in the network, such as equipment failures, traffic anomalies, security threats, etc. The core business forwarding volume refers to the total amount of core business data traffic carried on the path. Core business usually refers to critical businesses with high requirements for network performance and stability, such as financial transactions, video conferencing, real-time data transmission, etc. The transmission time when arriving at the destination node refers to the total time it takes for a data packet to reach the target node from the starting node. The transmission time reflects the delay of the path and is an important indicator for evaluating path performance.

[0076] In some implementations of this embodiment, the invulnerability of the path node is evaluated by checking whether the node has a redundant design, the node's automatic recovery capability in the event of a failure, whether the node has effective safety protection measures, and the hardware quality and reliability of the node. Among them, whether the node has a redundant design, such as dual power supplies, dual network interfaces, etc.; the node's automatic recovery capability in the event of a failure, including hot backup, cold backup, etc.; whether the node has effective safety protection measures, including checking whether a firewall, intrusion detection system, etc. are configured; the hardware quality and reliability of the node mainly include the service life of the equipment, failure rate, etc. The higher the invulnerability, the more stable and reliable the node can remain in the face of adverse conditions.

[0077] In some implementations of this embodiment, the number of alarms is calculated by counting the number of alarm events generated during the path transmission process. The more alarms there are, the worse the stability and security of the path. The number of alarms may specifically include: the number of alarms generated by network devices (such as switches and routers); the number of alarms generated by network management systems (such as SDN controllers); and the number of alarms generated by security systems (such as firewalls and intrusion detection systems).

[0078] In some implementations of this embodiment, the core service forwarding volume is usually calculated by counting the total amount of core service data traffic carried on the path. The larger the core service forwarding volume, the heavier the load on the path, and the higher the performance and stability requirements for the path. The core service forwarding volume may specifically include: the type and importance of the core service, the total amount of core service data traffic, and the distribution of core service data traffic, such as peak traffic, average traffic, etc.

[0079] In some implementations of this embodiment, the transmission time when arriving at the destination node is usually calculated by measuring the actual transmission time of the data packet from the starting node to the destination node. The shorter the transmission time, the better the performance of the path. The transmission time to the destination node may specifically include: the transmission delay of each link on the path, the data packet processing time of each node on the path, and the data packet queuing waiting time of each node on the path.

[0080] When calculating the path score, the above factors can be taken into consideration, different weights can be assigned, and the comprehensive score of each path can be calculated. Suppose there are two paths:

[0081] Path 1: A->B->D, Path 2: A->C->D, the first step is to calculate the invulnerability of the nodes along the way. The redundancy design of Path 1 is 80, the fault recovery capability of Path 1 is 90, the safety protection of Path 1 is 70, and the hardware reliability of Path 1 is 85. The invulnerability score of Path 1 is 0.25×80+0.25×90+0.25×70+0.25×85=81.25. The redundancy design of Path 2 is 90, the fault recovery capability of Path 2 is 85, the safety protection of Path 2 is 80, and the hardware reliability of Path 2 is 90. Therefore, the invulnerability score of Path 2 is 0.25×90+0.25×85+0.25×80+0.25×90=86.25. The second step is to calculate the number of alarms. The number of device alarms on path 1 is 5, the number of system alarms on path 1 is 3, and the number of security alarms on path 1 is 2. Therefore, the number of alarms on path 1 = 5+3+2=10; the number of device alarms on path 2 is 3, the number of system alarms on path 2 is 2, and the number of security alarms on path 1 is 1. Therefore, the number of alarms on path 1 is 3+2+1=6; the third step is to calculate the forwarding volume of core services. The service type of path 1 is financial transactions, the traffic size is 100Gbps, and the traffic distribution is peak traffic of 120Gbps and average traffic of 80Gbps. Therefore, the forwarding volume of core services on path 1 is

[0082] =100Gbps; the service type of path 2 is video conferencing, the traffic size is 80Gbps, and the traffic distribution is peak traffic 100Gbps and average traffic 70Gbps. Therefore, the core service forwarding volume of path 2 is

[0083] =80Gbps; Step 4: Calculate the transmission time when reaching the destination node. The link delay of path 1 is 5ms, the node processing time of path 1 is 2ms, and the queuing delay of path 1 is 1ms. The transmission time of path 1 = 5+2+1 = 8ms; the link delay of path 2 is 4ms, the node processing time of path 2 is 1ms, and the queuing delay of path 2 is 1ms. Therefore, the transmission time of path 2 = 4+1+1 = 6ms; Finally, the path score is calculated comprehensively, which is the invulnerability of the nodes passed, the number of alarms, and the core Different weights are assigned to the service forwarding volume and the transmission time to the destination node. The weights can be assigned by personnel in this field according to actual conditions. When the assigned weights are 0.3, 0.2, 0.2, and 0.3 respectively, the path score of path 1 = 0.3×81.25+0.2×(1 / 10)+0.2×100+0.3×(1 / 8)=74.375, and the path score of path 2 = 0.3×86.25+0.2×(1 / 6)+0.2×80+0.3×(1 / 6)=78.25.

[0084] In some embodiments of the present application, step 103 may include the following sub-steps:

[0085] Sub-step 21: inputting node information in the target node into the preset large model for query to obtain the first path quantity;

[0086] Sub-step 22: determining a first score of the target node according to the first path quantity;

[0087] Sub-step 23: Perform weighted calculation on the first score and the safety score to obtain a path score of the initial path.

[0088] The preset large model refers to a pre-trained machine learning or deep learning model for processing and analyzing network data. By inputting the node information of the start node and the target node into the preset large model for query, the first path number, that is, the number of possible paths from the start node to the target node, can be obtained.

[0089] In some implementations of this embodiment, the destination node IP can be input as a parameter into the preset large model, and the number of links in the network that reach the destination node is obtained by matching the database of the preset large model itself, which is recorded as score1, that is, the first score. Assume that the SDN network includes the starting node A, the target node D, and the intermediate nodes B and C, obtain the detailed information of the target node information D (network address: 192.168.1.4, port: 8080, status: normal), input the detailed information of the target node D into the preset large model, and the preset large model performs path calculation and analysis based on the input target node information, and obtains that the number of the first path from the starting node A to the target node D is 3, and outputs the number of the first path = 3.

[0090] According to the first path number 3, the first score score1=3 of the target node can be determined, and then the first score and the security score obtained in the above step are weighted to obtain the path score of the initial path. The weighted calculation formula can be:

[0091]

[0092] where p i Represents the weight corresponding to each score, p i The value can be adjusted according to actual situation.

[0093] In some embodiments of the present application, step 103 may also include the following sub-steps:

[0094] Sub-step 31: obtaining a path query condition, and inputting the path query condition into a preset large model for query, to obtain the number of second paths satisfying the path query condition;

[0095] Sub-step 32: Compare the number of the first path with the number of the second path to obtain a second score;

[0096] Sub-step 33: Perform weighted calculation on the first score, the second score and the safety score to obtain a path score of the initial path.

[0097] In some implementations of this embodiment, the pre-set large model for querying the first path data can be trained twice to obtain a trained large model, and the conclusive language can be matched to a unified and standardized query question language to improve the impact of the conclusive language on the accuracy of the large model retrieval results. For example, the query question can be "the overall increase trend of the number of nodes", and the query question is input into the trained large model for a secondary query, and the preset query script is triggered to access the database to obtain data, and the number of paths in the query result corresponding to the query question is obtained, that is, the number of second paths that meet the path query condition.

[0098] The first path number is compared with the second path number to obtain a second score, that is, the number of paths that meet the path query condition is compared with the first path number to obtain a second score score2, which can be used to measure the proportion of the number of paths that meet the condition to the total number of paths.

[0099] After obtaining the safety score, first score, and second score of the path, these three scores can be weighted to obtain the path score of each initial path. Assuming that the safety score of the path is score0, the calculation formula can be:

[0100]

[0101] where p iRepresents the weights corresponding to the three scores, p i The value can be adjusted according to actual situation.

[0102] Step 104: Obtain the first computing power information of the intermediate nodes and the second computing power information of the target node on each initial path.

[0103] Computing power information refers to the computing power information of each intermediate node on the path. Computing power usually includes processor performance, memory capacity, storage capacity, etc., which is used to evaluate the node's ability to process data packets and perform network functions.

[0104] In some implementations of this embodiment, the first computing power information can be calculated by collecting hardware configuration information and performance indicators of the intermediate nodes, and specifically, this information can be obtained through a network management system (such as an SDN controller) or by directly querying the node device. Similarly, the second computing power information can also be calculated by collecting hardware configuration information and performance indicators of the target node, and specifically, this information can be obtained through a network management system (such as an SDN controller) or by directly querying the target node device.

[0105] Continuing with the two paths in the above example, assume that there are two paths, path 1: A->B->D, path 2: A->C->D, the processor of the intermediate node B is 8 cores, 2.5GHz, and the current available ratio is 80%, the available memory capacity is 16GB, the available storage capacity is 500GBSSD, and the network interface is 10Gbps, then the first computing power information = 8×2.5×80%+16+500+10=506, the processor of the intermediate node C in path 2 is 4 cores, 3.0GHz, and the current available ratio is 90%, the available memory capacity is 32GB, the available storage space is 1TBSSD, and the network interface is 25Gbps, then the first computing power information of the intermediate node C in path 2 = 4×3.0×90%+32+1000+25=1067.8. Get the second computing power information. The target node of path 1 and path 2 is the same node D. Assuming that the processor performance of node D is 16 cores, 2.0GHz, the memory capacity is 64GB, the storage capacity is 2TBSSD, and the network interface is 40Gbps, the second computing power information of the target node = 16×2.0+64+2000+40=2136.

[0106] Step 105: Determine a target path from the initial path set according to the path score of each initial path, the first computing power information, and the second computing power information.

[0107] The target path refers to the optimal path selected from the initial path set after considering the path score, the first computing power information, and the second computing power information. The target path should have a high path score, strong intermediate node computing power, and target node computing power to ensure the efficiency and reliability of the network.

[0108] In some implementations of this embodiment, the path score, the first computing power information, and the second computing power information can be summed to obtain a comprehensive score for each initial path; or the path score, the first computing power information, and the second computing power information can be weighted to obtain a comprehensive score for each initial path. The weight at this time can be adjusted according to actual needs and network policies.

[0109] In some implementations of this embodiment, after calculating the comprehensive score of each path, the comprehensive score of each path in the initial path set is compared, and the path with the highest score is selected as the target path. The final target path is the optimal path selected from the initial path set for data transmission and network management.

[0110] In some embodiments of the present application, the target path includes a first path set, and step 104 includes the following sub-steps:

[0111] Sub-step 41: Obtaining service request data of the software defined network and determining computing power requirement information of the service request data;

[0112] Sub-step 42: When it is determined that the first computing power information of the intermediate nodes on the initial path meets the computing power requirement information, the initial path is added to the first path set.

[0113] Business request data refers to the data traffic and requests generated by different types of services carried in the network. Computing power demand information refers to the demand for network computing power of these business requests, including processor performance, memory capacity, storage capacity, etc. The first path set refers to the path set selected from the initial path set when the computing power demand information is met. The initial path set can be a set of all possible paths or a set of paths that have been preliminarily screened, while the first path set is a subset of paths that meet the computing power requirements.

[0114] Through the network management system (such as SDN controller) or application program interface (API), the data traffic and requests of different service types carried in the network can be obtained. Service types can include video streaming, file transfer, real-time communication, financial transactions, etc.

[0115] Based on the acquired service request data, analyze the demand for network computing power for each service type. The computing power demand information includes processor performance, memory capacity, storage capacity, etc. Different service types have different demands for computing power. For example, video streaming services have higher requirements for processor performance and memory capacity, while file transfer services have higher requirements for storage capacity.

[0116] In some implementations of this embodiment, the first computing power information meeting the computing power requirement information may refer to the sum of the first computing power information of all intermediate nodes on the initial path being greater than or equal to the computing power requirement of the business request data; the first computing power information meeting the computing power requirement information may also refer to the sum of the first computing power information of all intermediate nodes on the initial path being greater than or equal to a fixed multiple of the computing power requirement of the business request data. The computing power requirement information of the business request data is compared with the first computing power information of the intermediate nodes on the initial path. If the first computing power information of the intermediate nodes meets the computing power requirement information, it is considered that the path meets the computing power requirement, and the initial path that meets the computing power requirement is added to the first path set.

[0117] In some embodiments of the present application, the target path also includes a second path set, and step 105 may also include the following sub-steps:

[0118] Sub-step 51: when it is determined that the first computing power information of the intermediate node on the initial path does not meet the computing power requirement information, calculating the sum of the first computing power information and the second computing power information to obtain the total computing power information of the initial path;

[0119] Sub-step 52: When the total computing power information of the initial path meets the computing power requirement information, add the initial path to the second path set.

[0120] In some implementations of this embodiment, the first computing power information meeting the computing power requirement information may mean that the sum of the first computing power information of all intermediate nodes on the initial path is less than the computing power requirement of the service request data; the first computing power information meeting the computing power requirement information may also mean that the sum of the first computing power information of all intermediate nodes on the initial path is less than a fixed multiple of the computing power requirement of the service request data. The computing power requirement information of the service request data is compared with the first computing power information of the intermediate nodes on the initial path. If the first computing power information of the intermediate nodes does not meet the computing power requirement information, further calculation is required.

[0121] First, calculate the sum of the first computing power information of all intermediate nodes on the initial path and the second computing power of the target node, and the result can be used as the total computing power information of the initial path. Secondly, it is necessary to determine whether the total computing power information of the initial path meets the computing power requirement information. The total computing power information meeting the computing power requirement information may mean that the sum of the computing power information of all nodes on the initial path (including both intermediate nodes and target nodes) is greater than or equal to the computing power requirement of the business request data; the total computing power information meeting the computing power requirement information may also mean that the sum of the computing power information of all nodes on the initial path is greater than or equal to a fixed multiple of the computing power requirement of the business request data. In the case where the total computing power information meets the computing power requirement information, it can be considered that the path meets the computing power requirement, and the initial path that meets the computing power requirement is added to the second path set.

[0122] In some other implementations of this embodiment, Beacon can be used on the basis of Maestro plane control. Among them, Maestro plane control refers to the management and control of the network plane by a centralized controller (such as Maestro) in a software-defined network. Beacon is a mechanism for network discovery and communication, which realizes information exchange and state synchronization between nodes by sending and receiving signals. In Maestro plane control, Beacon is used for network discovery. The controller detects nodes and devices in the network by sending Beacon signals to obtain their status and configuration information. Beacon uses the components of the service registration in the OSGi specification to draw the topology and mark the idle computing power of each node between the start node and the target node. Specifically, a service in the form of a bundle can be established on the controller side and the client side. Secondly, the application is quantified by computing power as the core indicator for drawing the topology. Then, the topology is drawn and the idle computing power of each node between the start node and the target node is marked. Figure 2 It is a Maestro controller structure provided by some embodiments of the present application. When a switch joins the network, a TCP connection with Maestro will be established. The discovery application will be triggered by a periodic timer, and periodically send detection messages to discover and identify the switch, receive responses from the switch to the detection message, thereby obtaining the topology of the entire network, and outputting the computing power information through the acquisition, determination and calculation of computing power information. In addition, the output can also include data forwarding and path matching. When the topology changes, the discovery application will call the preset large model to modify the routing table information. When Maestro receives a flow request, the request message is first authenticated based on the security score of the previous step to determine whether it violates the security policy. If it complies with the security policy, the routing traffic application will calculate it as a target path, generate a configuration output to the destination switch, and send the request message back to the initial switch.

[0123] In some other implementations of this embodiment, the idle computing power of each initial path (i.e., the first computing power information and the second computing power information in the foregoing text) can be calculated by presetting a large model, thereby improving the performance of the software-defined network in data processing and data forwarding. For nodes with heterogeneous computing power in the software-defined network, assuming that a node has n logic operation chips, m parallel computing chips, and p neural network acceleration chips, the computing power formula can be:

[0124]

[0125] Among them, C br is the total computing power information; f(x) is the mapping function; α, β and γ are the mapping ratio coefficients; q is the redundant computing power. Taking parallel computing power as an example, assuming that there are three different types of parallel computing chip resources, b1, b2 and b3, then f(b j ) represents the mapping function of the parallel computing capability that the j-th parallel computing chip b can provide, q1 represents the redundant computing power of logical operations, q2 represents the redundant computing power of parallel computing, and q3 represents the redundant computing power of neural network acceleration.

[0126] Step 106: Acquire the communication data of the starting node, and send the communication data to the target node along the target path.

[0127] The communication data may be any type of data packet, such as files, messages, video streams, etc.

[0128] According to the previously determined target path, a transmission path from the start node to the target node is selected. The target path has taken into account the path score, the first computing power information, and the second computing power information, so the performance and reliability of the path can be ensured. The communication data is transmitted from the start node to the target node along the target path. During the data transmission process, the data packet will pass through each intermediate node on the path, and each node is responsible for forwarding the data packet to the next node until it reaches the target node.

[0129] In some implementations of this embodiment, the target node receives the communication data transmitted from the starting node, and the target node processes the data, such as decrypting, decompressing, parsing, etc., and finally delivers the data to the corresponding application or service.

[0130] In some embodiments of the present application, step 106 may include the following sub-steps:

[0131] Sub-step 61: When it is determined that the communication data carries computing power requirement information and the first computing power information of the intermediate node on the target path is not empty, the communication data is calculated at the intermediate node to obtain the calculated communication data.

[0132] Communication data carries computing power requirement information, which means that during the data transmission process, the data packet contains information about computing power requirements. This information is used to indicate what calculations or processing are required during the data transmission process, as well as the required computing resources (such as processor performance, memory capacity, etc.). The first computing power information of the intermediate nodes on the target path is not empty, indicating that they have idle computing power.

[0133] In some implementations of this embodiment, whether the data packet carries computing power requirement information can be indicated by a specific identification bit or field. The data packet can also carry a computing task description, which is used to describe the computing task that the data packet needs to perform, including the type of calculation, the amount of calculation, the calculation accuracy, etc. It can also carry computing resource requirements to describe the computing resources required by the data packet, such as processor performance, memory capacity, storage capacity, etc. At the same time, the data packet can also carry computing priority information to describe the priority of the computing task of the data packet, which is used to determine the execution order of the computing tasks.

[0134] Assume that the target path is A->B->C->D, and the first computing power information of the intermediate nodes B and C is not empty. When data is transmitted from A to B, B partially calculates the data based on the computing power requirement information. When data is transmitted from B to C, C further calculates the data based on the computing power requirement information to obtain the calculated communication data. After B and C complete the calculation, they obtain the calculated communication data, which includes some calculation results.

[0135] Sub-step 62: Send the calculated communication data to the target node along the target path.

[0136] Continuing with the above example, the intermediate node B transmits the calculated communication data to the intermediate node C, and the intermediate node C transmits the calculated communication data to the target node D. After receiving the calculated communication data, the target node D further processes or uses it. This application uses this idea of ​​calculating while walking to perform calculations during the data transmission process, thereby reducing the delay of data transmission and the network load, and improving the computing efficiency.

[0137] By obtaining the starting node and the target node of the path to be determined in the software-defined network, the initial path set between the starting node and the target node is determined, the initial path set includes at least one initial path, and each initial path includes at least one intermediate node. The security score of each initial path is calculated, and the path score of each initial path is determined according to the security score. The first computing power information of the intermediate node and the second computing power information of the target node on each initial path are obtained. According to the path score, the first computing power information and the second computing power information of each initial path, the target path is determined from the initial path set, the communication data of the starting node is obtained, and the communication data is sent to the target node along the target path. The target path between the starting node and the target node is dynamically determined in combination with the security score and the node computing power information, which not only improves the security of the target path, but also guarantees the computing power service that can be provided by the target path.

[0138] It should be noted that, for the method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the embodiments of the present application are not limited by the described order of actions, because according to the embodiments of the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present application.

[0139] Reference Figure 3 , shows a schematic diagram of the structure of a network communication device provided by an embodiment of the present application, which is applied to a network controller in a software defined network, and may specifically include:

[0140] The node acquisition module 301 is configured to acquire a start node and a target node of a path to be determined in the software defined network;

[0141] An initial set determination module 302 is configured to determine an initial path set between the start node and the target node, the initial path set including at least one initial path, and each initial path including at least one intermediate node;

[0142] The score determination module 303 is configured to calculate the safety score of each of the initial paths, and determine the path score of each of the initial paths according to the safety score;

[0143] The computing power information acquisition module 304 is configured to acquire the first computing power information of the intermediate node and the second computing power information of the target node on each of the initial paths;

[0144] A target path determination module 305 is configured to determine a target path from the initial path set according to a path score of each of the initial paths, the first computing power information, and the second computing power information;

[0145] The data sending module 306 is configured to obtain the communication data of the starting node and send the communication data to the target node along the target path.

[0146] In an optional embodiment of the present application, the initial set determination module 302 includes:

[0147] A first acquisition submodule is configured to acquire a service type and link characteristic information of the software defined network, wherein the link characteristic information includes at least one of bandwidth, delay, and packet loss rate;

[0148] A threshold determination submodule, configured to determine a path threshold according to the service type and the link characteristic information;

[0149] The path screening submodule is configured to screen out an initial path set from a plurality of paths connecting the start node and the target node according to the path threshold.

[0150] In an optional embodiment of the present application, the score determination module 303 includes:

[0151] A first determination submodule is configured to input the node information in the target node into a preset large model for query to obtain a first path quantity;

[0152] A second determination submodule is configured to determine a first score of the target node according to the first number of paths;

[0153] The third determination submodule is configured to perform weighted calculation on the first score and the safety score to obtain a path score of the initial path.

[0154] In an optional embodiment of the present application, the score determination module 303 includes:

[0155] A first query submodule is configured to obtain a path query condition, and input the path query condition into a preset large model for query, to obtain the number of second paths that meet the path query condition;

[0156] A first comparison submodule is configured to compare the first path quantity with the second path quantity to obtain a second score;

[0157] The fourth determination submodule is configured to perform weighted calculation on the first score, the second score and the safety score to obtain a path score of the initial path.

[0158] In an optional embodiment of the present application, the target path includes a first path set, and the target path determination module 305 includes:

[0159] A request data acquisition submodule is configured to acquire service request data of the software defined network and determine computing power requirement information of the service request data;

[0160] The first adding submodule is configured to add the initial path to the first path set when it is determined that the first computing power information of the intermediate node on the initial path meets the computing power requirement information.

[0161] In an optional embodiment of the present application, the target path includes a second path set, and the target path determination module 305 includes:

[0162] a total information determination module, configured to calculate the sum of the first computing power information and the second computing power information to obtain the total computing power information of the initial path when it is determined that the first computing power information of the intermediate node on the initial path does not meet the computing power requirement information;

[0163] The second adding submodule is configured to add the initial path to the second path set if the total computing power information of the initial path meets the computing power requirement information.

[0164] In an optional embodiment of the present application, the data sending module 306 includes:

[0165] The data calculation submodule is configured to calculate the communication data at the intermediate node to obtain the calculated communication data when it is determined that the communication data carries the computing power requirement information and the first computing power information of the intermediate node on the target path is not empty;

[0166] The data sending submodule is configured to send the calculated communication data to the target node along the target path.

[0167] An embodiment of the present application further provides an electronic device, which may include a processor, a memory, and a computer program stored in the memory and capable of running on the processor, and when the computer program is executed by the processor, the above network communication method is implemented.

[0168] An embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the above network communication method is implemented.

[0169] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

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

[0171] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0172] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, devices, or computer program products. Therefore, the embodiments of the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the embodiments of the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.

[0173] The embodiments of the present application are described with reference to the flowcharts and / or block diagrams of the methods, terminal devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing terminal device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0174] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0175] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device so that a series of operating steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable terminal device to implement the process. Figure 1 A process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0176] Although the preferred embodiments of the present application have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present application.

[0177] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or terminal device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal device. In the absence of further restrictions, the elements defined by the sentence "including one..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the above elements.

[0178] The network communication method, device, electronic device and storage medium provided are introduced in detail above. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea. At the same time, for general technical personnel in this field, according to the idea of ​​the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.

Claims

1. A network communication method, characterized in that: A network controller applied to a software defined network, the method comprising: Obtaining a starting node and a target node of a path to be determined in the software defined network; Determine an initial path set between the start node and the target node, the initial path set includes at least one initial path, and each initial path includes at least one intermediate node; Calculating a safety score for each of the initial paths, and determining a path score for each of the initial paths according to the safety score; Obtaining first computing power information of the intermediate nodes and second computing power information of the target nodes on each of the initial paths; Determine a target path from the initial path set according to the path score of each of the initial paths, the first computing power information, and the second computing power information; The communication data of the starting node is acquired, and the communication data is sent to the target node along the target path.

2. The method according to claim 1, characterized in that The determining of an initial path set between the start node and the target node comprises: Acquire a service type and link characteristic information of the software defined network, wherein the link characteristic information includes at least one of bandwidth, delay, and packet loss rate; Determining a path threshold according to the service type and the link characteristic information; According to the path threshold, an initial path set is screened out from a plurality of paths connecting the start node and the target node.

3. The method according to claim 1, characterized in that Determining the path score of each of the initial paths according to the safety score includes: Inputting the node information in the target node into the preset large model for query to obtain the first path quantity; Determining a first score of the target node according to the first number of paths; The first score and the safety score are weightedly calculated to obtain a path score of the initial path.

4. The method according to claim 3, characterized in that Determining the path score of each of the initial paths according to the safety score includes: Acquire a path query condition, and input the path query condition into a preset large model for query, to obtain the number of second paths that meet the path query condition; Comparing the first path quantity with the second path quantity to obtain a second score; The first score, the second score and the safety score are weighted to obtain a path score of the initial path.

5. The method according to any one of claims 1 to 4, characterized in that: The target path includes a first path set, and determining the target path from the initial path set according to the path score of each of the initial paths, the first computing power information, and the second computing power information includes: Obtaining service request data of the software defined network and determining computing power requirement information of the service request data; When it is determined that the first computing power information of the intermediate node on the initial path meets the computing power requirement information, the initial path is added to the first path set.

6. The method according to claim 5, characterized in that The target path also includes a second path set, and determining the target path from the initial path set according to the path score of each of the initial paths, the first computing power information, and the second computing power information includes: When it is determined that the first computing power information of the intermediate node on the initial path does not meet the computing power requirement information, calculate the sum of the first computing power information and the second computing power information to obtain the total computing power information of the initial path; When the total computing power information of the initial path meets the computing power requirement information, the initial path is added to the second path set.

7. The method according to any one of claims 1 to 4, characterized in that: The acquiring the communication data of the starting node and sending the communication data to the target node along the target path includes: When it is determined that the communication data carries computing power requirement information and the first computing power information of the intermediate node on the target path is not empty, the communication data is calculated at the intermediate node to obtain the calculated communication data; The calculated communication data is sent to the target node along the target path.

8. A network communication device, characterized in that: A network controller applied to a software defined network, the device comprising: A node acquisition module, configured to acquire a start node and a target node of a path to be determined in the software defined network; An initial set determination module is configured to determine an initial path set between the start node and the target node, wherein the initial path set includes at least one initial path, and each initial path includes at least one intermediate node; a score determination module, configured to calculate a safety score of each of the initial paths, and determine a path score of each of the initial paths according to the safety score; A computing power information acquisition module is configured to acquire first computing power information of the intermediate nodes and second computing power information of the target nodes on each of the initial paths; a target path determination module, configured to determine a target path from the initial path set according to a path score of each of the initial paths, the first computing power information, and the second computing power information; The data sending module is configured to obtain the communication data of the starting node and send the communication data to the target node along the target path.

9. An electronic device, characterized in that: The invention comprises a processor, a memory and a computer program stored in the memory and capable of running on the processor, wherein when the computer program is executed by the processor, the network communication method according to any one of claims 1 to 7 is implemented.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method for network communication according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Intention-based network security path calculation method and device, and storage medium

    CN116208414A

  • Computing power routing method and device, equipment and storage medium

    CN116915691A

  • Privacy protection-oriented data sharing method and system

    CN117097563A

  • Path computation in a communication network

    WO2024091149A1