Message forwarding method, device, equipment and medium for C2F scenarios
By generating short detection aggregation messages in the industrial system and updating the path decision table in real time, the message forwarding path is dynamically adjusted, which solves the problem of the inability to determine the optimal path in time in the existing technology and achieves efficient network communication quality.
Patent Information
- Application Number
- CN202510797471.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-16
- Publication Date
- 2025-09-09
- Estimated Expiration
- 2045-06-16
AI Technical Summary
In the existing technology, the message forwarding path is determined based on a pre-set routing table, which cannot timely reflect the current network status. As a result, the industrial system cannot accurately determine the optimal forwarding path when transmitting a large number of messages, resulting in a decrease in network communication quality.
By generating short-term detection packets, a path decision table is generated in real time. By combining the initial optimal path and the path decision table, the message forwarding path is dynamically adjusted to implement a dual path selection mechanism for the target message, quickly perceive changes in network link quality and switch to a more optimal transmission path with lower load.
It improves the efficiency of target message transmission and network communication quality, effectively avoids congestion, and ensures smooth and stable data transmission.
Smart Images

Figure CN120416134B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of industrial message processing, and in particular to a message forwarding method, apparatus, device, and medium for a C2F scenario. Background Art
[0002] Against the backdrop of the continuous development of the Internet, traditional control systems can no longer meet the interaction needs between users and industrial platforms. As a result, the consumer-to-factory (C2F) e-commerce model has gradually emerged. The C2F model enables customer terminals to directly interact with industrial systems related to manufacturing companies, thereby greatly satisfying users' personalized interaction needs.
[0003] With the continuous development of the C2F model, the demand for communication between users and industrial systems has increased significantly, placing higher demands on the efficiency and real-time performance of industrial system message transmission. Related technologies determine the forwarding path for each message based on a pre-set routing table. However, routing tables are established based on the network's initial configuration or historical data and therefore cannot promptly reflect the actual state of the current network. When a large number of messages need to be transmitted, industrial systems cannot accurately determine the optimal forwarding path for the target message based on real-time conditions, resulting in a decrease in network communication quality. Summary of the Invention
[0004] The main purpose of the embodiments of the present application is to propose a message forwarding method, apparatus, device and medium for C2F scenarios, aiming to improve the accuracy of determining the current optimal forwarding path of the target message, thereby improving the quality of network communication.
[0005] To achieve the above objectives, a first aspect of an embodiment of the present application proposes a message forwarding method for a C2F scenario, which is applied to any routing node, each routing node being in communication with an SDN controller. The method includes:
[0006] Receive the initial optimal path and initial normal path sent by the SDN controller;
[0007] Generate a first short detection aggregation message at the current moment, send the first short detection aggregation message to other routing nodes that are topologically associated with the current routing node, receive feedback short aggregation messages sent back by other routing nodes based on the first short detection aggregation message, and generate a corresponding path decision table based on the feedback short aggregation message;
[0008] Receive a target message to be transmitted, determine the next-hop initial forwarding routing node to which the target message should be sent from multiple other routing nodes based on the initial optimal path, and determine the next-hop updated forwarding routing node to which the target message should be sent in real time based on the initial common path and the path decision table, wherein the target message includes a destination routing node representing the forwarding end point of the target message and a path identifier representing the change status of the forwarding path;
[0009] If the initial forwarding routing node and the updated forwarding routing node are different, the path identifier is updated and the updated forwarding routing node is used as the target forwarding routing node, and the target message with the updated path identifier is forwarded to the target forwarding routing node, so as to forward the target message to the destination routing node through the target forwarding routing.
[0010] In some embodiments, generating a first short detection aggregation message at a current moment includes:
[0011] Obtain a first initial delay value, a first timestamp, starting point routing information corresponding to the current routing node, and neighboring station routing information corresponding to other routing nodes;
[0012] Constructing a first initial short aggregation message based on the first initial delay value, the first timestamp, the origin routing information, and the neighbor routing information;
[0013] The first initial short aggregation message is encrypted according to a preset security policy to obtain a first detection short aggregation message.
[0014] In some embodiments, sending a first detection short aggregation message to other routing nodes that are topologically associated with the current routing node, receiving a feedback short aggregation message returned by the other routing nodes based on the first detection short aggregation message, and generating a corresponding path decision table based on the feedback short aggregation message include:
[0015] At a preset initial interaction frequency, continuously sending a first detection short aggregation message to other routing nodes that are topologically associated with the current routing node;
[0016] Receiving a feedback short aggregation message sent back by other routing nodes based on the first detection short aggregation message, wherein the feedback short aggregation message is obtained by the other routing nodes updating the first initial delay value according to the arrival time of the first detection short aggregation message;
[0017] Receiving a second short detection aggregation message sent by another routing node, wherein the second short detection aggregation message includes a second initial delay value and a second timestamp;
[0018] The second initial delay value is updated according to the arrival time of the second detection short aggregation message, and a path decision table corresponding to the current routing node is generated based on the second detection short aggregation message after the updated second initial delay value and the feedback short aggregation message.
[0019] In some embodiments, generating a path decision table corresponding to the current routing node based on the second detection short aggregation message after the second initial delay value is updated and the feedback short aggregation message includes:
[0020] For any designated routing node among other routing nodes, determine the uplink time from the current routing node to the designated routing node according to the feedback short aggregation message;
[0021] Determine the downlink time from the designated routing node to the current routing node according to the second detection short aggregation message after the second initial delay value is updated;
[0022] Determine the path status information from the current routing node to the specified routing node based on the uplink time and downlink time;
[0023] Based on the one-to-one correspondence between the current routing node and each designated routing node, the path decision table corresponding to the current routing node is generated.
[0024] In some embodiments, the target message further includes an uplink weight, a downlink weight, and a path change participation identifier;
[0025] Based on the initial common path and the path decision table, the next hop to which the target message should be sent in real time is determined and the forwarding routing node is updated, including:
[0026] If the initial optimal path does not match the optimal routing node indicated by the path decision table, and the path change participation flag is in the allowed state, update the path status information of each path in the path decision table according to the uplink time, uplink weight, downlink time, and downlink weight;
[0027] According to the initial common path and the updated status information of each path, the next hop update forwarding routing node to which the target message needs to be sent in real time is determined.
[0028] In some embodiments, after updating the path identifier, the method further includes:
[0029] Generate node delay information based on the updated path identifier;
[0030] The node delay information is sent to the SDN controller, so that the SDN controller determines an update signal for changing the initial interaction frequency according to the node delay information.
[0031] In some embodiments, after receiving the target message to be transmitted, the method further includes:
[0032] Updating the initial interaction frequency to obtain a first interaction frequency, wherein the first interaction frequency is lower than the initial interaction frequency;
[0033] While the current routing node continuously sends the first short detection aggregation message to other routing nodes at the first interaction frequency, the current routing node receives the next target message to be transmitted.
[0034] In some embodiments, after sending the node delay information to the SDN controller, the method further includes:
[0035] When receiving an update signal sent by the SDN controller, updating the initial interaction frequency to obtain a second interaction frequency, wherein the second interaction frequency is higher than the initial interaction frequency;
[0036] The updated first detection short aggregation message is continuously sent to other routing nodes at a second interaction frequency, and based on the updated feedback short aggregation message received from the other routing nodes, a path decision table corresponding to the current routing node is regenerated, so that the SDN controller determines a new initial optimal path and a new initial common path according to the regenerated path decision table.
[0037] To achieve the above objectives, a second aspect of an embodiment of the present application proposes a message forwarding method for a C2F scenario, which is applied to an SDN controller, wherein the SDN controller is in communication with multiple routing nodes. The method includes:
[0038] The method includes sending a corresponding initial optimal path and an initial common path to each routing node, so that each routing node generates a first short-term probe aggregation message at the current moment after receiving the initial optimal path and the initial common path, sending the first short-term probe aggregation message to other routing nodes that are topologically associated with the current routing node, receiving feedback short-term aggregation messages sent back by the other routing nodes based on the first short-term probe aggregation message, and generating a corresponding path decision table based on the feedback short-term aggregation message; receiving a target message to be transmitted, determining a next-hop initial forwarding routing node to which the target message is to be sent under the initial setting from multiple other routing nodes based on the initial optimal path, and determining a next-hop updated forwarding routing node to which the target message is to be sent in real time based on the initial common path and the path decision table, wherein the target message includes a destination routing node representing the forwarding destination of the target message and a path identifier representing a change status of the forwarding path; if the initial forwarding routing node and the updated forwarding routing node are different, updating the path identifier and setting the updated forwarding routing node as the target forwarding routing node, and forwarding the target message with the updated path identifier to the target forwarding routing node, so that the target message is forwarded to the destination routing node via the target forwarding route.
[0039] In some embodiments, after sending the corresponding initial optimal path and initial normal path to each routing node, the method further includes:
[0040] Receive node delay information sent by any routing node, where the node delay information is generated based on the updated path identifier;
[0041] When the node delay information from any routing node reaches a preset information threshold, local update information is sent to the corresponding routing node so that the corresponding routing node updates the path decision table;
[0042] When the node delay information from all routing nodes reaches a preset ratio threshold, a global update message is sent to all routing nodes so that all routing nodes update their path decision tables;
[0043] Receive the updated path decision table sent by the corresponding routing node, and determine a new initial optimal path and a new initial common path according to the updated path decision table.
[0044] To achieve the above objectives, a third aspect of an embodiment of the present application proposes a message forwarding method for a C2F scenario, which is applied to any routing node, each routing node being in communication with an SDN controller, and the apparatus includes:
[0045] A first receiving module is configured to receive an initial optimal path and an initial common path sent by the SDN controller;
[0046] A detection module is configured to generate a first short detection aggregation message at the current moment, send the first short detection aggregation message to other routing nodes that are topologically associated with the current routing node, receive feedback short aggregation messages sent back by other routing nodes based on the first short detection aggregation message, and generate a corresponding path decision table based on the feedback short aggregation message;
[0047] a second receiving module, configured to receive a target message to be transmitted, determine, from a plurality of other routing nodes, a next-hop initial forwarding routing node to which the target message is to be sent under an initial setting based on an initial optimal path, and determine, based on the initial common path and a path decision table, a next-hop updated forwarding routing node to which the target message is to be sent in real time, wherein the target message includes a destination routing node representing a forwarding destination of the target message and a path identifier representing a change status of the forwarding path;
[0048] The target forwarding module is used to update the path identifier and use the updated forwarding routing node as the target forwarding routing node if the initial forwarding routing node and the updated forwarding routing node are different, and forward the target message with the updated path identifier to the target forwarding routing node, so as to forward the target message to the destination routing node through the target forwarding routing.
[0049] To achieve the above-mentioned objectives, the fourth aspect of an embodiment of the present application proposes an electronic device, which includes a memory and a processor, the memory storing a computer program, and when the processor executes the computer program, it implements the message forwarding method for the C2F scenario of the first aspect above, or the message forwarding method for the C2F scenario of the second aspect.
[0050] To achieve the above-mentioned objectives, the fifth aspect of the embodiments of the present application proposes a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, it implements the message forwarding method for the C2F scenario of the first aspect above, or the message forwarding method for the C2F scenario of the second aspect.
[0051] The message forwarding method, device, equipment and medium for C2F scenarios proposed in the present application receive the initial optimal path and the initial common path issued by the SDN controller; generate the first detection short aggregation message at the current moment, send the first detection short aggregation message to other routing nodes that are topologically associated with the current routing node, receive the feedback short aggregation message sent back by other routing nodes based on the first detection short aggregation message, and generate a corresponding path decision table based on the feedback short aggregation message, the path decision table can reflect the real-time link status; receive the target message to be transmitted, determine the target message at the initial optimal path from multiple other routing nodes according to the initial optimal path The next-hop initial forwarding routing node to be sent is set, and based on the initial common path and the path decision table, the next-hop updated forwarding routing node to which the target message is to be sent in real time is determined, wherein the target message includes a destination routing node representing the forwarding end point of the target message, and a path identifier representing the change state of the forwarding path; if the initial forwarding routing node and the updated forwarding routing node are different, the path identifier is updated and the updated forwarding routing node is used as the target forwarding routing node, and the target message with the updated path identifier is forwarded to the target forwarding routing node, so as to forward the target message to the destination routing node through the target forwarding routing. The embodiment of the present application realizes a dual path selection mechanism for target message transmission by combining a predetermined initial optimal path with a real-time updated path decision table, thereby quickly sensing changes in network link quality. When the originally optimal transmission path is congested, it can be switched to a more optimal transmission path with a lower load in time to disperse the network traffic load, ensure smooth and stable data transmission, and thus improve network communication quality. BRIEF DESCRIPTION OF THE DRAWINGS
[0052] Figure 1 This is a schematic diagram of an application scenario of a message forwarding device for a C2F scenario provided by an embodiment of the present application;
[0053] Figure 2 This is an optional flowchart of a message forwarding method for a C2F scenario provided by an embodiment of the present application;
[0054] Figure 3 yes Figure 2 An optional implementation flowchart of step 102;
[0055] Figure 4This is a schematic diagram of an optional short aggregate message structure of the message forwarding method for the C2F scenario provided by an embodiment of the present application;
[0056] Figure 5 yes Figure 2 Step 102 in another optional implementation flowchart;
[0057] Figure 6 yes Figure 5 An optional implementation flowchart for step 102.2.4;
[0058] Figure 7 This is an optional path decision representation of the message forwarding method for the C2F scenario provided by the embodiment of the present application;
[0059] Figure 8 yes Figure 2 Step 103 in an optional implementation process;
[0060] Figure 9 This is a schematic diagram of an optional target message structure of the message forwarding method for the C2F scenario provided by an embodiment of the present application;
[0061] Figure 10 yes Figure 2 Step 103 in another optional implementation flow chart;
[0062] Figure 11 yes Figure 2 An optional implementation flowchart after step 104 in FIG;
[0063] Figure 12 yes Figure 2 There is another optional implementation flowchart after step 104 in;
[0064] Figure 13 This is an optional implementation flowchart after step 201;
[0065] Figure 14 This is another optional module diagram of the message forwarding device for the C2F scenario provided by an embodiment of the present application;
[0066] Figure 15 This is a schematic diagram of the hardware structure of the electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0067] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0068] It should be noted that although the device schematics illustrate functional module divisions and the flowcharts illustrate logical sequences, in certain circumstances, the steps shown or described may be performed in a sequence that differs from the module divisions in the device or the sequence in the flowcharts. The terms "first," "second," and so on, in the specification, claims, and drawings, are used to distinguish similar items and are not necessarily used to describe a specific sequence or precedence.
[0069] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which this application pertains. The terms used herein are for the purpose of describing the embodiments of this application only and are not intended to limit this application.
[0070] Against the backdrop of the continuous development of the Internet, traditional control systems can no longer meet the interaction needs between users and industrial platforms. As a result, the consumer-to-factory e-commerce model has gradually emerged. The C2F model enables customer terminals to directly interact with industrial systems related to manufacturing enterprises, thereby greatly satisfying users' personalized interaction needs.
[0071] With the continuous development of the C2F model, the demand for communication between users and industrial systems has increased significantly, placing higher demands on the efficiency and real-time performance of industrial system message transmission. Related technologies determine the forwarding path for each message based on a pre-set routing table. However, routing tables are established based on the network's initial configuration or historical data and therefore cannot promptly reflect the actual state of the current network. When a large number of messages need to be transmitted, industrial systems cannot accurately determine the optimal forwarding path for the target message based on real-time conditions, resulting in a decrease in network communication quality.
[0072] Based on this, the embodiments of the present application provide a message forwarding method, apparatus, device and medium for a C2F scenario, aiming to improve the efficiency of determining the optimal forwarding path for the target message, thereby improving the quality of network communication.
[0073] For example, Figure 1 As shown, Figure 1The figure is a schematic diagram of an application scenario of a message forwarding device for a C2F scenario provided by an embodiment of the present application. In an optional application scenario, the target system includes at least one client 11 and a server 12, and the client 11 is in communication with the server 12. In actual practice, there are usually multiple clients 11 in communication with the server 12. When each client 11 has a need to interact with the server 12, a large number of target messages to be transmitted will be generated in the target system. Traditional message transmission methods determine the forwarding path for each target message based on a pre-set routing table. However, such message transmission methods cannot cope with the network congestion problem generated during the actual transmission process, resulting in a suboptimal message transmission path, which in turn leads to a decrease in network communication quality.
[0074] In comparison, the embodiment of the present application deploys the message forwarding device for the C2F scenario proposed in the embodiment of the present application in the server side 12 (for the sake of ease of description, it may also be referred to as "message forwarding device" below), which can be applied to any routing node, by receiving the initial path information (including the initial optimal path and the initial ordinary path) issued by the SDN controller; generating the first detection short aggregation message at the current moment, sending the first detection short aggregation message to other routing nodes that are topologically associated with the current routing node, receiving the feedback short aggregation message sent back by other routing nodes based on the first detection short aggregation message, and generating a corresponding path decision table based on the feedback short aggregation message; receiving the target message to be transmitted, and According to the initial path information, the next-hop initial forwarding routing node to which the target message needs to be sent under the initial setting is determined from multiple other routing nodes, and the next-hop updated forwarding routing node to which the target message needs to be sent in real time is determined according to the path decision table, wherein the target message includes a destination routing node representing the forwarding end point of the target message and a path identifier representing the change status of the forwarding path; if the initial forwarding routing node and the updated forwarding routing node are different, the path identifier is updated and the updated forwarding routing node is used as the target forwarding routing node, and the target message with the updated path identifier is forwarded to the target forwarding routing node, so that the target message is forwarded to the destination routing node through the target forwarding route.
[0075] In this way, the present embodiment achieves dynamic optimization of the target message forwarding path by combining the SDN controller's global path planning with the routing node's real-time detection and feedback mechanism. This allows for intelligent adjustment of data transmission paths based on the network's real-time status, effectively avoiding congestion and improving target message transmission efficiency. This approach is applicable to complex and changing large-scale network environments, thereby enhancing network communication quality.
[0076] It should be noted that in the embodiments of the present application, when it comes to information related to user characteristics such as user basic information or user identity, the user's permission or consent will be obtained first, and the collection, use and processing of such data will comply with relevant laws, regulations and standards. In addition, when the embodiments of the present application need to obtain sensitive personal information of the user, the user's separate permission or consent will be obtained first. After the user's separate permission or consent is clearly obtained, the necessary data for the normal operation of the embodiments of the present application will be obtained. For example, when the embodiments of the present application obtain the initial path information issued by the SDN controller, the authorization or consent of the relevant personnel will be obtained first, otherwise the initial path information obtained cannot be applied to the embodiments of the present application. In addition, the other relevant data obtained by the message forwarding device of the present application are all authorized data, which will not be described here one by one.
[0077] In the embodiment of the present application, the description will be made from the perspective of a message forwarding device. The message forwarding method for C2F scenarios (hereinafter referred to as “message forwarding method” for ease of description) executed by the message forwarding device can be applied to any routing node, wherein each routing node is in communication with an SDN controller. Figure 2 As shown, Figure 2 This is an optional flowchart of a message forwarding method for a C2F scenario provided by an embodiment of the present application. Figure 2 The flowchart shown may include but is not limited to the following steps 101 to 104. The specific process of the message forwarding device when executing the message forwarding method is as follows. It should be noted that this embodiment Figure 2 The order of step 101 to step 104 is not specifically limited, and the order of steps can be adjusted or some steps can be reduced or added according to actual needs.
[0078] Step 101: Receive an initial optimal path and an initial common path sent by an SDN controller.
[0079] Step 101 is described in detail below.
[0080] The SDN controller is a core component of the Software-Defined Networking Controller (SDN) architecture. The SDN controller communicates with each routing node in the target network and is responsible for centrally managing and controlling network resources, dynamically configuring network traffic and topology, and thus enabling flexible, unified network management and optimization. The target network can be one of the following examples. In actual use, the message forwarding method proposed in this embodiment can also be used in other networks operating in a C2F mode, and this embodiment does not limit this:
[0081] (1) Cloud data center network: A high-performance, scalable data center network deployed by cloud service providers that carries the backend computing and storage of a large number of industrial applications and supports data exchange and business processing between industrial systems and customer terminals.
[0082] (2) Edge computing network: An edge node network deployed near industrial parks and factory sites, responsible for real-time data processing and short-term response, meeting the manufacturing process's control needs for low latency and high reliability.
[0083] (3) Industrial park dedicated network: The industrial dedicated network connecting the cloud and the factory carries the data flow between production equipment, control systems and management systems, ensuring the safe and stable operation of industrial processes. At the same time, it opens interfaces for customer terminals to conduct personalized customization and monitoring access.
[0084] (4) Wide Area Internet / Hybrid Network: A hybrid network environment consisting of a cross-regional public network combined with a private dedicated line, connecting customer terminals and factory facilities distributed in different regions, and supporting applications such as remote order customization, status monitoring, and remote maintenance.
[0085] A routing node is a device in the target network responsible for forwarding data packets. It forwards the target message from the current routing node to another routing node, ultimately ensuring that the target message reaches its destination. For example, a routing node can be a router, a multilayer switch, or a gateway. It should also be noted that in traditional message transmission methods, the SDN controller issues a corresponding routing table to each routing node. The routing table indicates the next-hop routing node to which the message should be sent. Typically, the routing table is not automatically updated unless the administrator changes the configuration.
[0086] The initial optimal path refers to the optimal path calculated by the SDN controller for a specific type of data traffic based on the current network status (such as bandwidth, latency, load, etc.). The initial normal path can also enable data traffic of a specific type to reach the destination indicated by the initial optimal path, but the latency of the initial normal path is higher than that of the initial optimal path. The initial optimal path and the initial normal path are usually sent by the SDN controller to the relevant routing nodes at the beginning of the network topology establishment; or, they are updated regularly during the transmission process. Because the SDN controller needs to process a large amount of monitoring information to determine the transmission path corresponding to various types of data traffic, the time interval between the SDN controller sending the initial optimal path and the initial normal path corresponding to each routing node is usually relatively long. During this period, if data traffic transmission relies solely on the initial optimal path, congestion will still occur when the network environment itself is complex and uncertain.
[0087] Furthermore, the initial optimal path and the initial normal path are collectively referred to as initial path information. Initial path information can be distributed to each corresponding routing node in the form of a table or a data sequence. Its purpose is to inform the relevant routing nodes of the transmission paths for different types of data. The specific distribution format of the initial path information can be determined based on actual circumstances and is not limited in this embodiment of the present application. Furthermore, there is only one initial optimal path, and there is at least one initial normal path. Typically, there are multiple initial normal paths.
[0088] Step 102: Generate a first short detection aggregation message at the current moment, send the first short detection aggregation message to other routing nodes that are topologically associated with the current routing node, receive feedback short aggregation messages sent back by other routing nodes based on the first short detection aggregation message, and generate a corresponding path decision table based on the feedback short aggregation message.
[0089] Step 102 is described in detail below.
[0090] The first short probe aggregation message refers to a short data message generated by the current routing node at a specific point in time to detect the status of a network link. The first short probe aggregation message is small in size and simple in structure, facilitating rapid transmission and feedback. The current routing node sends the first short probe aggregation message to other topologically associated routing nodes, which then update the first short probe aggregation message to generate a feedback short aggregation message. The other routing nodes then transmit the feedback short aggregation message back to the current routing node, enabling it to generate a path decision table.
[0091] Furthermore, the current routing node generates a path decision table based on all received feedback short aggregation. The path decision table records the path status information (such as delay and packet loss rate) corresponding to each other routing node that is topologically associated with the current routing node (for ease of description, it can also be referred to as "neighboring station node" below) to facilitate the subsequent selection of the actual transmission path.
[0092] Furthermore, the embodiments of the present application periodically send and receive detection messages between routing nodes, so that each routing node can grasp the link status between its neighboring nodes in real time, and then generate a path decision table based on this real-time information, so that the routing node can make more accurate forwarding decisions according to the real-time status of the network.
[0093] In some embodiments, as Figure 3 As shown, Figure 3 yes Figure 2 Step 102 in the embodiment of the present invention is an optional implementation flowchart for generating a first short detection aggregation message at the current moment, including:
[0094] 102.1.1 Obtain a first initial delay value, a first timestamp, the starting point routing information corresponding to the current routing node, and the neighboring node routing information corresponding to other routing nodes;
[0095] 102.1.2 construct a first initial short aggregation message based on the first initial delay value, the first timestamp, the origin routing information, and the neighbor routing information;
[0096] 102.1.3 Encrypt the first initial short aggregation message according to a preset security policy to obtain a first detection short aggregation message.
[0097] Steps 102.1.1 to 102.1.3 are described in detail below.
[0098] In some embodiments, when the network topology is initially established, the current routing node determines the connectivity and reachability between nodes in the current network by communicating with the SDN controller or interacting with other routing nodes. For example, the current routing node extracts information about neighboring routing nodes that are topologically associated with itself from the network topology information sent by the SDN controller, thereby determining which routing nodes are topologically associated with itself, and subsequently sending first short detection aggregate messages to these neighboring routing nodes that are topologically associated, thereby achieving real-time perception and dynamic evaluation of network path status.
[0099] Furthermore, if Figure 4 As shown, Figure 4 This is a schematic diagram of an optional short aggregate message structure for the message forwarding method in the C2F scenario provided by an embodiment of the present application. The current routing node obtains and concatenates the following field contents to obtain the first initial short aggregate message to be sent:
[0100] ① Source routing information corresponding to the current routing node (source port): represents the current routing node and is the starting point of path detection. ② Neighboring routing information corresponding to other routing nodes (destination port): represents other routing nodes that are topologically associated with the current routing node and are the destination of path detection. ③ First timestamp: represents the precise time when the first short detection aggregation message was created. It should be noted that since the difference between the creation time and the sending time is very small, when the first timestamp is subsequently used to update the first short detection aggregation message, the first timestamp can be used as the sending time of the first short detection aggregation message. ④ First initial delay value: represents the delay between the current routing node and the neighboring routing node measured or recorded by the current routing node. The first initial delay value is the initial value, usually 0. In addition, the first timestamp and the first initial delay value usually occupy 16 bits each to ensure that the values represented by these two fields are in the range of 0 to 65535 (unsigned integers), covering the delay and time ranges required by most local area networks and industrial networks.
[0101] Furthermore, in order to ensure the transmission security of the short aggregate message, the first initial short aggregate message can be encrypted based on a preset security policy to obtain the first detection Figure 4 This is an optional short aggregate message structure diagram of the message forwarding method for the C2F scenario provided by the embodiment of the present application. The security policy can be a symmetric encryption algorithm (Advanced Encryption Standard, AES), an asymmetric encryption algorithm (Rivest-Shamir-Adleman, RSA), etc. The security policy can be specifically set according to the actual situation, and the embodiment of the present application does not limit this. In this way, by adopting a preset security policy to protect the integrity and confidentiality of the short aggregate message, it is ensured that the encrypted first detection short aggregate message cannot be stolen or tampered with by an unauthorized third party during the transmission process, effectively preventing malicious attacks during the detection process. In addition, if the embodiment of the present application is used in an internal target network with a relatively high security factor, each routing node can also directly use its own first initial short aggregate message as the corresponding first detection short aggregate message and send it to the neighboring station routing node.
[0102] In some embodiments, as Figure 5 As shown, Figure 5 yes Figure 2 Step 102 in another optional implementation flowchart includes sending a first detection short aggregation message to other routing nodes that are topologically associated with the current routing node, receiving a feedback short aggregation message returned by the other routing nodes based on the first detection short aggregation message, and generating a corresponding path decision table based on the feedback short aggregation message, including:
[0103] 102.2.1 continuously sending first detection short aggregation messages to other routing nodes that are topologically associated with the current routing node at a preset initial interaction frequency;
[0104] 102.2.2 receiving a feedback short aggregation message sent back by another routing node based on the first detection short aggregation message, wherein the feedback short aggregation message is obtained by the other routing node updating the first initial delay value according to the arrival time of the first detection short aggregation message;
[0105] 102.2.3 Receive a second short detection aggregation message sent by another routing node, where the second short detection aggregation message includes a second initial delay value and a second timestamp;
[0106] 102.2.4 Update the second initial delay value according to the arrival time of the second short detection aggregation message, and generate a path decision table corresponding to the current routing node based on the second short detection aggregation message after the second initial delay value is updated and the feedback short aggregation message.
[0107] Steps 102.2.1 to 102.2.4 are described in detail below.
[0108] The initial interaction frequency refers to the time interval (e.g., 1 microsecond) between each routing node sending a first short-aggregation probe message. Under this setting, the current routing node continuously sends the first short-aggregation probe message to other routing nodes with which it is topologically associated, in order to detect network connectivity and measure the corresponding delay time in real time, providing basic data for subsequent path decisions. It should be noted that the initial interaction frequency can be set according to actual conditions and is not limited in this embodiment of the present application.
[0109] Furthermore, after receiving the first short probe aggregation message, the neighboring routing node first decrypts it to determine the first timestamp corresponding to the first short probe aggregation message. Next, the neighboring routing node determines the path delay from the current routing node to the corresponding neighboring routing node based on the time difference between the time the first short probe aggregation message was received (i.e., the arrival time of the first short probe aggregation message) and the first timestamp. This path delay is used as the first initial delay value to generate a feedback short aggregation message. The neighboring routing node then transmits the feedback short aggregation message back to the current routing node. Consequently, by generating, sending, and returning short aggregation messages between routing nodes, the goal of real-time understanding of the delay status of each path in the current network is achieved.
[0110] Furthermore, since each routing node sends a short probe aggregation message to other routing nodes associated with it in its topology, the current routing node will receive not only the feedback short probe aggregation message sent by the neighboring routing node, but also the second short probe aggregation message sent by the neighboring routing node. The specific content of the second short probe aggregation message is similar to that of the first short probe aggregation message, except that the sending entity of the two is different. The first short probe aggregation message, the feedback short aggregation message, and the second short probe aggregation message are collectively referred to as the short aggregation message.
[0111] Furthermore, after receiving the second short detection aggregation message, the current routing node also first decrypts the second short detection aggregation message to determine the second timestamp corresponding to the second short detection aggregation message; then, the current routing node determines the path delay between the neighboring station routing node and the current routing node based on the time when the second short detection aggregation message is received (that is, the arrival time of the second short detection aggregation message) and the time difference between the second timestamp, and uses the path delay as the second initial delay value to obtain an updated second short detection aggregation message; thereafter, the current routing node will generate a corresponding path decision table based on the updated second short detection aggregation message and the feedback short aggregation message.
[0112] Furthermore, unlike traditional static routing tables, the path decision table can more accurately and quickly reflect dynamic network changes, such as link delays and congestion. This real-time nature enables routing nodes to make more optimal forwarding decisions based on the latest network conditions, thereby reducing transmission delays, improving throughput, and enhancing the network's adaptability and fault tolerance. Traditional routing tables often lag behind actual network conditions, resulting in low forwarding efficiency.
[0113] In some embodiments, as Figure 6 As shown, Figure 6 yes Figure 2 Step 102.2.4 in the embodiment of the present invention is an optional implementation flowchart, which generates a path decision table corresponding to the current routing node based on the second detection short aggregation message after the second initial delay value is updated and the feedback short aggregation message, including:
[0114] A.1 For any designated routing node among other routing nodes, determine the uplink time from the current routing node to the designated routing node based on the feedback short aggregation message;
[0115] A.2 Determine the downlink time from the designated routing node to the current routing node based on the second short detection aggregation message after the second initial delay value is updated;
[0116] A.3 Determine the path status information from the current routing node to the specified routing node based on the uplink time and downlink time;
[0117] A.4 generates a path decision table corresponding to the current routing node based on the one-to-one correspondence between the uplink time, downlink time and path status information between the current routing node and each designated routing node.
[0118] Steps A.1 to A.4 are described in detail below.
[0119] In some embodiments, as Figure 7 As shown, Figure 7 This is an optional path decision representation of the message forwarding method for the C2F scenario provided by the embodiment of the present application. It is assumed that there are three routing nodes in the target network (including routing node A, routing node B and routing node C. These three routing nodes are actually connected to other routing nodes. However, this part of the description only involves these three routing nodes. In order to avoid redundancy, other routing nodes are not shown, and it does not represent Figure 7 The connection relationship of the three routing nodes shown is limited to this). Each routing node will generate a corresponding path decision table. It should be noted here that Figure 7 The figure shows the corresponding path decision table a generated by routing node A; routing node B and routing node C will also generate their own path decision tables. Since the contents of the path decision tables are roughly the same, in order to avoid redundancy Figure 7 The specific method of generating the path decision table by routing node B and routing node C can be seen from path decision table a, which is not marked correspondingly.
[0120] Furthermore, if the current routing node is routing node A, then routing node B and routing node C are routing nodes that are topologically associated with routing node A; one of routing node B and routing node C is selected as the designated routing node, and the uplink time and downlink time between routing node A and each designated routing node are determined. Then, the path state information from the current routing node to each designated routing node is determined based on the uplink time and downlink time, thereby obtaining the path decision table a.
[0121] The uplink time refers to the link delay from the current routing node to the designated routing node, while the downlink time refers to the link delay from the designated routing node to the current routing node. For example, when the designated routing node is routing node B, in path decision table a, neighboring routing node 1 is routing node B, uplink time 1 is the path delay from routing node A to routing node B, and downlink time 1 is the path delay from routing node B to routing node A.
[0122] Path status information refers to a set of specific data or indicators that describe the current data transmission performance between adjacent routing nodes. Path status information can be represented by a specific delay value. For example, if the delay from routing node A to routing node B is 20ms, then 20ms is used to represent the path status information corresponding to the current routing node (routing node A) to the neighboring routing node (routing node B). Alternatively, path status information can be represented by level data, such as comparing the delay from routing node A to routing node B with a preset threshold to determine whether the current delay belongs to the preset levels of "fast", "normal", or "slow". It should be noted that the specific form of the path status information can be set according to actual conditions, and the embodiments of the present application do not impose any restrictions on this.
[0123] Furthermore, the corresponding path state information is determined based on the uplink and downlink times from the current routing node to each neighboring routing node. Specifically, different initial weights are assigned to the current routing node to each neighboring routing node. Based on the initial weights and the uplink and downlink times, the path state information between the current routing node and the corresponding topologically associated routing node is comprehensively determined. For example, assuming that the uplink time from the current routing node (routing node A) to the neighboring routing node (routing node B) is 10 milliseconds (ms) and the downlink time is 8ms, and the uplink time to the neighboring routing node (routing node C) is 5ms and the downlink time is 6ms, and assuming that the initial uplink weight and downlink weight are both 0.5, then:
[0124] Path state information b from routing node A to routing node B: 0.5*(10+8)=9ms;
[0125] Path state information c from routing node A to routing node C: 0.5*(5+6)=5.5ms;
[0126] It can be understood that because path state information c is lower than path state information b, the quality of the link from routing node A to routing node C is better. Furthermore, for the current routing node to each corresponding neighboring routing node, a path decision table is generated based on the uplink time, downlink time, and path state information.
[0127] Furthermore, the embodiments of the present application generate a path decision table to more comprehensively and accurately reflect the real-time status of the links between the current routing node and other routing nodes with which it has topological associations. In addition, compared to considering only one-way delay and static routing information, a path decision table that includes two-way delay and path status information can help routing nodes more accurately select the next-hop routing node, thereby effectively avoiding congested links, reducing transmission delay and jitter, and improving the overall performance and stability of the network.
[0128] Step 103: Receive the target message to be transmitted, determine the next-hop initial forwarding routing node to which the target message should be sent under the initial setting from multiple other routing nodes based on the initial optimal path, and determine the next-hop updated forwarding routing node to which the target message should be sent in real time based on the initial common path and the path decision table, wherein the target message includes the destination routing node representing the forwarding end point of the target message and the path identifier representing the change status of the forwarding path.
[0129] Step 103 is described in detail below.
[0130] Furthermore, when the target network needs to transmit a large number of messages, congestion is very likely to occur. The embodiment of the present application realizes a dual path selection mechanism for target message transmission by combining a predetermined initial optimal path with a real-time updated path decision table, thereby quickly sensing changes in network link quality. When the originally optimal transmission path becomes congested, it can promptly switch to a more optimal transmission path with lower load to disperse the network traffic load, ensure smooth and stable data transmission, and thus improve network communication quality.
[0131] In some embodiments, as Figure 8 As shown, Figure 8 yes Figure 2 Step 103 in the flowchart is an optional implementation, which determines the next hop update forwarding routing node to which the target message needs to be sent in real time based on the initial common path and the path decision table, including:
[0132] 103.1.1 If the initial optimal path does not match the optimal routing node indicated in the path decision table, and the path change participation flag indicates the allowed state, update the path status information in the path decision table based on the uplink time, uplink weight, downlink time, and downlink weight;
[0133] 103.1.2 Based on the initial common path and the updated status information of each path, determine the next hop update forwarding routing node to which the target message needs to be sent in real time.
[0134] Steps 103.1.1 to 103.1.2 are described in detail below.
[0135] In some embodiments, the current routing node first compares the next-hop routing node indicated by the initial optimal path issued by the SDN controller with the real-time optimal path node in its own path decision table to see if they match. If the two are found to be inconsistent and the path change participation flag is in the allowed state, the current routing node combines the latest measured uplink time and downlink time data, as well as the uplink weight and downlink weight of the target message, to update the path status information of each path in the path decision table to reflect the actual link status and transmission performance of the current network in real time, and determine the next-hop update forwarding routing node to be sent to in real time.
[0136] Among them, the target message represents the data packet that needs to be transmitted in the current network. In traditional transmission methods, the target message usually only contains the transmission information used to represent how the target message is transmitted, as well as the specific information generated by the upper-layer business or application and the message information related to the necessary control fields. On this basis, Figure 9 As shown, Figure 9 This is a schematic diagram of an optional target message structure for the message forwarding method for C2F scenarios provided by an embodiment of the present application. This embodiment of the present application improves the message structure. In addition to the necessary transmission information and message information, the target message also includes priority information, a path participation change identifier, a path identifier, and a third timestamp. The destination routing node can be determined from the transmission information. The destination routing node indicates the destination to which the target message is ultimately transmitted.
[0137] Priority information consists of two parts: the packet processing priority and the uplink and downlink weights used to update the path decision table. The packet processing priority represents the order in which the current routing node prioritizes processing each message when receiving multiple messages. The uplink and downlink weights are used to adjust the current routing node's preference for paths in different directions when transmitting target messages of a specific data type. These weights then participate in the dynamic update of path state information and enable the selection of the next-hop forwarding routing node.
[0138] The path change participation flag indicates whether the corresponding target message participates in the selection of the updated path. For example, "1" indicates approval of the change, and "0" indicates disapproval. When the path change participation flag is "0," even if the current routing node discovers a faster transmission path than the initial optimal path, it will still transmit the target message along the initial optimal path. This ensures that certain types of data that require a certain order of arrival will arrive in order.
[0139] Among them, the path identifier is used to indicate whether the target message is transmitted along the initial optimal path. If the target message changes the transmission path during transmission, the path identifier is updated; the third timestamp is used to indicate the time when the target message arrives at the current routing node.
[0140] Among them, the initial forwarding routing node is the next-hop routing node for forwarding the target message expected in the initial state, determined according to the initial optimal path; the updated forwarding routing node is the next-hop routing node with a better target message transmission determined in real time according to the path decision table.
[0141] Furthermore, if the initial optimal path does not match the optimal routing node indicated by the path decision table, and the path change participation flag of the target message is in the allowed state, it means that the latency of the next-hop routing node of the target message determined in the initial state is high and is not suitable for transmission in the current state; and the change participation flag in the allowed state indicates the path modifiability of itself, so the current routing node will first recalculate the path state information in the path decision table based on the uplink weight and downlink weight indicating the target message transmission preference; then, determine which updated routing nodes are within the range of the initial normal path to ensure that the target message can be transmitted to the destination while having the optimal transmission path and faster transmission speed.
[0142] For example, a target message needs to be transmitted from routing node A to routing node Z, and its corresponding initial optimal path is A→B→C→Z, and the initial normal path is A→D→E→Z. The path decision table corresponding to routing node A is as follows in Table 1:
[0143] Table 1
[0144]
[0145] Furthermore, after the target message is transmitted to routing node A, routing node A will parse the target message and determine that the next-hop optimal routing node indicated by the initial optimal path is routing node B, and the next-hop optimal routing node indicated by the current path decision table is routing node D. Since the two do not match, and the path change participation flag corresponding to the target message is represented as "allowed", the current routing node A will re-determine the next-hop routing node of the target message; in the process of parsing the target message, it is also determined that the upstream weight corresponding to this type of target message is 0.6 and the downstream weight is 0.4. Based on this, the path status information in Table 1 is updated:
[0146] Path state information of routing node B: 30*0.6+25*0.4=28;
[0147] Path state information of routing node D: 20*0.6+15*0.4=18 (that is, the path state information before the update was 17, and the value will be slightly adjusted after the update);
[0148] Then, the updated path decision table is obtained as shown in Table 2:
[0149] Table 2
[0150]
[0151] Since the neighboring station routing node D is within the range indicated by the initial ordinary path, that is, transmitting the target message to the neighboring station routing node D can ensure that it is transmitted to the destination routing node Z. Based on this, the current routing node A determines that the status of the path from routing node A to routing node D is better, so it determines that the next hop update forwarding routing node to which the target message needs to be sent in real time is routing node D.
[0152] Furthermore, the embodiments of the present application dynamically monitor network path status to generate a path decision table in real time, and update the path decision table in real time based on the preferences of different types of data for uplink and downlink transmission. This avoids congestion during real-time transmission caused by relying solely on the initial path information historically issued by the SDN controller. In addition, in multi-protocol transmission scenarios, different protocols have different requirements for transmission latency and stability. The embodiments of the present application use uplink weights and downlink weights to flexibly reflect the performance trade-offs of different types of data for transmission in different directions, selecting links with higher transmission quality.
[0153] In some embodiments, as Figure 10 As shown, Figure 10 yes Figure 2 Step 103 in another optional implementation flow chart, after receiving the target message to be transmitted, also includes:
[0154] 103.2.1 updating the initial interaction frequency to obtain a first interaction frequency, wherein the first interaction frequency is lower than the initial interaction frequency;
[0155] 103.2.2 While the current routing node continuously sends the first short detection aggregation message to other routing nodes at the first interaction frequency, the current routing node receives the next target message to be transmitted.
[0156] Steps 103.2.1 to 103.2.2 are described in detail below.
[0157] Among them, since both the target message and the short aggregate message need to be transmitted through the link, when the current routing node starts to receive message data, the initial interaction frequency of transmitting the first detection short aggregate message can be reduced to the first interaction frequency, that is, the period of the current routing node sending the first detection short aggregate message to other routing nodes becomes longer, thereby reducing link occupancy and ensuring the transmission quality of the target message.
[0158] Furthermore, by flexibly adjusting the frequency of short aggregation messages, additional network probe traffic is reduced. This reduces network load and processing pressure on routing nodes while maintaining effective monitoring of path status, thus avoiding the resource waste caused by frequent probing. In complex multi-path, multi-protocol networks, this mechanism for dynamically adjusting interaction frequency helps improve overall network resource utilization efficiency and forwarding performance, ensuring that the network can quickly respond to state changes while conserving bandwidth and computing resources during stable periods, achieving a balance between performance and cost.
[0159] In step 104, if the initial forwarding routing node and the updated forwarding routing node are different, the path identifier is updated and the updated forwarding routing node is used as the target forwarding routing node. The target message with the updated path identifier is forwarded to the target forwarding routing node, so that the target message is forwarded to the destination routing node through the target forwarding route.
[0160] Step 104 is described in detail below.
[0161] In some embodiments, by dynamically comparing the initial path and the real-time path decision results, if a discrepancy is detected and the updated path is more optimal under the current network conditions, the path identifier is promptly updated and the next-hop forwarding node for the target packet is adjusted. This mechanism allows the packet path to be dynamically adjusted based on the real-time network conditions, avoiding increased latency or packet loss due to path degradation and improving the flexibility and adaptability of network transmission. Furthermore, the updated path identifier enables each node in the entire network to accurately identify and coordinate the processing of path changes. This ensures that packets are quickly and reliably delivered to their destination along the optimal path, and improves the user experience.
[0162] Furthermore, the lightweight design of the short aggregate message in the embodiment of the present application reduces the bandwidth occupancy and processing overhead of the detection traffic in the network, avoiding the additional congestion caused by the detection while realizing the detection of the network link status, thereby improving the utilization rate of network resources and the overall transmission efficiency. In addition, the embodiment of the present application also avoids the frequent calculation and multi-dimensional evaluation of a large number of complex attributes by adopting a method of dynamically adjusting the interaction frequency and updating the path status based on a concise path identifier, thereby controlling the computational complexity of the algorithm. While ensuring the timely perception of the network status and the accuracy of the path decision, it effectively reduces the processing delay and system resource consumption, improves the response speed and stability of the network, and meets the application requirements of high real-time performance.
[0163] In some embodiments, as Figure 11 As shown, Figure 11 yes Figure 2 An optional implementation flowchart after step 104 in the embodiment further includes, after updating the path identifier:
[0164] 104.1.1 Generate node delay information based on the updated path identifier;
[0165] 104.1.2 Send the node delay information to the SDN controller, so that the SDN controller determines an update signal for changing the initial interaction frequency according to the node delay information.
[0166] Steps 104.1.1 to 104.1.2 are described in detail below.
[0167] In some embodiments, the node delay information records the changes made by the current routing node to the target message path identifier. The node delay information can be generated and sent to the SDN controller within a preset time. Specifically, the current routing node counts the path identifiers corresponding to each target message received within the preset time and generates the node delay information. For example, within the preset time, routing node A processed 10 target messages, of which the path identifiers of 6 target messages changed, so the node delay information can be 60%; in addition, the embodiment of the present application also sets a preset information threshold, such as a preset information threshold of 30%. Then, 60% of the node delay information indicates that the path identifier change rate of the target message processed by the current routing node is high. The subsequent SDN controller can instruct the corresponding routing node to update the frequency of sending and receiving short aggregate messages based on this situation, and re-determine the new initial path information. Of course, the update generation time of the node delay information and the specific form of the node delay information can be set according to the specific situation, and the embodiment of the present application does not limit this.
[0168] Furthermore, while processing and transmitting packets, the perceived network link status is transmitted to the SDN controller to more accurately determine network conditions. For example, frequently updated path identifiers by routing nodes indicate frequent path switching, which in turn indicates network congestion. Subsequently, based on the collected node latency information, the SDN controller can instruct routing nodes to increase the detection frequency in case of congestion to enable faster response and path adjustment, or reduce the detection frequency in case of smooth network operation to conserve resources, ultimately improving network resource utilization and transmission efficiency.
[0169] In some embodiments, as Figure 12 As shown, Figure 12 yes Figure 2 There is another optional implementation flowchart after step 104 in the embodiment, which further includes:
[0170] 104.2.1 Upon receiving an update signal from the SDN controller, updating the initial interaction frequency to obtain a second interaction frequency, wherein the second interaction frequency is higher than the initial interaction frequency;
[0171] 104.2.2 Continuously send the updated first detection short aggregation message to other routing nodes at the second interaction frequency, and regenerate the path decision table corresponding to the current routing node based on the updated feedback short aggregation message received from the other routing nodes, so that the SDN controller determines a new initial optimal path and a new initial normal path according to the regenerated path decision table.
[0172] Steps 104.2.1 to 104.2.2 are described in detail below.
[0173] The update signal indicates that the SDN controller instructs the corresponding routing node to increase the initial interaction frequency, causing the corresponding routing node to resend the first short-term probe aggregation message at a second interaction frequency. It should be noted that the first short-term probe aggregation messages generated at different times are generally different. Therefore, the current routing node will receive the updated feedback short-term aggregation message sent back by other routing nodes, thereby generating an updated path decision table that reflects the current network link status.
[0174] Furthermore, after the corresponding routing node regenerates the path decision table, the regenerated path decision table is sent to the SDN controller so that the SDN controller determines the new initial path information based on the regenerated path decision table; thereafter, each routing node will continue to transmit and process the next received target message based on the new initial path information and the new path decision table.
[0175] In the embodiments of the present application, the packet forwarding device will be described from another perspective. The packet forwarding method performed by the packet forwarding device can be applied to an SDN controller, wherein the SDN controller is communicatively connected to multiple routing nodes. The packet forwarding method applied to the SDN controller may include, but is not limited to, the following steps 201. The specific process of the packet forwarding device when executing the packet forwarding method is as follows, and certain steps may be reduced or added based on actual needs.
[0176] Step 201: Send the corresponding initial optimal path and initial common path to each routing node, so that each routing node generates the first detection short aggregation message at the current moment after receiving the initial optimal path and the initial common path, sends the first detection short aggregation message to other routing nodes that are topologically associated with the current routing node, receives the feedback short aggregation message sent back by other routing nodes based on the first detection short aggregation message, and generates a corresponding path decision table based on the feedback short aggregation message; receives the target message to be transmitted, and determines the next destination to which the target message needs to be sent under the initial setting from multiple other routing nodes according to the initial optimal path. A one-hop initial forwarding routing node is used, and based on the initial common path and the path decision table, a next-hop updated forwarding routing node to which the target message needs to be sent in real time is determined, wherein the target message includes a destination routing node representing the forwarding end point of the target message and a path identifier representing the change status of the forwarding path; if the initial forwarding routing node and the updated forwarding routing node are different, the path identifier is updated and the updated forwarding routing node is used as the target forwarding routing node, and the target message with the updated path identifier is forwarded to the target forwarding routing node, so that the target message is forwarded to the destination routing node through the target forwarding route.
[0177] Among them, the specific implementation of the message forwarding device applied to the SDN controller is basically the same as the specific implementation of the message forwarding device applied to any routing node mentioned above, and will not be repeated here.
[0178] In some instances, such as Figure 13 As shown, Figure 13 This is an optional implementation flowchart after step 201, which includes sending the corresponding initial optimal path and initial normal path to each routing node:
[0179] 201.1.1 Receive node delay information sent by any routing node. The node delay information is generated based on the updated path identifier.
[0180] 201.1.2 When the node delay information from any routing node reaches a preset information threshold, a local update message is sent to the corresponding routing node so that the corresponding routing node updates the path decision table;
[0181] 201.1.3 When the node delay information from all routing nodes reaches a preset ratio threshold, a global update message is sent to all routing nodes so that all routing nodes update their path decision tables;
[0182] 201.1.4 Receive the updated path decision table sent by the corresponding routing node, and determine a new initial optimal path and a new initial common path according to the updated path decision table.
[0183] Steps 201.1.1 to 201.1.4 are described in detail below.
[0184] The update information includes local update information and global update information. The local update information indicates that the information is sent to some routing nodes in the network, and the global update information indicates that the information is sent to all routing nodes in the network.
[0185] Among them, a threshold value is set for the node delay information of each routing node. When the node delay information exceeds the preset information threshold, it indicates that there may be performance problems on the path where the routing node is located, and local update information is sent to the corresponding routing node, indicating that a local path status update is required; in addition, another threshold value is set for the node delay information of all routing nodes in the entire network. When the node delay information of routing nodes with a preset proportion threshold in the network reaches the preset information threshold, it indicates that the initial path information initially sent by the SDN controller is no longer applicable, and there is a relatively common performance change in the entire network, and a global path status update is required.
[0186] Furthermore, by receiving the updated path decision table sent by each routing node, the SDN controller can dynamically determine a more reasonable and efficient initial optimal path and initial normal path based on the current latest path status of the network, ensuring the timeliness and accuracy of subsequent path selection.
[0187] like Figure 14 As shown, Figure 14 This is another optional module diagram of a message forwarding device for a C2F scenario provided by an embodiment of the present application. The message forwarding device can be applied to any routing node. Each routing node is in communication with the SDN controller. The message forwarding device includes the following modules:
[0188] The first receiving module 301 is configured to receive an initial optimal path and an initial common path sent by the SDN controller;
[0189] The detection module 302 is configured to generate a first short detection aggregation message at the current moment, send the first short detection aggregation message to other routing nodes that are topologically associated with the current routing node, receive feedback short aggregation messages sent back by other routing nodes based on the first short detection aggregation message, and generate a corresponding path decision table based on the feedback short aggregation message;
[0190] The second receiving module 303 is configured to receive a target message to be transmitted, determine the next-hop initial forwarding routing node to which the target message is to be sent under the initial setting from multiple other routing nodes based on the initial optimal path, and determine the next-hop updated forwarding routing node to which the target message is to be sent in real time based on the initial common path and the path decision table, wherein the target message includes a destination routing node representing the forwarding end point of the target message and a path identifier representing the change status of the forwarding path;
[0191] The target forwarding module 304 is configured to update the path identifier and use the updated forwarding routing node as the target forwarding routing node if the initial forwarding routing node and the updated forwarding routing node are different, and forward the target message with the updated path identifier to the target forwarding routing node, so as to forward the target message to the destination routing node through the target forwarding routing.
[0192] The message forwarding method, device, equipment and medium for C2F scenarios proposed in the present application receive the initial optimal path and the initial common path issued by the SDN controller; generate the first detection short aggregation message at the current moment, send the first detection short aggregation message to other routing nodes that are topologically associated with the current routing node, receive the feedback short aggregation message sent back by other routing nodes based on the first detection short aggregation message, and generate a corresponding path decision table based on the feedback short aggregation message, the path decision table can reflect the real-time link status; receive the target message to be transmitted, determine the target message at the initial optimal path from multiple other routing nodes according to the initial optimal path The next-hop initial forwarding routing node to be sent is set, and based on the initial common path and the path decision table, the next-hop updated forwarding routing node to which the target message is to be sent in real time is determined, wherein the target message includes a destination routing node representing the forwarding end point of the target message, and a path identifier representing the change state of the forwarding path; if the initial forwarding routing node and the updated forwarding routing node are different, the path identifier is updated and the updated forwarding routing node is used as the target forwarding routing node, and the target message with the updated path identifier is forwarded to the target forwarding routing node, so as to forward the target message to the destination routing node through the target forwarding routing. The embodiment of the present application realizes a dual path selection mechanism for target message transmission by combining a predetermined initial optimal path with a real-time updated path decision table, thereby quickly sensing changes in network link quality. When the originally optimal transmission path is congested, it can be switched to a more optimal transmission path with a lower load in time to disperse the network traffic load, ensure smooth and stable data transmission, and thus improve network communication quality.
[0193] The message forwarding method for C2F scenarios provided in the embodiments of the present application can be applied to a terminal, can be applied to a server, and can also be software running on a terminal or a server. In some embodiments, the terminal can be a smartphone, tablet computer, laptop computer, desktop computer, etc.; the server can be configured as an independent physical server, or as a server cluster or distributed system composed of multiple physical servers, or as a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms; the software can be an application that implements the message forwarding method for C2F scenarios, etc., but is not limited to the above forms.
[0194] The specific implementation of the message forwarding device for the C2F scenario is basically the same as the specific embodiment of the message forwarding method for the C2F scenario described above, and will not be repeated here.
[0195] The present application can be used in many general or special computer system environments or configurations. For example: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, and the like. The present application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, and the like that perform specific tasks or implement specific abstract data types. The present application can also be practiced in distributed computing environments in which tasks are performed by remote processing devices connected via a communication network. In a distributed computing environment, program modules can be located in local and remote computer storage media, including storage devices.
[0196] The present application also provides an electronic device comprising a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the above-described method for forwarding messages in a C2F scenario. The electronic device can be any smart terminal, including a tablet computer and an in-vehicle computer.
[0197] like Figure 15 As shown, Figure 15 : is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application, the electronic device includes:
[0198] The processor 401 may be implemented as a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is configured to execute relevant programs to implement the technical solutions provided in the embodiments of the present application.
[0199] Memory 402 can be implemented in the form of a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). Memory 402 can store an operating system and other application programs. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the relevant program code is stored in memory 402 and is called by processor 401 to execute the message forwarding method for the C2F scenario in the embodiments of this application.
[0200] Input / output interface 403, used to implement information input and output;
[0201] Communication interface 404, used to implement communication interaction between this device and other devices, which can be achieved through wired means (such as USB, network cable, etc.) or wireless means (such as mobile network, WiFi, Bluetooth, etc.);
[0202] Bus 405 , which transmits information between various components of the device (e.g., processor 401 , memory 402 , input / output interface 403 , and communication interface 404 );
[0203] The processor 401 , the memory 402 , the input / output interface 403 and the communication interface 404 are connected to each other in communication within the device via a bus 405 .
[0204] An embodiment of the present application further provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the computer program implements the above-mentioned message forwarding method for the C2F scenario.
[0205] The memory, as a non-transient computer-readable storage medium, can be used to store non-transient software programs and non-transient computer executable programs. In addition, the memory may include a high-speed random access memory and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some embodiments, the memory may optionally include a memory remotely arranged relative to the processor, and these remote memories may be connected to the processor via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0206] The embodiments described in the embodiments of this application are intended to more clearly illustrate the technical solutions of the embodiments of this application and do not constitute a limitation on the technical solutions provided by the embodiments of this application. Those skilled in the art will appreciate that with the evolution of technology and the emergence of new application scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0207] Those skilled in the art will understand that the technical solutions shown in the figures do not constitute a limitation on the embodiments of the present application, and may include more or fewer steps than shown in the figures, or a combination of certain steps, or different steps.
[0208] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, i.e., they may be located in one place or distributed across multiple network units. Some or all of the modules may be selected based on actual needs to achieve the objectives of this embodiment.
[0209] Those skilled in the art will appreciate that all or some of the steps in the methods, systems, and functional modules / units in the devices disclosed above may be implemented as software, firmware, hardware, or appropriate combinations thereof.
[0210] The terms "first", "second", "third", "fourth", etc. (if any) in the specification of the present application and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequential order. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0211] It should be understood that in this application, "at least one (item)" means one or more, and "plurality" means two or more. "And / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.
[0212] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the above-mentioned units is only a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0213] The units described above as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0214] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0215] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes multiple instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of various embodiments of the present application. The aforementioned storage medium includes: various media that can store programs, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0216] The preferred embodiments of the present invention are described above with reference to the accompanying drawings, but are not intended to limit the scope of the present invention. Any modifications, equivalent substitutions, and improvements made by those skilled in the art without departing from the scope and essence of the present invention should be within the scope of the present invention.
Claims
1. A message forwarding method for a C2F scenario, characterized in that: Applied to any routing node, each of which is in communication with an SDN controller, the method includes: Receiving an initial optimal path and an initial common path issued by the SDN controller; Generate a first short detection aggregation message at the current moment, send the first short detection aggregation message to other routing nodes that are topologically associated with the current routing node, receive feedback short aggregation messages returned by other routing nodes based on the first short detection aggregation message, and generate a corresponding path decision table based on the feedback short aggregation message; Receive a target message to be transmitted, determine, from a plurality of other routing nodes, a next-hop initial forwarding routing node to which the target message is to be sent under an initial setting according to the initial optimal path, and determine, based on the initial common path and the path decision table, a next-hop updated forwarding routing node to which the target message is to be sent in real time, wherein the target message includes a destination routing node representing a forwarding destination of the target message and a path identifier representing a change status of the forwarding path; If the initial forwarding routing node and the updated forwarding routing node are different, the path identifier is updated and the updated forwarding routing node is used as the target forwarding routing node, and the target message with the updated path identifier is forwarded to the target forwarding routing node, so as to forward the target message to the destination routing node through the target forwarding route.
2. The message forwarding method for C2F scenarios according to claim 1, characterized in that: The generating of the first short detection aggregation message at the current moment includes: Obtaining a first initial delay value, a first timestamp, starting point routing information corresponding to the current routing node, and neighboring station routing information corresponding to other routing nodes; Constructing a first initial short aggregation message based on the first initial delay value, the first timestamp, the starting point routing information, and the neighboring station routing information; The first initial short aggregation message is encrypted according to a preset security policy to obtain the first detection short aggregation message.
3. The message forwarding method for C2F scenarios according to claim 2, characterized in that: The sending of the first detection short aggregation message to the other routing nodes that are topologically associated with the current routing node, receiving feedback short aggregation messages returned by the other routing nodes based on the first detection short aggregation message, and generating a corresponding path decision table based on the feedback short aggregation message, includes: continuously sending the first detection short aggregation message to the other routing nodes that are topologically associated with the current routing node at a preset initial interaction frequency; receiving the feedback short aggregation message returned by the other routing nodes based on the first detection short aggregation message, wherein the feedback short aggregation message is obtained by the other routing nodes updating the first initial delay value according to the arrival time of the first detection short aggregation message; Receiving a second short detection aggregation message sent by the other routing nodes, wherein the second short detection aggregation message includes a second initial delay value and a second timestamp; The second initial delay value is updated according to the arrival time of the second detection short aggregation message, and the path decision table corresponding to the current routing node is generated based on the second detection short aggregation message after the second initial delay value is updated and the feedback short aggregation message.
4. The message forwarding method for C2F scenarios according to claim 3, characterized in that: The generating the path decision table corresponding to the current routing node based on the second detection short aggregation message after the second initial delay value is updated and the feedback short aggregation message includes: For any designated routing node among the other routing nodes, determining an uplink time from the current routing node to the designated routing node according to the feedback short aggregation message; Determine, according to the second detection short aggregation message after the second initial delay value is updated, a downlink time from the designated routing node to the current routing node; Determining path state information from the current routing node to the designated routing node according to the uplink time and the downlink time; A path decision table corresponding to the current routing node is generated based on the one-to-one correspondence between the uplink time, the downlink time, and the path state information between the current routing node and each of the designated routing nodes.
5. The message forwarding method for C2F scenarios according to claim 4, characterized in that: The target message also includes an uplink weight, a downlink weight and a path change participation identifier; The step of determining, based on the initial common path and the path decision table, a next-hop update forwarding routing node to which the target message needs to be sent in real time includes: If the initial optimal path does not match the optimal routing nodes respectively indicated in the path decision table, and the path change participation flag is in an allowed state, updating the path status information of each path in the path decision table according to the uplink time, the uplink weight, the downlink time, and the downlink weight; According to the initial common path and the updated state information of each path, a next-hop updated forwarding routing node to which the target message needs to be sent in real time is determined.
6. The message forwarding method for C2F scenarios according to claim 3, characterized in that: After the updating of the path identifier, the method further includes: generating node delay information based on the updated path identifier; The node delay information is sent to the SDN controller, so that the SDN controller determines an update signal for changing the initial interaction frequency according to the node delay information.
7. The message forwarding method for C2F scenarios according to claim 3, characterized in that: After receiving the target message to be transmitted, the method further includes: Updating the initial interaction frequency to obtain a first interaction frequency, wherein the first interaction frequency is lower than the initial interaction frequency; While the current routing node continuously sends the first detection short aggregation message to other routing nodes at the first interaction frequency, the next target message to be transmitted is received.
8. The message forwarding method for C2F scenarios according to claim 6, characterized in that: After sending the node delay information to the SDN controller, the method further includes: When receiving the update signal sent by the SDN controller, updating the initial interaction frequency to obtain a second interaction frequency, wherein the second interaction frequency is higher than the initial interaction frequency; The updated first detection short aggregation message is continuously sent to the other routing nodes at the second interaction frequency, and based on the updated feedback short aggregation message received from the other routing nodes, the path decision table corresponding to the current routing node is regenerated, so that the SDN controller determines a new initial optimal path and a new initial normal path according to the regenerated path decision table.
9. A message forwarding method for C2F scenarios, characterized in that: Applied to an SDN controller, the SDN controller being communicatively connected to a plurality of routing nodes, the method comprising: Send the corresponding initial optimal path and initial common path to each routing node, so that each routing node generates a first detection short aggregation message at the current moment after receiving the initial optimal path and the initial common path, sends the first detection short aggregation message to other routing nodes that are topologically associated with the current routing node, receives feedback short aggregation messages sent back by other routing nodes based on the first detection short aggregation message, and generates a corresponding path decision table based on the feedback short aggregation message; receives the target message to be transmitted, and determines the next hop initial forwarding address to which the target message needs to be sent under the initial setting from multiple other routing nodes according to the initial optimal path. The method further comprises: determining a next-hop updated forwarding routing node, and determining, based on the initial common path and the path decision table, a next-hop updated forwarding routing node to which the target message needs to be sent in real time, wherein the target message includes a destination routing node representing the forwarding end point of the target message, and a path identifier representing a change state of the forwarding path; if the initial forwarding routing node and the updated forwarding routing node are different, updating the path identifier and using the updated forwarding routing node as the target forwarding routing node, forwarding the target message with the updated path identifier to the target forwarding routing node, so as to forward the target message to the destination routing node through the target forwarding route.
10. The message forwarding method for C2F scenarios according to claim 9, characterized in that: After sending the corresponding initial optimal path and initial common path to each routing node, the method further includes: receiving node delay information sent by any of the routing nodes, where the node delay information is generated based on the updated path identifier; When the node delay information from any of the routing nodes reaches a preset information threshold, sending local update information to the corresponding routing node so that the corresponding routing node updates the path decision table; When the node delay information from all the routing nodes reaches a preset ratio threshold, sending global update information to all the routing nodes so that all the routing nodes update the path decision table; Receive the updated path decision table sent by the corresponding routing node, and determine a new initial optimal path and a new initial common path according to the updated path decision table.
11. A message forwarding device for C2F scenarios, characterized in that: Applied to any routing node, each of the routing nodes is in communication with an SDN controller, and the device includes: A first receiving module is configured to receive an initial optimal path and an initial common path sent by the SDN controller; a detection module, configured to generate a first short detection aggregation message at the current moment, send the first short detection aggregation message to other routing nodes that are topologically associated with the current routing node, receive feedback short aggregation messages returned by other routing nodes based on the first short detection aggregation message, and generate a corresponding path decision table based on the feedback short aggregation message; a second receiving module, configured to receive a target message to be transmitted, determine, from among the plurality of other routing nodes, a next-hop initial forwarding routing node to which the target message is to be sent under an initial setting based on the initial optimal path, and determine, based on the initial common path and the path decision table, a next-hop updated forwarding routing node to which the target message is to be sent in real time, wherein the target message includes a destination routing node representing a forwarding destination of the target message and a path identifier representing a change status of the forwarding path; a target forwarding module, configured to update the path identifier and use the updated forwarding routing node as the target forwarding routing node if the initial forwarding routing node and the updated forwarding routing node are different, and forward the target message with the updated path identifier to the target forwarding routing node, so as to forward the target message to the destination routing node through the target forwarding routing.
12. An electronic device, characterized in that: The electronic device includes a memory and a processor, the memory stores a computer program, and when the processor executes the computer program, it implements the message forwarding method for the C2F scenario described in any one of claims 1 to 8, or implements the message forwarding method for the C2F scenario described in any one of claims 9 to 10.
13. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, it implements the message forwarding method for a C2F scenario as described in any one of claims 1 to 8, or implements the message forwarding method for a C2F scenario as described in any one of claims 9 to 10.
Citation Information
Patent Citations
Message forwarding method and device
CN110535761A
Message forwarding method and related device
CN117768379A