Traffic distribution method and device, electronic equipment and storage medium
By dynamically adjusting the weight value of the routing path in the communication network, the problem of unreliable traffic allocation results in the prior art is solved based on the overall health value and port information of each neighbor node, and the performance and reliability of network communication are improved.
Patent Information
- Application Number
- CN202411612550.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-12
- Publication Date
- 2025-02-14
- Estimated Expiration
- 2044-11-12
AI Technical Summary
In the scenario of complex network communication environment, the existing technology cannot guarantee the reliability of traffic allocation results, resulting in network communication congestion and packet loss, affecting network performance and reliability.
By obtaining the overall health value and port information of each neighbor node in the routing node of the communication network according to the preset period, dynamically adjusting the weight value of the routing path, and determining the traffic allocation result based on the destination address and dynamic weight value of the data packet.
It improves the reliability of traffic allocation results, optimizes the performance and reliability of network communication, and avoids network congestion and packet loss.
Smart Images

Figure CN119449692A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a flow distribution method, device, electronic device and storage medium. Background Art
[0002] With the continuous development of network communication technology, users have higher and higher requirements for data communication efficiency. Therefore, how to determine the routing path with higher data communication efficiency has become a key research topic.
[0003] In the related art, after multiple reachable paths are determined, traffic is usually distributed to each reachable path in proportion according to a preset static weight value of each reachable path, wherein the preset static weight value represents the relative importance of each path in the traffic distribution process.
[0004] However, in complex network communication environments, the network status changes dynamically, and the reliability of the traffic allocation results determined only by the preset static weight values cannot be guaranteed, resulting in increased network communication congestion and even possible data packet loss, which seriously affects the overall performance and reliability of network communications. Summary of the invention
[0005] The present application provides a flow distribution method, device, electronic device and storage medium to solve the defects of related technologies such as the inability to guarantee the reliability of the determined flow distribution results.
[0006] The first aspect of the present application provides a traffic distribution method, which is applied to any routing node in a communication network, and the method includes:
[0007] Obtain the overall health value and port information of each neighbor node according to the preset period;
[0008] Determine the dynamic weight value of the routing path between each of the neighboring nodes according to the overall health value and port information of each of the neighboring nodes;
[0009] Obtaining a data packet to be transmitted and a destination address of the data packet to be transmitted;
[0010] The flow distribution result of the data packet to be transmitted is determined according to the destination address of the data packet to be transmitted and the dynamic weight value of each routing path, so as to transmit the data packet to be transmitted in proportion based on multiple target paths.
[0011] In an optional implementation manner, the obtaining the overall health value and port information of each neighbor node according to a preset period includes:
[0012] For any of the neighboring nodes, obtaining the performance indicator monitoring information of the neighboring node within the preset period;
[0013] Determine a bit error rate health value of the neighboring node according to the current bit error rate represented by the performance indicator monitoring information of the neighboring node, the minimum bit error rate within the preset period, and the maximum bit error rate within the preset period;
[0014] Determine the temperature health value of the optical module of the neighboring node according to the current temperature of the optical module represented by the performance indicator monitoring information of the neighboring node, the lowest temperature of the optical module within the preset period, and the highest temperature of the optical module within the preset period;
[0015] Determine the health value of the optical module power supply voltage of the neighboring node according to the current power supply voltage of the optical module represented by the performance indicator monitoring information of the neighboring node, the lowest power supply voltage of the optical module within the preset period, and the highest power supply voltage of the optical module within the preset period;
[0016] Obtaining the performance indicator weight of the neighbor node;
[0017] Determine the overall health value of the neighbor node according to the performance indicator weight, the bit error rate health value, the optical module temperature health value and the optical module power supply voltage health value of the neighbor node;
[0018] Acquire the port bandwidth of the neighbor node to obtain the port information of the neighbor node;
[0019] The port information of the neighbor node at least includes the port bandwidth.
[0020] In an optional implementation, determining the bit error rate health value of the neighbor node according to the current bit error rate represented by the performance indicator monitoring information of the neighbor node, the minimum bit error rate within the preset period, and the maximum bit error rate within the preset period includes:
[0021] The bit error rate health value of the neighbor node is determined based on the following formula:
[0022]
[0023] Among them, BER H Indicates the bit error rate health value of the neighbor node, BER indicates the current bit error rate, BER min Indicates the minimum bit error rate within the preset period, BER max Indicates the maximum bit error rate within the preset period.
[0024] In an optional implementation, the determining the temperature health value of the optical module of the neighboring node according to the current temperature of the optical module represented by the performance indicator monitoring information of the neighboring node, the lowest temperature of the optical module within the preset period, and the highest temperature of the optical module within the preset period includes:
[0025] The temperature health value of the optical module of the neighboring node is determined based on the following formula:
[0026]
[0027] Among them, T H represents the temperature health value of the optical module of the neighboring node, T represents the current temperature of the optical module, and T l Indicates the lowest temperature of the optical module within the preset period, T h Indicates the maximum temperature of the optical module within the preset period.
[0028] In an optional implementation, the determining the optical module power supply voltage health value of the neighboring node according to the current power supply voltage of the optical module represented by the performance indicator monitoring information of the neighboring node, the lowest power supply voltage of the optical module within the preset period, and the highest power supply voltage of the optical module within the preset period includes:
[0029] The healthy value of the optical module power supply voltage of the neighboring node is determined based on the following formula:
[0030]
[0031] Among them, V H Indicates the health value of the optical module power supply voltage of the neighboring node, V indicates the current power supply voltage of the optical module, V l Indicates the minimum power supply voltage of the optical module within the preset period, V h Indicates the maximum power supply voltage of the optical module within the preset period.
[0032] In an optional implementation, determining the dynamic weight value of the routing path between each neighbor node according to the overall health value and port information of each neighbor node includes:
[0033] For any of the neighboring nodes, determine a dynamic weight value of a routing path between the neighboring node and the neighboring node according to a product value of an overall health value of the neighboring node and a port bandwidth;
[0034] The port information of the neighbor node at least includes the port bandwidth.
[0035] In an optional implementation manner, determining the flow distribution result of the data packet to be transmitted according to the destination address of the data packet to be transmitted and the dynamic weight value of each routing path includes:
[0036] Determining, according to the destination address of the data packet to be transmitted, a plurality of target routing paths connected to the destination address;
[0037] According to the dynamic weight value of each target routing path, the flow distribution ratio of each target routing path is determined to obtain the flow distribution result of the data packet to be transmitted.
[0038] A second aspect of the present application provides a traffic distribution device, which is applied to any routing node in a communication network, and includes:
[0039] The first acquisition module is used to obtain the overall health value and port information of each neighbor node according to a preset period;
[0040] A first determination module, configured to determine a dynamic weight value of a routing path between each of the neighboring nodes according to an overall health value and port information of each of the neighboring nodes;
[0041] A second acquisition module, used to acquire a data packet to be transmitted and a destination address of the data packet to be transmitted;
[0042] The second determination module is used to determine the flow distribution result of the data packet to be transmitted according to the destination address of the data packet to be transmitted and the dynamic weight value of each routing path, so as to transmit the data packet to be transmitted in proportion based on multiple target paths.
[0043] A third aspect of the present application provides an electronic device, comprising: at least one processor and a memory;
[0044] The memory stores computer-executable instructions;
[0045] The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor performs the method described in the first aspect and various possible designs of the first aspect.
[0046] A fourth aspect of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions. When a processor executes the computer-executable instructions, the method described in the first aspect and various possible designs of the first aspect are implemented.
[0047] A fifth aspect of the present application provides a computer program product, including computer instructions, which are used to enable a computer to execute the method described in the first aspect and various possible designs of the first aspect.
[0048] The technical solution of this application has the following advantages:
[0049] The present application provides a traffic distribution method, device, electronic device and storage medium, the method comprising: obtaining the overall health value and port information of each neighbor node according to a preset period; determining the dynamic weight value of the routing path between each neighbor node according to the overall health value and port information of each neighbor node; obtaining the data packet to be transmitted and the destination address of the data packet to be transmitted; determining the traffic distribution result of the data packet to be transmitted according to the destination address of the data packet to be transmitted and the dynamic weight value of each routing path, so as to transmit the data packet to be transmitted in proportion based on multiple target paths. The method provided by the above scheme determines the dynamic weight value of each routing path according to the overall health value and port information of the neighbor node, so as to ensure that the determined dynamic weight value matches the actual performance of the neighbor node, thereby improving the reliability of the final determined traffic distribution result, and laying a foundation for improving the overall performance and reliability of network communication. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related technologies, the following is a brief introduction to the drawings required for use in the embodiments or the related technical descriptions. Obviously, the drawings described below are some embodiments of the present application, and a person skilled in the art can also obtain other drawings based on these drawings.
[0051] Figure 1 A schematic diagram of the WECMP network structure provided in the embodiment of the present application;
[0052] Figure 2 This is a schematic diagram of the structure of the flow distribution system based on the embodiment of the present application;
[0053] Figure 3 A flow chart of a flow distribution method provided in an embodiment of the present application;
[0054] Figure 4 A schematic diagram of the structure of a routing node provided in an embodiment of the present application;
[0055] Figure 5 A schematic diagram of the communication process of a routing node provided in an embodiment of the present application;
[0056] Figure 6 A schematic diagram of the structure of a flow distribution device provided in an embodiment of the present application;
[0057] Figure 7 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application.
[0058] The above drawings have shown clear embodiments of the present application, which will be described in more detail below. These drawings and text descriptions are not intended to limit the scope of the present disclosure in any way, but to illustrate the concepts of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION
[0059] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0060] First, the terms involved in this application are explained:
[0061] LLDP (Link Layer Discovery Protocol): LLDP (Link Layer Discovery Protocol) is a network protocol that runs at the data link layer, which allows devices to broadcast their identity information and receive identity information of neighboring devices. LLDP is mainly used for the discovery and management of network devices. The protocol periodically sends and receives data units in TLV (type-length-value) format, carrying information such as device identifiers, port descriptions, and system capabilities. This mechanism helps manage network topology and enhances network troubleshooting capabilities by providing detailed information about devices and their connections.
[0062] ECMP (Equal-Cost Multi-Path): Equal-Cost Multi-Path (ECMP) is a routing strategy that allows packets to be forwarded through multiple paths with the same cost. In traditional routing, packets usually reach their destination along a single path, while ECMP can use multiple paths to balance network load and improve network redundancy and fault tolerance. Especially when there are multiple paths with the same routing cost, ECMP can increase bandwidth utilization and reduce the risk of congestion on a single path. ECMP is widely used in high-performance networks, data centers, and cloud environments to optimize network efficiency.
[0063] WECMP (Weighted Equal-Cost Multi-Path): Weighted Equal-Cost Multi-Path (WECMP) is an extension of ECMP technology that introduces the concept of weighted path selection. Unlike ECMP, which distributes traffic equally to all available paths, WECMP assigns different weights to each path based on specific criteria such as path bandwidth, latency, or reliability. This approach allows for more fine-grained and optimized traffic distribution. By adjusting weights, network administrators can prioritize certain paths to ensure that more important or latency-sensitive data is transmitted through the most appropriate path. WECMP is particularly useful in complex network environments, enabling better control of traffic engineering and optimized network performance.
[0064] In addition, the terms "first", "second", etc. are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. In the description of the following embodiments, the meaning of "multiple" is more than two, unless otherwise clearly and specifically defined.
[0065] In network traffic management, WECMP (Weighted Equal-Cost Multi-Path) is a widely used load balancing technology. It optimizes network performance by distributing traffic among multiple paths. The core of WECMP technology is to distribute traffic according to the weight ratio of the path. These weights are usually pre-set based on the bandwidth, delay or other network characteristics of the path. Figure 1 FIG. 1 is a schematic diagram of a WECMP network structure provided in an embodiment of the present application. Figure 1 This is a typical WECMP network structure, which contains five nodes: A, B, C, D and E. Among them, node A is the source node and node E is the destination node. There are multiple paths to choose from between nodes. The specific paths and their weights are as follows:
[0066] Path 1: A→B→E, weight is 10;
[0067] Path 2: A→C→E, weight is 20;
[0068] Path 3: A→D→E, with a weight of 10.
[0069] These weight values represent the relative importance of each path in the traffic distribution process of WECMP. The higher the weight of the path, the greater the proportion it gets in the traffic distribution. This mechanism ensures that data flows can be reasonably distributed according to the carrying capacity of different paths, thereby avoiding uneven use of network resources.
[0070] Under the WECMP mechanism, the first thing to do is path discovery, that is, to determine all available paths from source node A to destination node E. In this process, the network device will find all possible paths based on the information in the routing table and calculate the cost of each path. In this example, there are three paths from A to E, and their costs are represented by weights.
[0071] Next, the network administrator or system assigns weights to each path based on predefined criteria. These weight values are used to indicate the relative priority of each path in traffic distribution. Figure 1 In the example, the path weight of A to B to E is 10, the path weight of A to C to E is 20, and the path weight of A to D to E is also 10. These weights can reflect the carrying capacity or priority of the path.
[0072] After determining the paths and their weights, WECMP will distribute traffic to the paths based on these weights. For example, if there are 100 packets that need to be sent from A to E, the system will distribute them as follows.
[0073] Path 1: The weight is 10, accounting for 25% of the total weight (40). This path will carry 25 packets;
[0074] Path 2: The weight is 20, accounting for 50% of the total weight (40). This path will carry 50 packets;
[0075] Path 3: The weight is 10, which is 25% of the total weight (40). This path will also carry 25 packets.
[0076] This traffic distribution method ensures that data flow is not concentrated on a single path, thereby achieving load balancing. This not only optimizes the use of network resources, but also improves the overall performance and stability of the network.
[0077] The data packets are transmitted according to the allocation results of the previous step. Each path will receive a corresponding number of data packets, which will be transmitted to the destination according to the preset weight ratio. During the actual transmission process, the network equipment will monitor the status of each path in real time to ensure that the data packets can reach the destination reliably.
[0078] WECMP (Weighted Equal-Cost Multi-Path) technology has been widely used in multi-path load balancing. It distributes data flows by assigning different weights to multiple paths. However, this technology also has some significant disadvantages and limitations in practical applications, especially in the context of increasing network complexity and growing demand for dynamic adjustment. These disadvantages include but are not limited to the following aspects:
[0079] Traditional WECMP usually relies on static weight settings, which means that the weight of each path is determined when the network is configured and remains unchanged during network operation. Static weights cannot adapt to real-time changing network conditions, such as link quality fluctuations, equipment failures, or load changes. For example, when a path degrades due to equipment failure or external interference, the static weight cannot be adjusted in time and traffic will still be allocated according to the original allocation ratio. This situation may lead to increased congestion or even packet loss, seriously affecting the overall performance and reliability of the network.
[0080] Another limitation of traditional WECMP is that it lacks the ability to evaluate the real-time health status of network nodes and links. In modern networks, the health status of nodes, such as port bandwidth utilization and temperature, directly affects the processing capacity and forwarding efficiency of data packets. However, traditional WECMP does not have the ability to detect and respond to these health indicators. This means that even if some nodes are overloaded, overheated, etc., WECMP cannot adjust the weights according to these dynamic changes to optimize traffic distribution.
[0081] Traditional WECMP solutions lack adaptability and cannot automatically adjust according to changes in network conditions. In modern network environments, the traffic characteristics of various applications are different and may change at any time, such as sudden high traffic and priority requirements for mission-critical traffic. Traditional static WECMP is difficult to adapt to these changes and lacks an intelligent scheduling mechanism. This limitation makes it impossible for the network to dynamically optimize resource allocation and achieve optimal traffic management and service quality assurance.
[0082] In response to the above problems, the embodiments of the present application provide a traffic distribution method, device, electronic device and storage medium, the method comprising: obtaining the overall health value and port information of each neighbor node according to a preset period; determining the dynamic weight value of the routing path between each neighbor node according to the overall health value and port information of each neighbor node; obtaining the data packet to be transmitted and the destination address of the data packet to be transmitted; determining the traffic distribution result of the data packet to be transmitted according to the destination address of the data packet to be transmitted and the dynamic weight value of each routing path, so as to transmit the data packet to be transmitted in proportion based on multiple target paths. The method provided by the above scheme determines the dynamic weight value of each routing path according to the overall health value and port information of the neighbor node, so as to ensure that the determined dynamic weight value matches the actual performance of the neighbor node, thereby improving the reliability of the final determined traffic distribution result, and laying a foundation for improving the overall performance and reliability of network communication.
[0083] The following specific embodiments may be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments. The embodiments of the present invention will be described below in conjunction with the accompanying drawings.
[0084] First, the structure of the flow distribution system on which this application is based is described:
[0085] The flow distribution method, device, electronic device and storage medium provided in the embodiments of the present application are suitable for performing flow distribution when any routing node in a communication network obtains a data packet to be transmitted. Figure 2 As shown, it is a schematic diagram of the structure of the flow distribution system based on the embodiment of the present application, which mainly includes multiple neighbor nodes, a flow distribution device and a data receiving device. Among them, the data receiving device is used to receive the overall health value and port information fed back by each neighbor node, and send all the obtained data to the flow distribution device, and the flow distribution device performs corresponding flow distribution according to the obtained data.
[0086] The embodiment of the present application provides a flow distribution method, which is applied to any routing node in a communication network, and is used to distribute flow when any routing node in the communication network obtains a data packet to be transmitted. The execution subject of the embodiment of the present application is an electronic device, such as a server, a desktop computer, a laptop computer, a tablet computer, and other electronic devices that can be used for flow distribution.
[0087] like Figure 3 FIG. 1 is a flow chart of a flow distribution method provided in an embodiment of the present application, and the method includes:
[0088] Step 301: Obtain the overall health value and port information of each neighbor node according to a preset period.
[0089] Among them, the neighbor node is a node that has a direct communication link with the current routing node. In the embodiment of the present application, the routing node to which the method provided by the embodiment of the present application is applied is referred to as the current routing node for the convenience of distinction and description. Figure 1 As shown, for the current routing node A, routing nodes B, C and D are neighboring nodes of routing node A.
[0090] Step 302: Determine the dynamic weight value of the routing path between each neighbor node according to the overall health value and port information of each neighbor node.
[0091] It should be noted that the overall health value of the neighbor node is used to directly reflect the health status of the node, and the port information is used to reflect the network communication capability of the node.
[0092] Specifically, in one embodiment, for any neighbor node, the dynamic weight value of the routing path between the neighbor node and the neighbor node may be determined according to the product value of the overall health value of the neighbor node and the port bandwidth.
[0093] The port information of the neighbor node at least includes the port bandwidth.
[0094] Specifically, the dynamic weight value of the routing path between each neighbor node can be determined based on the following formula:
[0095] Weight i =Health_value i ×Port_Speed i
[0096] Among them, Weight i Indicates the dynamic weight value of the routing path between neighbor node i, Health_value i Indicates the overall health value of neighbor node i, Port_Speed i Indicates the port bandwidth of neighbor node i.
[0097] Specifically, by updating the dynamic weight value of each routing path according to the product value of the overall health value of the neighbor node and the port bandwidth according to a preset period, it is ensured that the dynamic weight value of each routing path matches the actual performance of the neighbor node.
[0098] Among them, the traditional WECMP solution lacks adaptability and cannot automatically adjust according to changes in network conditions. In modern network environments, the traffic characteristics of various applications are different and may change at any time, such as sudden high traffic and priority requirements for mission-critical traffic. Traditional static WECMP is difficult to adapt to these changes and lacks an intelligent scheduling mechanism. This limitation makes it impossible for the network to dynamically optimize resource allocation and achieve optimal traffic management and service quality assurance.
[0099] Specifically, in one embodiment, the dynamic weight value can be adjusted according to real-time traffic data. For example, if the traffic suddenly increases, the weight of the neighbor node with a larger port bandwidth can be increased to ensure sufficient bandwidth and resources. The weight of the neighbor node that meets the priority requirements of the critical mission traffic can also be adjusted according to the priority requirements of the critical mission traffic to adapt to the traffic distribution requirements.
[0100] Step 303: Obtain the data packet to be transmitted and the destination address of the data packet to be transmitted.
[0101] The destination address of the data packet to be transmitted is used to represent the destination node, that is, the data packet to be transmitted needs to be sent to the destination node through the current routing node.
[0102] Step 304, determining the flow distribution result of the data packets to be transmitted according to the destination address of the data packets to be transmitted and the dynamic weight value of each routing path, so as to transmit the data packets to be transmitted in proportion based on multiple target paths.
[0103] Specifically, path discovery can be performed first according to the destination address to determine multiple reachable paths between the current routing node and the destination node, and then the traffic distribution result of the data packets to be transmitted can be determined according to the dynamic weight value of each reachable path to determine the number of data packets to be transmitted that each reachable path needs to bear. Among them, if the overall health value of a neighboring node is lower than a predetermined threshold, the embodiment of the present application will automatically reduce the weight value of the routing path, reduce its traffic distribution, and avoid congestion and performance degradation.
[0104] Exemplarily, if there are 100 data packets to be transmitted, the reachable paths are path 1, path 2 and path 3, wherein the dynamic weight values corresponding to path 1, path 2 and path 3 are 10, 20 and 10 respectively. Based on this, it is determined that path 1 accounts for 25% of the total weight (40), that is, path 1 will undertake 25% of the traffic transmission, that is, it will undertake the transmission of 25 data to be transmitted; it is determined that path 2 accounts for 50% of the total weight (40), that is, path 1 will undertake 50% of the traffic transmission, that is, it will undertake the transmission of 50 data to be transmitted; it is determined that path 3 accounts for 25% of the total weight (40), that is, path 3 will undertake 25% of the traffic transmission, that is, it will undertake the transmission of 25 data to be transmitted.
[0105] Specifically, in one embodiment, in order to further improve the security of data transmission, when the overall health value of any neighbor node is lower than a preset alarm value, the neighbor node can generate an alarm message and suspend the data transmission service of the neighbor node, that is, no longer allocate traffic to the neighbor node.
[0106] Specifically, in one embodiment, multiple target routing paths connected to the destination address can be determined according to the destination address of the data packet to be transmitted; the traffic distribution ratio of each target routing path can be determined according to the dynamic weight value of each target routing path to obtain the traffic distribution result of the data packet to be transmitted.
[0107] The target routing path is a plurality of reachable paths between the current routing node and the destination node, and the traffic allocation ratio is the traffic ratio assumed. The traffic allocation result of the data packet to be transmitted includes the traffic allocation ratio of each target routing path.
[0108] On the basis of the above embodiment, since the overall health value and port information of the neighboring node will directly affect the reliability of the traffic distribution result, in order to further improve the reliability of the traffic distribution result, as an implementable method, in one embodiment, the overall health value and port information of each neighboring node are obtained according to a preset period, including:
[0109] Step 3011, for any neighboring node, obtaining the performance indicator monitoring information of the neighboring node within a preset period;
[0110] Step 3012, determining a bit error rate health value of the neighboring node according to the current bit error rate, the minimum bit error rate within a preset period, and the maximum bit error rate within a preset period represented by the performance indicator monitoring information of the neighboring node;
[0111] Step 3013, determining the temperature health value of the optical module of the neighboring node according to the current temperature of the optical module represented by the performance indicator monitoring information of the neighboring node, the lowest temperature of the optical module within a preset period, and the highest temperature of the optical module within a preset period;
[0112] Step 3014, determining a healthy value of the optical module power supply voltage of the neighboring node according to the current power supply voltage of the optical module represented by the performance indicator monitoring information of the neighboring node, the lowest power supply voltage of the optical module within a preset period, and the highest power supply voltage of the optical module within a preset period;
[0113] Step 3015, obtaining the performance indicator weight of the neighboring node;
[0114] Step 3016, determining the overall health value of the neighboring node according to the performance indicator weight, the bit error rate health value, the optical module temperature health value, and the optical module power supply voltage health value of the neighboring node;
[0115] Step 3017: Obtain the port bandwidth of the neighboring node to obtain the port information of the neighboring node.
[0116] The port information of the neighbor node at least includes the port bandwidth.
[0117] It should be noted that in order to alleviate the computing pressure of a single node, all routing nodes in the entire communication network calculate the overall health value based on the above steps. After each routing node completes the calculation of its own overall health value, it sends the overall health value and port information to the neighboring node, so that all routing nodes in the communication network can obtain the overall health value and port information of the neighboring node.
[0118] Specifically, in one embodiment, the bit error rate health value of the neighbor node may be determined based on the following formula:
[0119]
[0120] Among them, BER H Indicates the bit error rate health value of the neighbor node. BER indicates the current bit error rate. BER min Indicates the minimum bit error rate within a preset period, BER max Indicates the maximum bit error rate within the preset period.
[0121] Accordingly, in one embodiment, the temperature health value of the optical module of the neighboring node may be determined based on the following formula:
[0122]
[0123] Among them, T H Indicates the temperature health value of the optical module of the neighboring node. T indicates the current temperature of the optical module. l Indicates the lowest temperature of the optical module within the preset period, T h Indicates the maximum temperature of the optical module within the preset period.
[0124] Accordingly, in one embodiment, the healthy value of the optical module power supply voltage of the neighboring node may be determined based on the following formula:
[0125]
[0126] Among them, V H Indicates the power supply voltage health value of the neighboring node’s optical module. V indicates the current power supply voltage of the optical module. V l Indicates the minimum power supply voltage of the optical module within the preset period, V h Indicates the maximum power supply voltage of the optical module within the preset period.
[0127] It should be noted that since the temperature and supply voltage of the optical module are both integers, in order to make the obtained bit error rate health value, optical module temperature health value and optical module supply voltage health value all decimals between [0,1], the embodiment of the present application proposes the above calculation formula. The embodiment of the present application takes into account that the temperature and supply voltage of the optical module are too high or too low, which have a negative impact on the health of the node. Therefore, in the formula, 0.5 is subtracted and the square term is used to handle the deviation, so that the deviation of the high value and the low value is handled uniformly. The coefficient 4 is used to amplify the impact of the deviation to ensure that the health value is between [0,1]. When the temperature or supply voltage is at the center of the interval, the value of this item is 0, that is, the health level is 1.
[0128] Furthermore, the overall health value of each neighbor node can be determined based on the following formula:
[0129] Health_value=ω BER BER H +ω T ·T h +ω Ve ·V h
[0130] Among them, ω BER ,ω T and ω Ve Indicates the performance indicator weight, that is, the performance indicator weight corresponding to the bit error rate health value, optical module temperature health value, and optical module power supply voltage health value.
[0131] Specifically, Figure 4As shown, it is a structural diagram of the routing node provided in an embodiment of the present application. The routing node includes a data collection module, a health value calculation module, an LLDP transmission module, an LLDP receiving module, a health value processing and weight adjustment module and a WECMP configuration module.
[0132] Among them, the data collection module is used to collect key performance indicators of the local device (current routing node) and provide them to the health value calculation module, such as bit error rate, power supply voltage, optical module temperature, etc. It will also obtain port information such as port bandwidth and provide the port information to the health value processing and weight adjustment module.
[0133] The health value calculation module is used to calculate the overall health value of the node based on the data provided by the data collection module. This includes normalizing key performance indicators such as bit error rate, optical module supply voltage, and optical module temperature, and assigning weights based on their impact on overall health, and finally calculating a comprehensive health value. This comprehensive health value represents the health status of the port and is used to guide the adjustment of WECMP weights. Other indicators that may affect performance can also be included as needed to provide a more comprehensive health assessment.
[0134] The LLDP transmission module is used to transmit the health value information of the node to the adjacent neighbor nodes through the LLDP protocol.
[0135] The LLDP receiving module is used to receive health value information transmitted from other nodes through LLDP, and transmit this information to the health value processing and weight adjustment module.
[0136] The health value processing and weight adjustment module is used to process the health value information received from other nodes, and based on this information combined with the bandwidth capacity, dynamically adjust the weight of WECMP, that is, determine the dynamic weight value of the routing path. Specifically, the module will analyze the overall health value received, and then perform a weighted calculation on these two values according to the port bandwidth capacity represented by each port information to obtain the final WECMP weight value. This weight value determines the traffic distribution ratio of each port in load balancing, ensuring that traffic is preferentially passed through paths with good health and sufficient bandwidth, thereby optimizing network performance and resource utilization.
[0137] The WECMP configuration module is used to configure all WECMP-related parameters according to the dynamic weight value of the routing path to ensure the reasonable distribution of network traffic.
[0138] For example, Figure 5As shown, it is a communication flow diagram of the routing node provided by the embodiment of the present application, the adjacent node is the neighbor node, the configuration node is the local current routing node, and the adjacent node first uses the data collection module to obtain key performance indicators from the local device, including bit error rate, optical module supply voltage, optical module temperature, etc. These data are passed to the health value calculation module respectively. According to the original data obtained from the data collection module, the health value calculation module normalizes each key performance indicator and calculates a comprehensive health value in combination with the weight. This health value is used to indicate the overall health status of the port. After the calculation is completed, the adjacent node passes these health values to the configuration node through the LLDP protocol. The LLDP transmission module is responsible for embedding the health value into the custom TLV field and broadcasting it to the adjacent nodes periodically.
[0139] The configuration node receives health information transmitted from neighboring nodes through the LLDP receiving module. After verification, this information is passed to the health processing and weight adjustment module. This module analyzes the received health values and combines them with the bandwidth capacity data collected locally. The health processing and weight adjustment module performs a weighted calculation of the overall health value and bandwidth capacity to obtain the final WECMP weight value for each port, and each port corresponds to a neighbor node. This weight value is used to determine the priority of each port in network traffic distribution. Based on the final WECMP weight value calculated by the health processing and weight adjustment module, the WECMP configuration module is responsible for updating and configuring all WECMP parameters. By adjusting these weights, it is ensured that traffic is preferentially passed through paths with good health and sufficient bandwidth. This configuration process is designed to optimize network performance, improve resource utilization, and maintain load balancing.
[0140] The traffic distribution method provided in the embodiment of the present application obtains the overall health value and port information of each neighbor node according to a preset period; determines the dynamic weight value of the routing path between each neighbor node according to the overall health value and port information of each neighbor node; obtains the data packet to be transmitted and the destination address of the data packet to be transmitted; determines the traffic distribution result of the data packet to be transmitted according to the destination address of the data packet to be transmitted and the dynamic weight value of each routing path, so as to transmit the data packet to be transmitted in proportion based on multiple target paths. The method provided by the above scheme determines the dynamic weight value of each routing path according to the overall health value and port information of the neighbor node, so as to ensure that the determined dynamic weight value matches the actual performance of the neighbor node, thereby improving the reliability of the final determined traffic distribution result, and laying a foundation for improving the overall performance and reliability of network communication.
[0141] The flow distribution method provided in the embodiment of the present application actually has the following beneficial effects:
[0142] Enhanced dynamic adjustment capability: By introducing a dynamic adjustment mechanism for WECMP weights based on health value and bandwidth capacity, it can respond to the health status and resource usage of each node in the network in real time. This dynamic adjustment capability ensures that traffic is preferentially allocated to paths with good health and sufficient bandwidth, effectively avoiding potential network bottlenecks and resource waste.
[0143] Improved network reliability and performance: Through real-time monitoring and analysis of node device health indicators (such as bit error rate, power supply voltage, temperature, etc.), traffic distribution can be adjusted in a timely manner when an abnormality occurs. This proactive management strategy helps improve the overall reliability of the network and reduce network interruptions or performance degradation caused by equipment failure or performance degradation.
[0144] Optimize resource utilization efficiency: Calculate weights based on overall health and bandwidth capacity to help use network resources more evenly. Paths with higher health values will carry more traffic, reducing unnecessary resource usage and energy consumption. In addition, by avoiding overuse of unhealthy paths, the service life of node devices can be extended.
[0145] Distributed management without a centralized controller: The method provided in the embodiment of the present application does not rely on a centralized controller, but instead utilizes the collaboration between distributed nodes to implement the configuration and management of WECMP. This not only reduces the complexity and cost of the system, but also improves the scalability and flexibility of the system. Each node can independently monitor and manage its own status, thereby maintaining efficient operation in a large-scale network.
[0146] An embodiment of the present application provides a traffic distribution device, which is applied to any routing node in a communication network and is used to execute the traffic distribution method provided in the above embodiment.
[0147] like Figure 6 , which is a schematic diagram of the structure of the flow distribution device provided in the embodiment of the present application. The flow distribution device 60 comprises: a first acquisition module 601 , a first determination module 602 , a second acquisition module 603 and a second determination module 604 .
[0148] Among them, the first acquisition module is used to obtain the overall health value and port information of each neighbor node according to a preset period; the first determination module is used to determine the dynamic weight value of the routing path between each neighbor node according to the overall health value and port information of each neighbor node; the second acquisition module is used to obtain the data packet to be transmitted and the destination address of the data packet to be transmitted; the second determination module is used to determine the traffic distribution result of the data packet to be transmitted according to the destination address of the data packet to be transmitted and the dynamic weight value of each routing path, so as to transmit the data packet to be transmitted in proportion based on multiple target paths.
[0149] Regarding the flow distribution device in this embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.
[0150] The flow distribution device provided in the embodiment of the present application is used to execute the flow distribution method provided in the above embodiment. Its implementation method and principle are the same and will not be repeated here.
[0151] An embodiment of the present application provides an electronic device for executing the flow distribution method provided in the above embodiment.
[0152] like Figure 7 FIG. 7 is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. The electronic device 70 includes: at least one processor 71 and a memory 72 .
[0153] The memory stores computer-executable instructions; at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor executes the flow distribution method provided in the above embodiment.
[0154] The electronic device provided in the embodiment of the present application is used to execute the traffic distribution method provided in the above embodiment. Its implementation method and principle are the same and will not be repeated here.
[0155] An embodiment of the present application provides a computer-readable storage medium, in which computer-executable instructions are stored. When a processor executes the computer-executable instructions, the traffic distribution method provided in any of the above embodiments is implemented.
[0156] The storage medium containing computer executable instructions provided in the embodiment of the present application can be used to store computer executable instructions of the traffic distribution method provided in the aforementioned embodiment. The implementation method and principle are the same and will not be repeated here.
[0157] An embodiment of the present application provides a computer program product, including computer instructions, which are used to enable a computer to execute the traffic distribution method provided in the aforementioned embodiment.
[0158] The embodiments of the present application provide a computer program product that can be used to execute computer instructions of the traffic distribution method provided in the aforementioned embodiments. The implementation method and principle are the same and will not be repeated here.
[0159] In the several embodiments provided in the present 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 only schematic. For example, the division of units is only a logical function division. There may be other division methods in actual implementation, 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.
[0160] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0161] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of hardware plus software functional units.
[0162] The above-mentioned integrated unit implemented in the form of a software functional unit can be stored in a computer-readable storage medium. The above-mentioned software functional unit is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to perform some steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program code.
[0163] A part of the present application may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should understand that the existence of computer program instructions in computer-readable media includes, but is not limited to, source files, executable files, installation package files, etc., and accordingly, the way in which computer program instructions are executed by a computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium can be any available computer-readable storage medium or communication medium accessible to the computer.
[0164] Those skilled in the art can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example for illustration. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. The specific working process of the device described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.
[0165] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A flow distribution method, characterized in that: The method is applied to any routing node in a communication network, and the method comprises: Obtain the overall health value and port information of each neighbor node according to the preset period; Determine the dynamic weight value of the routing path between each of the neighboring nodes according to the overall health value and port information of each of the neighboring nodes; Obtaining a data packet to be transmitted and a destination address of the data packet to be transmitted; The flow distribution result of the data packet to be transmitted is determined according to the destination address of the data packet to be transmitted and the dynamic weight value of each routing path, so as to transmit the data packet to be transmitted in proportion based on multiple target paths.
2. The method according to claim 1, characterized in that The step of obtaining the overall health value and port information of each neighbor node according to a preset period includes: For any of the neighboring nodes, obtaining the performance indicator monitoring information of the neighboring node within the preset period; Determine a bit error rate health value of the neighboring node according to the current bit error rate represented by the performance indicator monitoring information of the neighboring node, the minimum bit error rate within the preset period, and the maximum bit error rate within the preset period; Determine the temperature health value of the optical module of the neighboring node according to the current temperature of the optical module represented by the performance indicator monitoring information of the neighboring node, the lowest temperature of the optical module within the preset period, and the highest temperature of the optical module within the preset period; Determine the health value of the optical module power supply voltage of the neighboring node according to the current power supply voltage of the optical module represented by the performance indicator monitoring information of the neighboring node, the lowest power supply voltage of the optical module within the preset period, and the highest power supply voltage of the optical module within the preset period; Obtaining the performance indicator weight of the neighbor node; Determine the overall health value of the neighbor node according to the performance indicator weight, the bit error rate health value, the optical module temperature health value and the optical module power supply voltage health value of the neighbor node; Acquire the port bandwidth of the neighbor node to obtain the port information of the neighbor node; The port information of the neighbor node at least includes the port bandwidth.
3. The method according to claim 2, characterized in that The determining the bit error rate health value of the neighboring node according to the current bit error rate represented by the performance indicator monitoring information of the neighboring node, the minimum bit error rate within the preset period, and the maximum bit error rate within the preset period includes: The bit error rate health value of the neighbor node is determined based on the following formula: Among them, BER H Indicates the bit error rate health value of the neighbor node, BER indicates the current bit error rate, BER min Indicates the minimum bit error rate within the preset period, BER max Indicates the maximum bit error rate within the preset period.
4. The method according to claim 2, characterized in that: The determining the temperature health value of the optical module of the neighboring node according to the current temperature of the optical module represented by the performance indicator monitoring information of the neighboring node, the lowest temperature of the optical module within the preset period, and the highest temperature of the optical module within the preset period includes: The temperature health value of the optical module of the neighboring node is determined based on the following formula: Among them, T H represents the temperature health value of the optical module of the neighboring node, T represents the current temperature of the optical module, and T l Indicates the lowest temperature of the optical module within the preset period, T h Indicates the maximum temperature of the optical module within the preset period.
5. The method according to claim 2, characterized in that: The determining the optical module power supply voltage health value of the neighboring node according to the current power supply voltage of the optical module represented by the performance indicator monitoring information of the neighboring node, the lowest power supply voltage of the optical module within the preset period, and the highest power supply voltage of the optical module within the preset period includes: The healthy value of the optical module power supply voltage of the neighboring node is determined based on the following formula: Among them, V H Indicates the health value of the optical module power supply voltage of the neighboring node, V indicates the current power supply voltage of the optical module, V l Indicates the minimum power supply voltage of the optical module within the preset period, V h Indicates the maximum power supply voltage of the optical module within the preset period.
6. The method according to claim 1, characterized in that The step of determining the dynamic weight value of the routing path between each of the neighboring nodes according to the overall health value and port information of each of the neighboring nodes includes: For any of the neighboring nodes, determine a dynamic weight value of a routing path between the neighboring node and the neighboring node according to a product value of an overall health value of the neighboring node and a port bandwidth; The port information of the neighbor node at least includes the port bandwidth.
7. The method according to claim 1, characterized in that Determining the flow distribution result of the data packet to be transmitted according to the destination address of the data packet to be transmitted and the dynamic weight value of each routing path includes: Determining, according to the destination address of the data packet to be transmitted, a plurality of target routing paths connected to the destination address; According to the dynamic weight value of each target routing path, the flow distribution ratio of each target routing path is determined to obtain the flow distribution result of the data packet to be transmitted.
8. A flow distribution device, characterized in that: The device is applied to any routing node in a communication network, and the device includes: The first acquisition module is used to obtain the overall health value and port information of each neighbor node according to a preset period; A first determination module, configured to determine a dynamic weight value of a routing path between each of the neighboring nodes according to an overall health value and port information of each of the neighboring nodes; A second acquisition module, used to acquire a data packet to be transmitted and a destination address of the data packet to be transmitted; The second determination module is used to determine the flow distribution result of the data packet to be transmitted according to the destination address of the data packet to be transmitted and the dynamic weight value of each routing path, so as to transmit the data packet to be transmitted in proportion based on multiple target paths.
9. An electronic device, characterized in that: include: at least one processor and memory; The memory stores computer-executable instructions; The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor performs the method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, and when a processor executes the computer-executable instructions, the method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Flow forwarding method, device, equipment and medium
CN113746734A
Multi-link adaptive scheduling and transmission method and device, equipment and storage medium
CN118764915A
Cloud private line high availability method and system based on SDN (Software Defined Network)
CN118827361A
Resilient network communication using selective multipath packet flow spraying
US20190104057A1
Health-based management of a network
US20240256500A1