Network node multi-path scheduling method based on link state
By maintaining a multi-path schedule on the network nodes and dynamically adjusting the traffic proportion according to the link status and traffic scheduling feedback messages, the congestion problem caused by traffic aggregation in the network is solved, and the full utilization of resources and the improvement of throughput capabilities are achieved.
Patent Information
- Application Number
- CN202311794208.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-25
- Publication Date
- 2025-06-27
AI Technical Summary
When the prior art is transmitted in the network, it is easy to cause congestion on nodes with high degree centering, and only considering the balancing load, it is impossible to fully utilize the resources of each link, resulting in low network resource utilization and poor user experience.
A multi-path scheduling method based on link state is proposed. By maintaining a multi-path scheduling table on the network node, dynamically adjusting the traffic ratio of the next hop network node according to the link state and traffic scheduling feedback message, realizing flexible path selection and full utilization of resources.
By dynamically adjusting the traffic ratio, local traffic hotspots can be effectively bypassed, network resources can be fully utilized, network throughput capabilities, and user experience can be improved.
Smart Images

Figure CN120223602A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technologies, and particularly to a multi-path scheduling method for network nodes based on link state. Background Art
[0002] In today's society, Internet traffic shows an explosive growth trend. The actual throughput capacity of the network is not only limited by the theoretical capacity, but also significantly affected by the routing strategy. On the one hand, the overlap of transmission paths will increase the node load and become a performance bottleneck restricting network throughput. For example, the shortest path routing strategy. Nodes will select the shortest path to the destination to forward data packets according to the network topology information, which is easy to implement and can effectively avoid loops, and has been widely used. However, this strategy is prone to congestion caused by the aggregation of transmissions on nodes with high degree centrality. On the other hand, only considering load balancing cannot fully utilize the resources on each link, reducing network resource utilization and resulting in a very poor user experience. Therefore, appropriate paths should be selected for transmissions in the network.
[0003] To achieve this goal, with the development of the Internet, multi-path transmission has been deeply studied. It has changed from only selecting the shortest path from the sender to the receiver for transmission to aggregating multiple paths for transmission. On the one hand, it can reduce the limitations brought by bottleneck nodes with traffic aggregation and improve throughput. On the other hand, using multiple paths for transmission can enhance the robustness and security of transmission:
[0004] 1) Paper title: "Forward delay-based packet scheduling algorithm for multipath TCP": The paper proposes a novel MPTCP path management method. This method temporarily closes the slower transmission paths according to the delay difference between paths, so that the data packets of short flows can be transmitted from the path with the best quality, thereby reducing the competition time of short flows. This scheme uses the multi-addresses of the sender and the receiver to form multiple transmission paths. On the one hand, the usage scenario is limited; on the other hand, each sub-path is still the shortest path, which does not solve the problem of path aggregation forming local hotspots, and will also bring the problem of shared bottlenecks, occupying the bandwidth of other transmissions.
[0005] 2) Paper title: "Efficient Techniques and Tools for Intra-domain Traffic Engineering": The paper proposes two heuristic algorithms for optimizing weights. One is a non-iterative algorithm. It formalizes the original problem, finds the dual problem of the original problem, and solves the dual problem to obtain the values of the dual variables (link weights); the other is to use the column generation algorithm. It finds all the shortest paths between source and destination nodes according to the current weight settings, and then uses the column generation algorithm to solve the linear programming problem. This scheme makes static allocations on network nodes according to characteristics such as topology, and cannot be adjusted to adapt to the real-time changes of network states.
[0006] 3) Paper title: "Improved efficient routing strategy on scale-free networks": The paper proposes a global routing strategy for traffic redistribution. This strategy disperses the packets on nodes with higher betweenness to other idle nodes to prevent the accumulation of packets on nodes with higher betweenness, and this strategy effectively improves the transmission capacity of the network. For a global routing strategy, for a large-scale network, the acquisition and storage of global information both require a great deal of cost. And the dynamic adjustment is not flexible, and frequent adjustment is likely to cause network oscillations.
[0007] 4) Paper title: "Self-adjusting routing schemes for time-varying traffic in scale-free networks": The paper proposes a hybrid routing strategy called the traffic awareness algorithm. In this strategy, the congestion situation of the network is sensed through the queue length of nodes, and then corresponding measures are taken to disperse the packets to improve the transmission efficiency of the packets. This strategy cannot perform accurate scheduling to disperse the traffic on congested links to other idle links. When the traffic from multiple upstream nodes converges to the same node, even if each link is not congested, it may exceed the node scheduling capacity at the convergence node and cause congestion. Summary of the Invention
[0008] The purpose of the present invention is to overcome the defects of the prior art and propose a multi-path scheduling method for network nodes based on link state.
[0009] To achieve the above purpose, the present invention proposes a multi-path scheduling method for network nodes based on link state, including:
[0010] Each network node divides data packets that use multipath transmission and have the same destination information into a group of data, and looks up the set of alternative next-hop network nodes for this group of data and the traffic ratio assigned to each next-hop network node in the multipath scheduling table pre-established according to the destination information; selects the next-hop network node according to the traffic ratio by the set scheduling algorithm, and forwards the data packet according to the next-hop network node; repeats the above forwarding process until the packet is forwarded to the receiving end corresponding to the destination information;
[0011] In the above forwarding process, when the total traffic in the multipath scheduling table of each network node reaches or exceeds the threshold, it sends a link feedback message requesting adjustment of the traffic ratio to the previous-hop network node, and the previous-hop network node updates the multipath scheduling table according to the link state of this network node and the link feedback message.
[0012] Preferably, the fields carried in the data packet header include:
[0013] A multipath transmission flag bit, used to indicate whether multipath transmission is required; and
[0014] Destination information, used to indicate the receiving end of the data packet.
[0015] Preferably, each of the alternative next-hop network nodes corresponds to a transmission path that can reach the receiving end, and the traffic ratio assigned to each next-hop network node is the traffic proportion of the corresponding transmission path.
[0016] Preferably, the set scheduling algorithms include: weighted random, weighted round robin, and weighted hash algorithms.
[0017] Preferably, the link state is set by the previous-hop network node according to its own link forwarding volume to this network node and the link bandwidth, including: unsaturated state, congested state, and saturated state;
[0018] When the link forwarding volume is less than α times the link bandwidth, it is in the unsaturated state;
[0019] When the link forwarding volume is greater than β times the link bandwidth, it is in the congested state;
[0020] When its link forwarding volume is between α times the link bandwidth and β times the link bandwidth, it is in the saturated state; where 0 < α < β < 1;
[0021] When receiving the link feedback message, set the link state to the congested state.
[0022] Preferably, the updating of the multipath scheduling table includes:
[0023] Taking the accumulated sum of the traffic to be scheduled of the next-hop network nodes with the link state of congested state in the multipath scheduling table as the scheduling target;
[0024] Traverse each next-hop network node in the multi-path scheduling table whose corresponding link state is congested, and accumulate the larger value of the traffic that needs to be adjusted by the network node and the feedback scheduling field in the link feedback message to the scheduling target;
[0025] Modify the link state to saturated state;
[0026] Subtract the part accumulated to the scheduling target from the allocated traffic ratio;
[0027] After traversing all next-hop network nodes with congested states, select network nodes with unsaturated link states. When there are multiple unsaturated network nodes, preferentially select network nodes with large bandwidth, low latency, and few hops. Take the smaller value of the scheduling target and its receivable scheduling traffic as the scheduling value, update the node allocation ratio by increasing the scheduling value and modify the corresponding link state to saturated state, update the scheduling target by reducing the scheduling value, and repeat this step until the scheduling target is zero.
[0028] Preferably, the updating of the multi-path scheduling table further includes: deleting and masking network nodes that may cause loops from the next-hop network nodes according to the destination information; specifically including:
[0029] According to the destination information of the data stream corresponding to the multi-path scheduling table, delete the network nodes whose default next-hop network node is this node from the adjacent-hop network nodes;
[0030] For the network nodes that have forwarded packets with this destination information to this network node within a set time period, set a random masking time. During the masking time, consider this network node unavailable. After the masking time ends, repeatedly detect whether packets with the corresponding destination information have been forwarded to this network node within the set time period. If so, continue to set a random masking time. Otherwise, consider this network node available and set the allocated traffic ratio.
[0031] Preferably, each network node regularly updates the link state of the next-hop network node according to its own period T, calculates the traffic that needs to be scheduled away when the congested link reaches the saturated state, and the traffic that can receive scheduling when the unsaturated link reaches the saturated state. The period T is determined according to the queue buffer length of the corresponding port of the link. The larger the buffer, the longer the period T.
[0032] Compared with the prior art, the advantages of the present invention are:
[0033] A multi-path scheduling method for network nodes based on link state is proposed. By maintaining a multi-path scheduling table on network nodes, which records the set of alternative next-hop network nodes for each group of data and the traffic ratio allocated to each next-hop network node, the alternative nodes can adapt to network state changes and make full use of the diversity of network paths. Through the link state and traffic scheduling feedback messages from this network node to the next-hop network node, the traffic ratio allocated to the next-hop network node is updated for downward scheduling. At the same time, this network node can send feedback messages to the previous-hop network node for upward feedback. The combination of the two can promptly discover and bypass local traffic hotspots, achieving the goal of making full use of network resources to improve network throughput capacity. Description of the Drawings
[0034] Figure 1 It is a flowchart for a network node to update the traffic ratio allocated in the multi-path scheduling table;
[0035] Figure 2 It is a flowchart for a network node to forward data packets;
[0036] Figure 3 It is a diagram of an example of the specific implementation manner. Specific Implementation Manner
[0037] The multi-path scheduling method for network nodes based on link state in this application involves the following entities: network nodes, sending-end nodes, and receiving-end nodes. The sending end and the receiving end include physical entities such as servers, PCs, and mobile phones. Network nodes have functions such as processing packets, forwarding packets, and multi-path scheduling.
[0038] The network node divides data packets that use multi-path transmission and have the same destination information into a group of data, and maintains a multi-path scheduling table for each group of data, which is used to record the set of alternative next-hop network nodes for this group of data and the traffic ratio allocated to each next-hop network node. When the total traffic of a next-hop network node in its multi-path scheduling table reaches or exceeds the threshold, it notifies the previous-hop network node of a traffic scheduling feedback message to adjust the traffic ratio sent to this next-hop network node. The previous-hop network node updates the traffic ratio allocated to this next-hop network node according to the link state from this node to the next-hop network node and the traffic scheduling feedback message;
[0039] The traffic scheduling feedback information of the next-hop network node refers to the link feedback packet sent by the next-hop network node to this node. When the total traffic of each node in a certain scheduling table on this node exceeds the threshold, a link feedback packet is sent to the remaining nodes after deleting the nodes included in the scheduling table among the adjacent hop nodes. The packet carries a feedback scheduling field, which is used to identify the traffic ratio that needs to be scheduled when the total traffic of the scheduling table on this node drops below the threshold.
[0040] Each next-hop network node in the multi-path scheduling table corresponds to a transmission path that can reach the receiver. The traffic ratio assigned to each next-hop network node is the proportion of the traffic on the corresponding transmission path. The link state and traffic scheduling feedback message to the next-hop network node determine whether the traffic ratio assigned to the node needs to be adjusted, the adjustment ratio, and the priority of the next-hop network node to receive the scheduled traffic.
[0041] The link state of the next-hop network node can be divided into a congested state, a saturated state, and an unsaturated state according to the link load. It can be calculated by the statistics of the link forwarding volume and the link bandwidth on the node. When the forwarding volume is less than α times the bandwidth, it is in the unsaturated state. When the forwarding volume is greater than β times the bandwidth, it is in the congested state. In other cases, it is in the saturated state, where 0 < α < β < 1. When the network node receives the traffic scheduling feedback message of the next-hop network node, it updates the link state of the corresponding node to the congested state.
[0042] The network node updates the link state of the next-hop network node according to the period T, calculates the traffic that needs to be scheduled away when the congested link reaches the saturated state, and the traffic that can receive scheduling when the unsaturated link reaches the saturated state. The period T can be determined according to the queue buffer length of the link corresponding port. The larger the buffer, the longer the period T can be.
[0043] The method for updating the traffic ratio assigned to the node is as shown in the appendix Figure 1 In a scheduling table, the sum of the traffic that needs to be scheduled for all next-hop network nodes with the corresponding link state being congested is used as the scheduling target. If a link feedback message of the next-hop network node is received, the larger value between the traffic that the node needs to schedule and the feedback scheduling field in the message is accumulated to the scheduling target. The allocation ratio of the node corresponding to the congested link is updated by subtracting the part accumulated to the scheduling target, and the link state corresponding to the node is modified to the saturated state.
[0044] Then, from the scheduling table, select the nodes with the link state being unsaturated. When there are multiple unsaturated nodes, preferentially select the nodes with large bandwidth, low delay, and few hops. Take the smaller value between the scheduling target and the traffic that it can receive scheduling as the scheduling value, update the node allocation ratio by adding the scheduling value and modify the corresponding link state to the saturated state, update the scheduling target by subtracting the scheduling value, and repeat this step until the scheduling target is zero.
[0045] The nodes in the multi-path scheduling table are obtained by deleting and masking the nodes that may cause loops from the adjacent-hop nodes.
[0046] The method for deleting and masking the next-hop network nodes that may cause loops includes:
[0047] According to the destination information of the data stream corresponding to the scheduling table, delete the nodes with the default next-hop being this node from the adjacent-hop nodes.
[0048] For nodes that have recently forwarded packets with the destination information to this node, set a random blocking time. During the blocking time, the node is considered unavailable. After the blocking time ends, repeatedly detect whether packets with the corresponding destination information have been recently forwarded to this node. If so, continue to set a random blocking time. Otherwise, consider the node available and set the allocated traffic ratio.
[0049] After receiving a data packet, a network node with multi-path scheduling capabilities forwards the packet as shown in the appendix Figure 2 Detect the multi-path transmission flag bit in the packet header. For data packets indicated by the flag bit to use multi-path transmission, match the destination information of the data packet and select the corresponding multi-path scheduling table; according to the traffic ratio allocated to each node in the multi-path scheduling table, select a next-hop network node for the data packet according to the set scheduling algorithm and continue forwarding.
[0050] Multi-path transmission flag bit. When the sender sends a data packet to the network, the fields carried in the header include but are not limited to: the multi-path transmission flag bit, which is used to indicate whether multi-path is required for transmission.
[0051] The set scheduling algorithm can be selected from: weighted random, weighted round-robin, and weighted hash.
[0052] To make the technical solution of this application clearer, the technical solution of this application will be described in detail below with reference to the accompanying drawings and embodiments.
[0053] Embodiment
[0054] The following combines the appendix Figure 3 Describe a multi-path scheduling method for network nodes based on link state provided by this application. In the figure, the source server Server is the sender of the data, the user User is the receiver of the data, and the network nodes A to D are network nodes with multi-path scheduling capabilities, responsible for processing and forwarding the network packets.
[0055] The source server Server sends a data packet to the user User. In Figure (a), the scheduling sets on each node are in the initial state. There is only one path for the routes from network nodes B, C, and D to the user node dest1, and there are two paths for the route from network node A to dest1. Among them, the number of hops of the two links L1 and L2 is the same, and the bandwidth of L1 is larger, so L1 is preferentially selected. Therefore, L1 is used as the default path, that is, L1 is allocated 100% of the total traffic, and L2 is allocated 0% of the total traffic. The transmission traffic in Figure (a) is 8 Gbps, and the link is not congested, so no scheduling is performed and the data is transmitted according to the default path.
[0056] In Figure (b), the traffic transmission speed of the source server Server reaches 10 Gbps. In network node A, L1 has a bandwidth of 8 Gbps, and 20% of the traffic needs to be scheduled to other links, that is, L2 in the figure. Therefore, in network node A, 80% of the total traffic is allocated to L1 link, and 20% of the total traffic is allocated to L2 link. The 10 Gbps traffic transmitted by the source server Server is divided into two paths, 8 Gbps of traffic is transmitted in L1, and 2 Gbps of traffic is transmitted in L2.
[0057] In Figure (c), the traffic transmission speed of the source server Server is still 10 Gbps. At the same time, the same traffic sent to dest1 with a rate of 2 Gbps is applied to network node B. At this time, there are 8 Gbps of traffic from Server and 2 Gbps of traffic from other links in network node B, and congestion will occur. However, there is only one link in network node B, and the total traffic exceeds the threshold of 8 Gbps, so scheduling cannot be completed in network node B. Therefore, a link feedback message needs to be sent to the previous-hop network node, that is, network node A, and 25% of the traffic needs to be scheduled to other links. After receiving the link state update message, network node A schedules 25% of the traffic originally allocated to L1 link to L2 according to 80% of the total traffic. Finally, 60% of the traffic is allocated to L1 and 40% of the traffic is allocated to L2. The 10 Gbps traffic is divided into two paths, 6 Gbps of traffic is transmitted in L1, and 4 Gbps of traffic is transmitted in L2.
[0058] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and not to limit them. Although the present invention has been described in detail with reference to the embodiments, those of ordinary skill in the art should understand that any modification or equivalent replacement of the technical solutions of the present invention does not depart from the spirit and scope of the technical solutions of the present invention, and they should all be covered by the scope of the claims of the present invention.
Claims
1. A multi-path scheduling method for network nodes based on link state, comprising: Each network node divides data packets that use multi-path transmission and have the same destination information into a group of data, and looks up the set of alternative next-hop network nodes for this group of data and the traffic ratio assigned to each next-hop network node in the multi-path scheduling table established in advance according to the destination information; selects the next-hop network node according to the traffic ratio by a set scheduling algorithm, and forwards the data packet according to the next-hop network node; repeats the above forwarding process until the packet is forwarded to the receiving end corresponding to the destination information; During the above forwarding process, when the total traffic of each network node in its multi-path scheduling table reaches or exceeds the threshold, it sends a link feedback packet requesting adjustment of the traffic ratio to the previous-hop network node, and the previous-hop network node updates the multi-path scheduling table according to the link state of this network node and the link feedback packet.
2. The multi-path scheduling method for network nodes based on link state according to claim 1, wherein The fields carried in the data packet header include: A multi-path transmission flag bit, used to indicate whether multi-path transmission is required; and Destination information, used to indicate the receiving end of the data packet.
3. The multi-path scheduling method for network nodes based on link state according to claim 1, characterized in that The alternative next-hop network node corresponds to a transmission path that can reach the receiving end, and the traffic ratio assigned to each next-hop network node is the traffic proportion of the corresponding transmission path.
4. The multi-path scheduling method for network nodes based on link state according to claim 1, wherein The set scheduling algorithms include: weighted random, weighted round-robin, and weighted hash algorithms.
5. The method for multi-path scheduling of network nodes based on link state according to claim 1, wherein The link state is set by the previous-hop network node according to its own link forwarding volume to this network node and the link bandwidth, including: unsaturated state, congested state, and saturated state; When the link forwarding volume is less than α times the link bandwidth, it is in the unsaturated state; When the link forwarding volume is greater than β times the link bandwidth, it is in the congested state; When its link forwarding volume is between α times the link bandwidth and β times the link bandwidth, it is in the saturated state; where 0 < α < β < 1; When receiving the link feedback packet, set the link state to the congested state.
6. The multi-path scheduling method for network nodes based on link state according to claim 5, characterized in that, The updating of the multi-path scheduling table includes: Taking the cumulative sum of the traffic to be scheduled of all next-hop network nodes with the link state of congested state in the multi-path scheduling table as the scheduling target; Traversing each next-hop network node with the corresponding link state of congested state in the multi-path scheduling table, and adding the larger value of the traffic that needs to be adjusted by this network node and the feedback scheduling field in the link feedback packet to the scheduling target; Changing the link state to the saturated state; Subtracting the part accumulated to the scheduling target from the assigned traffic ratio; When all next-hop network nodes with the congested state are traversed, select network nodes with the link state of unsaturated. When there are multiple unsaturated network nodes, preferentially select network nodes with large bandwidth, low latency, and few hops. Take the smaller value of the scheduling target and its receivable scheduling traffic as the scheduling value, update the node allocation ratio by adding the scheduling value and change the corresponding link state to the saturated state, update the scheduling target by subtracting the scheduling value, and repeat this step until the scheduling target is zero.
7. The method for multi-path scheduling of network nodes based on link state according to claim 5, characterized in that, The updating of the multi-path scheduling table further includes: deleting and masking network nodes that may cause loops from the next-hop network nodes according to the destination information; specifically including: Deleting network nodes with the default next-hop network node being this node from the adjacent-hop network nodes according to the destination information of the data stream corresponding to the multi-path scheduling table; For the network nodes that have forwarded packets with the destination information to this network node within a set time period, set a random blocking time. During the blocking time, the network node is considered unavailable. After the blocking time ends, repeatedly detect whether packets with the corresponding destination information have been forwarded to this network node within the set time period. If so, continue to set a random blocking time. Otherwise, consider the network node available and set the allocated traffic ratio.
8. The multi-path scheduling method for network nodes based on link state according to claim 5, wherein Each network node regularly updates the link state of the next-hop network node according to its own period T, calculates the traffic that needs to be scheduled away when the congested link reaches the saturated state, and the traffic that can receive scheduling when the unsaturated link reaches the saturated state. The period T is determined according to the queue buffer length of the corresponding port of the link. The larger the buffer, the longer the period T.