Multi-path traffic scheduling method, device and computer program product

By receiving telemetry messages from multiple node devices in a multi-path communication scenario and dynamically adjusting the link weight of the traffic scheduling path, the network congestion and load imbalance caused by centralized data processing in the prior art are solved, and more efficient load balancing and network performance optimization are achieved.

CN119743431APending Publication Date: 2025-04-01BEIJING UNIV OF POSTS & TELECOMM
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411726171.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-28
Publication Date
2025-04-01

AI Technical Summary

Technical Problem

The existing multi-path traffic scheduling method based on in-band network telemetry technology has increased network congestion and delay caused by centralized data processing, and cannot achieve optimal load balancing, affecting network performance.

Method used

By receiving telemetry messages from at least two second node devices, the link weight of the traffic scheduling path corresponding to each second node device is dynamically adjusted based on these messages, and the service messages are forwarded according to the link weight.

Benefits of technology

It effectively reduces the need to transmit all data to a single center point for processing, reduces network transmission overhead, achieves more efficient load balancing, and improves link bandwidth utilization and network performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119743431A_ABST
    Figure CN119743431A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of network communication, in particular to a multi-path traffic scheduling method and device and a computer program product, applied to first node equipment, and the method comprises the following steps: respectively receiving telemetering messages from at least two second node equipment; adjusting a link weight of a traffic scheduling path corresponding to each second node device based on the telemetering message; and forwarding the received service message based on the link weight of the traffic scheduling path. According to the method, the telemetering messages are respectively received from the at least two second node devices, and the link weight of the traffic scheduling path is dynamically adjusted based on the telemetering messages, so that the service message forwarding is realized according to the link weight, the requirement of transmitting all data to a single center point for processing can be effectively reduced, and the service message forwarding efficiency is improved. According to the invention, the transmission overhead of the network is reduced, more efficient load balancing is realized through refined flow control, the utilization rate of the link bandwidth is improved, and the network performance is optimized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of network communication technology, and in particular to a multi-path traffic scheduling method, device and computer program product. Background Art

[0002] Existing methods for implementing multi-path traffic scheduling based on in-band network telemetry (INT) technology mostly optimize communication paths through centralized telemetry information collection and the use of historical data.

[0003] However, centralized telemetry information collection requires all data to be transmitted to a unified control center for processing. This centralized processing will lead to network congestion and increased latency. Using historical data to optimize communication paths cannot achieve optimal load balancing, which affects network performance. Therefore, how to reduce network overhead and achieve efficient load balancing in multi-path communication scenarios to improve link bandwidth utilization has become a technical problem that needs to be solved urgently. Summary of the invention

[0004] Based on the above technical problems, the present disclosure provides a multi-path traffic scheduling method, device and computer program product.

[0005] According to one aspect of the present disclosure, a multi-path traffic scheduling method is provided, which is applied to a first node device, and the method includes: receiving telemetry messages from at least two second node devices respectively; adjusting the link weight of the traffic scheduling path corresponding to each second node device based on the telemetry message; and forwarding the received business message based on the link weight of the traffic scheduling path.

[0006] In addition, according to a multi-path traffic scheduling method according to one aspect of the present disclosure, the link weight of the traffic scheduling path corresponding to each second node device is adjusted based on the telemetry message, including: determining the link throughput and / or maximum queue length of the traffic scheduling path corresponding to each second node device based on the telemetry message; adjusting the link weight of each traffic scheduling path based on the link throughput and / or maximum queue length.

[0007] In addition, according to a multi-path traffic scheduling method according to one aspect of the present disclosure, the link weight of each traffic scheduling path is adjusted based on the link throughput and / or the maximum queue length, including: when the link throughput is equal to or exceeds a first preset threshold, the link weight value corresponding to the traffic scheduling path is reduced.

[0008] In addition, according to a multi-path traffic scheduling method according to one aspect of the present disclosure, the link weight of each traffic scheduling path is adjusted based on the link throughput and / or the maximum queue length, including: when the maximum queue length is equal to or exceeds a second preset threshold, the link weight value corresponding to the traffic scheduling path is reduced.

[0009] In addition, according to a multi-path traffic scheduling method according to one aspect of the present disclosure, the link weight of each traffic scheduling path is adjusted based on the link throughput and / or the maximum queue length, including: when the link throughput is less than a third threshold and the maximum queue length is less than a second preset threshold, the link weight value corresponding to the traffic scheduling path is self-added.

[0010] In addition, according to a multi-path traffic scheduling method according to one aspect of the present disclosure, the received business message is forwarded based on the link weight of the traffic scheduling path, including: determining the traffic scheduling path with the largest link weight value based on the link weight of the traffic scheduling path; forwarding the received business message to the traffic scheduling path with the largest link weight value.

[0011] According to another aspect of the present disclosure, a multipath traffic scheduling method is provided, which is applied to a second node device, the second node device being a P4 programmable switch, the method comprising: obtaining metadata, the metadata comprising an ingress port, an egress port, and a queue length; determining a time interval between a current timestamp and a timestamp of a last telemetry message generation; determining whether the time interval exceeds a preset telemetry frequency; if the time interval exceeds the preset telemetry frequency, cloning the received current service message; Insert the in-band network telemetry INT header into the cloned current business message, assign the metadata to the corresponding field in the INT header, and generate the original telemetry message, wherein the INT header also includes the switch identification information; remove the load part of the original telemetry message to generate the telemetry message; send the telemetry message to the first node device.

[0012] According to another aspect of the present disclosure, a multi-path traffic scheduling device is provided, including: a receiving module, configured to receive telemetry messages from at least two second node devices respectively; an adjustment module, configured to adjust the link weight of the traffic scheduling path corresponding to each second node device based on the telemetry message; and a forwarding module, configured to forward the received service message based on the link weight of the traffic scheduling path.

[0013] According to another aspect of the present disclosure, a multi-path traffic scheduling device is provided, including: a telemetry message generation module, configured to: obtain metadata, the metadata including an ingress port, an egress port and a queue length; determine the time interval between a current timestamp and a timestamp of the last telemetry message generation; determine whether the time interval exceeds a preset telemetry frequency; if the time interval exceeds the preset telemetry frequency, clone the received current business message; insert an INT header into the cloned current business message, assign the metadata to a corresponding field in the INT header, and generate an original telemetry message, wherein the INT header also includes switch identification information; remove the message load portion of the original telemetry message to generate a telemetry message; a telemetry message sending module, configured to send the telemetry message to a first node device.

[0014] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the multipath traffic scheduling method as described above is implemented.

[0015] According to another aspect of the present disclosure, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the multipath traffic scheduling method as described above is implemented.

[0016] The multi-path traffic scheduling method, apparatus and computer program product provided by the present invention respectively receive telemetry messages from at least two second node devices, and dynamically adjust the link weight of the traffic scheduling path based on the telemetry message, thereby realizing business message forwarding according to the link weight. This method can effectively reduce the need to transmit all data to a single central point for processing, which not only reduces the transmission overhead of the network, but also realizes more efficient load balancing through refined traffic control, which helps to improve the utilization of link bandwidth and optimize network performance. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] In order to more clearly illustrate the technical solutions in the present disclosure or the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0018] Figure 1 The figure illustrates a communication system architecture that applies a multi-path traffic scheduling method provided according to an embodiment of the present disclosure.

[0019] Figure 2 It is a flowchart illustrating a multi-path traffic scheduling method provided according to an embodiment of the present disclosure.

[0020] Figure 3It is a schematic diagram of the Inform message format provided according to an embodiment of the present disclosure.

[0021] Figure 4 It is a flowchart further illustrating the multi-path traffic scheduling method provided according to an embodiment of the present disclosure.

[0022] Figure 5 It is a schematic diagram illustrating a telemetry message provided according to an embodiment of the present disclosure.

[0023] Figure 6 2 is a diagram illustrating an RTT delay distribution diagram provided according to an embodiment of the present disclosure.

[0024] Figure 7 is a throughput CDF comparison diagram provided according to an embodiment of the present disclosure.

[0025] Figure 8 It is a functional block diagram illustrating a multi-path traffic scheduling device provided according to an embodiment of the present disclosure.

[0026] Fig. 9 It is another functional block diagram of a multi-path traffic scheduling device provided according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0027] In order to make the purpose, technical solutions and advantages of the present disclosure clearer, the technical solutions in the present disclosure will be clearly and completely described below in conjunction with the drawings in the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, rather than all the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present disclosure.

[0028] The multi-path traffic scheduling method provided by the embodiment of the present disclosure can be applied to Figure 1 In the communication system shown.

[0029] like Figure 1 As shown, the communication system 100 includes switches Switch1, Switch2, Switch3 and Switch4, and hosts Host1 and Host2.

[0030] Among them, Switch1 and Switch2 are scheduling node programmable switches with multi-path scheduling function, on which weight calculation and update modules for updating the weights of each link are deployed. Switch3 and Switch4 are forwarding node programmable switches with only forwarding and telemetry functions. Host1 and Host2 are two hosts connected to Switch1 and Switch2 respectively. There may be multiple service flows transmitted on the two hosts at the same time, and different service flows can be distinguished by the source-destination IP pair and port number. Switch1 and Switch2 will divide the end-to-end service flows of Host1 and Host2 into multiple paths (2 in the figure). Among them, Path1 represents path 1, and Path2 represents path 2. In the process of service flow scheduling, Switch3 and Switch4 will send telemetry messages to Switch1 and Switch2 through INT, and the weight calculation and update module (Weight Computing Unit, WCU) deployed on them will calculate the weights of path 1 and path 2 at the next moment in real time according to the real-time received telemetry messages, and update the link weights to the data layer of the scheduling node switch in the form of notification.

[0031] Figure 2 It is a flowchart illustrating a multi-path traffic scheduling method provided according to an embodiment of the present disclosure.

[0032] like Figure 2 As shown, according to the multipath traffic scheduling method provided in the embodiment of the present disclosure, the method is performed by a first node device, and the method includes the following steps: The first node device may be a switch, access point or other network device, which has the ability to process telemetry data and support traffic scheduling. The second node device may be a switch, access point or other network device, which is used to collect telemetry data and send the data to the first node device in the form of telemetry messages. Preferably, the first node device may be Figure 1 The scheduling node programmable switch shown in FIG. 1 , the second node device may be as follows Figure 1 The forwarding node shown is a programmable switch.

[0033] Step 201: Receive telemetry messages from at least two second node devices respectively.

[0034] In one embodiment of the present disclosure, the first node device can identify the telemetry message belonging to the in-band network telemetry in the ordinary message when forwarding the message. The second node device refers to the node device directly connected to the first node device in the network topology, which is responsible for generating and sending the telemetry message. In a multi-path communication scenario, the first node device can receive telemetry messages from multiple different second node devices.

[0035] Step 202: Based on the telemetry message, adjust the link weight of the traffic scheduling path corresponding to each second node device.

[0036] In one embodiment of the present disclosure, the communication path between the first node device and the second node device is a traffic scheduling path. Each second node device connected to the first node device corresponds to a traffic scheduling path (also referred to as a link). The first node device can dynamically adjust the link weight of the traffic scheduling path corresponding to each second node device based on the telemetry messages received from different second node devices.

[0037] Step 203: forward the received service message based on the link weight of the traffic scheduling path.

[0038] In one embodiment of the present disclosure, when the first node device receives a service message, it can decide how to forward the service message according to the link weight of the current traffic scheduling path.

[0039] In summary, according to the technical solution provided by the embodiment of the present disclosure, the present disclosure receives telemetry messages from at least two second node devices respectively, and dynamically adjusts the link weight of the traffic scheduling path based on the telemetry message, thereby realizing business message forwarding according to the link weight. This method can effectively reduce the need to transmit all data to a single center point for processing, which not only reduces the transmission overhead of the network, but also achieves more efficient load balancing through refined traffic control, which helps to improve the utilization of link bandwidth and optimize network performance.

[0040] Further, based on the telemetry message, adjusting the link weight of the traffic scheduling path corresponding to each second node device includes: Determine, based on the telemetry message, a link throughput and / or a maximum queue length of a traffic scheduling path corresponding to each second node device; Based on the link throughput and / or the maximum queue length, the link weight of each traffic scheduling path is adjusted.

[0041] In one embodiment of the present disclosure, the telemetry message includes detailed traffic statistics information of the corresponding traffic scheduling path, specifically, including the number of data packets sent and received, the number of bytes transmitted, etc. The first node device can calculate the link throughput of the traffic path where the telemetry message is received by analyzing the traffic statistics information based on the telemetry messages received from the traffic scheduling paths corresponding to different second node devices. Similarly, the telemetry message also includes queue status information on the corresponding traffic scheduling path. The first node device calculates the maximum queue length of the traffic scheduling path corresponding to the telemetry message by analyzing the queue status information. Then, the link throughput and / or maximum queue length of each traffic scheduling path are determined. Based on the above analysis results, the first node device adjusts the link weight of each traffic scheduling path. The adjustment of the link weight is intended to reflect the current network status of each traffic scheduling path so as to more reasonably allocate network traffic and optimize network performance.

[0042] Exemplarily, the link throughput and / or maximum queue length of each traffic scheduling path may also be calculated in the following manner: Within a unit time t, the first node device receives k telemetry messages from the second node device. Each telemetry message contains the queue length information of the sending node (i.e., the second node device). The maximum queue length among the k telemetry messages is the maximum queue length of the traffic scheduling path.

[0043] The link throughput per unit time t can be expressed as: in, is the original packet length of the kth telemetry message, F j is the telemetry frequency of the second node device, C ij It represents the number of telemetry messages collected by the first node device from the link between the first node device and the second node device, i represents the sequence number of the first node device, and j represents the sequence number of the second node device.

[0044] In summary, according to the technical solution provided by the embodiments of the present disclosure, the link throughput and / or maximum queue length of each traffic path is analyzed in real time through telemetry messages, and the link weight of each traffic path is adjusted according to the link throughput and / or maximum queue length, so that network traffic can be distributed more effectively and load balancing can be achieved.

[0045] Further, based on the link throughput and / or the maximum queue length, the link weight of each link weight traffic scheduling path is adjusted, including: When the link throughput is equal to or exceeds the first preset threshold, the link weight value corresponding to the traffic scheduling path is automatically reduced.

[0046] In an embodiment of the present disclosure, the first preset threshold is a pre-set upper limit value of a link throughput, which is used to determine whether the link is in an overloaded or high-load state. The first preset threshold can be set according to actual application requirements. When the link throughput is equal to or exceeds the first preset threshold, in order to balance the network load and prevent further congestion of the link, it is necessary to reduce the weight value of the link weight of the traffic path in the traffic scheduling. The adjustment of the link weight can guide the traffic to be more reasonably distributed in the network.

[0047] Exemplarily, through telemetry messages, the throughput data of the link of each traffic path can be monitored in real time. If the link throughput of the traffic scheduling path is equal to or exceeds the first preset threshold, the weight value of the traffic scheduling path in the traffic scheduling is reduced.

[0048] To sum up, according to the technical solution provided by the embodiment of the present disclosure, when the link throughput is equal to or exceeds the first preset threshold, the link weight value corresponding to the link weight traffic scheduling path is reduced by itself. This is an effective network traffic control strategy that aims to prevent network congestion, optimize traffic distribution, load balancing and improve network resource utilization.

[0049] Furthermore, based on the link throughput and / or the maximum queue length, the link weight of each traffic scheduling path is adjusted, including: When the maximum queue length is equal to or exceeds the second preset threshold, the link weight value corresponding to the traffic scheduling path is automatically reduced.

[0050] In an embodiment of the present disclosure, the second preset threshold is an upper limit value of a maximum queue length set in advance, which is used to determine whether the link is in a congested state or close to a congested state. This threshold is usually set according to factors such as the actual situation of the network, business requirements, and performance requirements. When the maximum queue length is equal to or exceeds the second preset threshold, it means that the queue on the traffic scheduling path has approached or reached its maximum capacity, which usually means that the traffic scheduling path is in a congested state or is about to enter a congested state. In order to alleviate this congestion, the weight value of the traffic scheduling path in the traffic scheduling will be reduced. By reducing the link weight value of the congested traffic scheduling path, the probability of it being selected to transmit traffic can be reduced, thereby alleviating the congestion of the traffic scheduling path. The adjustment of the link weight of the traffic scheduling path can guide the traffic to be more reasonably distributed in the network, avoiding excessive congestion of some traffic scheduling paths, while other traffic scheduling paths are idle or lightly loaded. By dynamically adjusting the link weight, network resources can be used more effectively to ensure the overall performance and stability of the network.

[0051] For example, the queue length of each traffic scheduling path will change in real time with the congestion level of the link. When the queue length exceeds a certain threshold, packet loss will occur (for example, the threshold is 10 when the bandwidth is 5M). Therefore, if the queue length is continuously detected to exceed the threshold, the link weight needs to be changed.

[0052] Furthermore, based on the link throughput and / or the maximum queue length, the link weight of each traffic scheduling path is adjusted, including: When the link throughput is less than the third threshold and the maximum queue length is less than the second preset threshold, the link weight value corresponding to the traffic scheduling path is automatically increased.

[0053] In one embodiment of the present disclosure, the third threshold is a link throughput set in advance, and the third threshold is relatively small, indicating that the link is under a lower load. The link throughput is less than the third threshold, which means that the throughput of the current link is at a low level. The maximum queue length is less than the second preset threshold, which indicates that the queue length of the link is also at a low level and has not approached or reached the preset congestion threshold. When the above two conditions are met at the same time, it can be considered that the link (i.e., the traffic scheduling path) is currently in a relatively idle or low-load state and has sufficient processing capacity to accept more traffic. In this case, the link weight value corresponding to the traffic scheduling path will be self-added. The self-addition operation means increasing the priority or importance of the link in traffic scheduling, making it more likely to be selected to transmit traffic. By increasing the weight of idle or low-load links, traffic can be guided to be more reasonably distributed in the network, avoiding the situation where some links are overly congested while other links are idle or lightly loaded. By dynamically adjusting the link weight, network resources can be used more effectively to ensure the performance and stability of the overall network.

[0054] In summary, when the link throughput is less than the third threshold and the maximum queue length is less than the second preset threshold, the link weight value corresponding to the traffic scheduling path is self-added, which is an effective network traffic management strategy. This strategy can optimize traffic distribution, improve network resource utilization, and adapt to changes in network traffic.

[0055] The following is an example to explain in detail the method of adjusting link weights based on telemetry messages.

[0056] For example: In step 1, the weight calculation and update module of the first node device sets the initial weight of the link weight of each traffic scheduling path. The initial weight can be self-configured and configured according to the maximum bandwidth of the link. The initial weight of the link weight of each traffic scheduling path is mapped to an integer, and after the mapping is completed, it is sent to the corresponding first node device in the form of a notification data packet.

[0057] In step 2, the notification method of weight update can be to construct a special identification data packet and attach the new weight information to the data packet and forward it to the corresponding first node device. After the first node device detects the special identification data packet, it will parse and extract the new weight information and overwrite it to the register. The special identification can use a specific port number. The special identification data packet can be called an Inform message, which is sent in the form of a user datagram protocol UDP payload. Its message format is as follows: Figure 3 shown.

[0058] In step 3, when the first node device receives the telemetry message in the current time window, the link throughput of each path (ie, the traffic scheduling path) in the current time window and the maximum queue length queue_occupancy are calculated through the telemetry message.

[0059] In step 4, if the maximum queue length queue_occupancy of a path is equal to or exceeds the second preset threshold, the weight value of the path is automatically reduced; if the link throughput of each path in the time window of a path is close to the upper limit of the link bandwidth or is equal to or exceeds the first preset threshold, the weight value of the path is automatically reduced. The lower limit of the weight value of the path is 1. If the link throughput is less than the third threshold and the maximum queue length is less than the second preset threshold, the weight value is automatically increased. If neither of the above conditions is met, the weight value remains unchanged.

[0060] In step 5, according to the latest path weight generated in step 4, a data packet with updated weight information is constructed.

[0061] Step 6: Loop through steps 2 to 5 in network communication.

[0062] Further, based on the link weight of the traffic scheduling path, the received service message is forwarded, including: Based on the link weights of the traffic scheduling paths, determining the traffic scheduling path with the largest link weight value; The received service message is forwarded to the traffic scheduling path with the largest link weight value.

[0063] In an embodiment of the present disclosure, when there are multiple traffic scheduling paths to choose from, the first node device will evaluate the pros and cons of each path based on the current link weight. Once the traffic scheduling path with the largest link weight value is determined, the first node device will use this path to forward the received business message. This means that all new or to-be-forwarded data packets will be preferentially transmitted through this path that is considered to be the best. Since the link weight is dynamically adjusted and the telemetry message provides the latest network status information, the selection of the traffic scheduling path is also dynamic. If the network conditions change, such as a path becomes congested or the bandwidth of another path increases, the link weight will be updated, resulting in a change in the traffic scheduling path.

[0064] Exemplarily, the first node device implements service message forwarding according to the link weight value of the traffic scheduling path. For details, please refer to the following steps: Step 1: The link weight value of the traffic scheduling path is saved in the P4 register. In the Parser stage, after the first node device detects the path update data packet, it will parse and extract the new weight information and overwrite it into the register.

[0065] Step 2: Identify the service message in the Ingress stage and first determine whether the service message supports multi-traffic scheduling. If it supports multi-traffic scheduling, read the path weight (i.e., the link weight value of the traffic scheduling path) in the cloned P4 register, select the path with the largest current weight (i.e., link weight value), and set it as the next hop path.

[0066] Step 3: If the weight of the path (link weight value) becomes 0 after self-decrement, the weight is read from the initial P4 register and updated (i.e., the weight value is assigned to the path with a link weight value of 0 again) to ensure that negative overflow does not occur.

[0067] In summary, according to the technical solution provided by the embodiments of the present disclosure, by guiding the service messages to the currently optimal path (i.e., the traffic scheduling path with the largest link weight value), network congestion can be reduced, data transmission efficiency can be improved, latency can be reduced, and the performance and reliability of the overall network can be improved.

[0068] Figure 4 It is a flowchart further illustrating the multi-path traffic scheduling method provided according to an embodiment of the present disclosure.

[0069] like Figure 4 As shown, according to the multipath traffic scheduling method provided in the embodiment of the present disclosure, it can be executed by the second node device, the second node device is a P4 programmable switch, and the method specifically includes the following steps: In step 401, metadata is obtained, the metadata including the ingress port, egress port and queue length; In step 402, the time interval between the current timestamp and the timestamp of the last telemetry message generation is determined; In step 403, it is determined whether the time interval exceeds the preset telemetry frequency; In step 404, if the time interval exceeds the preset telemetry frequency, the received current service message is cloned; In step 405, the INT header is inserted into the cloned current service message, and the metadata is assigned to the corresponding field in the INT header to generate the original telemetry message, wherein the INT header also includes the switch identification information; In step 406, the payload portion of the original telemetry message is removed to generate a telemetry message; In step 407, the telemetry message is sent to the first node device.

[0070] Specifically, the second node device collects metadata related to the currently processed data packet. The metadata includes the inlet port (the port where the data packet enters the switch), the outlet port (the port where the data packet will exit the switch), and the queue length (the number of data packets waiting to be processed in the switch). Calculate the time interval between the current timestamp and the timestamp of the last generated telemetry message. Determine whether the time interval exceeds the preset telemetry frequency (the frequency of sending telemetry messages, that is, how long a telemetry message should be sent). If the time interval exceeds the preset frequency, clone the currently processed business data packet (that is, the current business message currently received) to insert telemetry information into it. In this way, a new message containing telemetry information can be generated without affecting the original business data packet. Specifically, insert an INT header into the cloned business message, and fill in the metadata collected in step 401 to form the original telemetry message. INT header content: including switch identification, inlet port, outlet port and queue length, etc. The payload of the original telemetry message is removed, that is, the payload of the message (that is, the effective load of the data) is intercepted or shortened to generate a telemetry message to reduce the message size and improve the transmission efficiency, and the telemetry message is sent to the first node device. The telemetry message itself also has the original packet length information, which can be used to calculate the link throughput.

[0071] The first node device may be as follows: Figure 1 The scheduling node programmable switch shown in FIG. 1 , the second node device may be as follows Figure 1 The forwarding node shown is a programmable switch.

[0072] Exemplarily, the generation of the telemetry message may be completed by the data layer P4 program of the second node device, and the specific steps are as follows: Input: service data packet forwarded by the second node device and its metadata, and second node device configuration data.

[0073] Output: telemetry message in custom format.

[0074] Step 1: Define the configuration data of the second node device, including forwarding table entries, switch serial number, service flow identification configuration, multipath scheduling switch, telemetry frequency, etc., and provide conditions and metadata for telemetry message generation.

[0075] Step 2: Identify the service flow message in the Ingress stage, first determine whether the service flow message supports multi-flow scheduling. If it supports multi-flow scheduling, collect the metadata at this moment, such as the ingress port ingress_port, the egress port egress_port, the queue length queue_occupancy, etc., and save them in a temporary data structure.

[0076] Step 3: Check the current telemetry frequency. If the current timestamp exceeds the telemetry frequency configuration compared to the timestamp of the last telemetry message generation, clone the current service flow message and clone the metadata information collected in step 2 to the Egress stage. After cloning, update the latest telemetry message generation timestamp.

[0077] Step 4: In the Egress phase, the INT header is inserted into the cloned message, the metadata cloned in step 3 is filled into the corresponding fields, and the length and checksum of the leading headers such as the IP header and the UDP header are updated to ensure the validity of the message. Among them, the INT header adds 4 new fields, namely: switch_id, which is used to identify the switch number to distinguish different switches, ingress_port and egress_port are used to identify the path of the service flow on the switch, and queue_occupancy indicates the current queue length of the switch, which usually represents the congestion of the current switch.

[0078] Step 5: After the telemetry message is generated and filled, the generated telemetry message is subjected to load truncation processing, forwarded from a specific switch port, and sent to the first node device in the Ingress direction of the second node device, providing the latest node status in order to adjust the link weight.

[0079] In summary, according to the telemetry message provided by the embodiment of the present disclosure, the original telemetry message header has more fields and control methods, and the message header has fields such as Instruction to control the telemetry data collection. This will increase the link load and complicate the data plane processing logic.

[0080] The present disclosure designs a telemetry message in a specific format to collect network node information. The schematic diagram of the telemetry message is as follows: Figure 5As shown, the telemetry message includes information such as Ethernet Header, IP Header, UDP Header and Potcard Header. Among them, the inlet port, the outlet port, the queue length and the switch identifier constitute the Potcard Header. Among them, the Potcard Header is the INT header. It is worth noting that the telemetry message provided in the embodiment of the present disclosure simplifies the fields of the standard INT protocol. Specifically, unnecessary fields such as Instruction are removed to simplify the processing logic of the data plane. This simplification measure not only reduces the complexity of data processing, but also significantly improves the collection efficiency, making the collection of network node information more efficient and accurate.

[0081] In summary, according to the technical solution provided by the embodiment of the present disclosure, the Postcard telemetry mode is used to collect telemetry information. The information of the service flow can be obtained from the IP header and the UDP header. Because the cloning mechanism of P4 is a copy of the original message, the five-tuple can be obtained without special processing. For the original load part, the message can be processed in a truncated manner to reduce the occupation of the link bandwidth.

[0082] The following embodiments are provided below to describe the effects of the multi-path traffic scheduling method provided by the embodiments of the present disclosure.

[0083] Use Mininet and Bmv2 to build Figure 1 The network topology shown in the figure. The network contains two different paths, denoted as Path1 (Host1-Switch1-Switch3-Switch2-Host2) and Path2 (Host1-Switch1-Switch4-Switch2-Host2). Iperf is used to generate traffic and test network performance, and different flows are distinguished based on the application layer port number. This scenario adopts a symmetric topology design. The bandwidth of Path1 and Path2 are both set to 10 Mbps, and the traffic is generated randomly: that is, flows with bandwidths of 1Mbps, 2Mbps, and 4Mbps are randomly generated from Host1 to Host2, and the time interval between the two flows of each bandwidth is 500ms. Flows of different bandwidths will use multipath communication and single-path communication (that is, only one fixed link is used), respectively, and the duration of each flow is 6 seconds.

[0084] In order to evaluate the effectiveness of the traffic scheduling method of this patent, three different schemes are set up: FWS (Fixed Weight Scheduling): Fixed weight scheduling algorithm, path weights are configurable but cannot be changed; Central: A centralized scheduling method that updates path weights through centralized data collection and calculation. Ours: A multi-path traffic scheduling method is provided in an embodiment of the present disclosure.

[0085] exist Figure 6 and Figure 7 In the figure, the RTT delay distribution and throughput CDF graphs of the three methods in this scenario are provided. It can be seen from the figure that the multi-path traffic scheduling method provided by the embodiment of the present disclosure has lower transmission delay and higher throughput, which is obviously better than the other two comparison schemes.

[0086] The multi-path traffic scheduling method provided by the embodiment of the present disclosure can better achieve network traffic load balancing under multi-path communication, improve transmission efficiency, reduce telemetry overhead, increase the overall link throughput of multi-path communication while reducing transmission delay. Secondly, the multi-path traffic scheduling method of the present disclosure adopts decentralized telemetry and a path weight update mechanism based on telemetry messages, and supports the distributed deployment of telemetry message collection and path weight calculation modules in the network to reduce communication overhead and improve data collection efficiency. The traffic scheduling module based on the above mechanism is designed and implemented on the data plane using the P4 language, and the data plane functions of telemetry message generation and multi-path scheduling based on path weights are designed.

[0087] Figure 8 It is a functional block diagram illustrating a multi-path traffic scheduling device provided according to an embodiment of the present disclosure.

[0088] like Figure 8 As shown, the multipath traffic scheduling device 800 provided according to an embodiment of the present disclosure includes: a receiving module 801, an adjustment module 802 and a forwarding module 803.

[0089] Specifically, the receiving module 801 is configured to receive telemetry messages from at least two second node devices respectively; Specifically, the adjustment module 802 is configured to adjust the link weight of the traffic scheduling path corresponding to each of the second node devices based on the telemetry message; Specifically, the forwarding module 803 is configured to forward the received service message based on the link weight of the traffic scheduling path.

[0090] Fig. 9 It is another functional block diagram of a multi-path traffic scheduling device provided according to an embodiment of the present disclosure.

[0091] like Fig. 9 As shown, the multi-path traffic scheduling device 700 provided according to the embodiment of the present disclosure includes a telemetry message generating module 901 and a telemetry message sending module 902.

[0092] Specifically, the telemetry message generation module 901 is configured to: Obtaining metadata, the metadata including an ingress port, an egress port, and a queue length; Determine the time interval between the current timestamp and the timestamp of the last telemetry message generation; Determining whether the time interval exceeds a preset telemetry frequency; If the time interval exceeds the preset telemetry frequency, cloning the received current service message; Inserting the INT header into the cloned current service message, assigning the metadata to the corresponding field in the INT header, and generating an original telemetry message, wherein the INT header also includes switch identification information; The original telemetry message is subjected to message payload truncation processing to generate a telemetry message; Specifically, the telemetry message sending module 902 is configured to send the telemetry message to the first node device.

[0093] On the other hand, the present disclosure also provides a computer program product, which includes a computer program. The computer program can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can execute the above-mentioned multipath traffic scheduling method.

[0094] On the other hand, the present disclosure also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which is implemented when the computer program is executed by a processor to perform the above-mentioned multipath traffic scheduling method.

[0095] The above describes in detail the multi-path traffic scheduling method provided according to the embodiment of the present disclosure with reference to the accompanying drawings. In terms of telemetry data collection, it supports distributed telemetry data collection and calculation in the network, reducing the link and delay overhead of centralized telemetry in the entire network. In terms of telemetry message design, a specific telemetry protocol format is designed to reduce the length of the telemetry message to reduce the telemetry overhead and improve the link bandwidth utilization of the actual traffic; multiple nodes and path weight calculations for telemetry message generation are designed and deployed in the network in a distributed manner; the calculation and update of path weights of different switch nodes provide the latest path weights in real time; distributed deployment can reduce the overhead brought by global telemetry, shorten the transmission path length of telemetry data, and obtain and process data with lower latency; the functional design and implementation of telemetry message generation through P4 programmable implementation, as well as the data plane functional design and implementation of multi-path scheduling based on path weights, can operate efficiently and show good performance.

[0096] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.

[0097] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.

[0098] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present disclosure, rather than to limit them. Although the present disclosure 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 make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present disclosure.

Claims

1. A multi-path traffic scheduling method, characterized in that: Applied to a first node device, the method includes: Receiving telemetry messages from at least two second node devices respectively; Based on the telemetry message, adjust the link weight of the traffic scheduling path corresponding to each of the second node devices; The received service message is forwarded based on the link weight of the traffic scheduling path.

2. The multi-path traffic scheduling method according to claim 1, characterized in that: The adjusting, based on the telemetry message, the link weight of the traffic scheduling path corresponding to each of the second node devices includes: Determine, based on the telemetry message, a link throughput and / or a maximum queue length of the traffic scheduling path corresponding to each of the second node devices; Based on the link throughput and / or the maximum queue length, the link weight of each of the traffic scheduling paths is adjusted.

3. The multi-path traffic scheduling method according to claim 2, characterized in that: The adjusting the link weight of each of the traffic scheduling paths based on the link throughput and / or the maximum queue length includes: When the link throughput is equal to or exceeds a first preset threshold, the link weight value corresponding to the traffic scheduling path is automatically reduced.

4. The multi-path traffic scheduling method according to claim 2, characterized in that: The adjusting the link weight of each of the traffic scheduling paths based on the link throughput and / or the maximum queue length includes: When the maximum queue length is equal to or exceeds a second preset threshold, the link weight value corresponding to the traffic scheduling path is automatically reduced.

5. The multi-path traffic scheduling method according to claim 2, characterized in that: The adjusting the link weight of each of the traffic scheduling paths based on the link throughput and / or the maximum queue length includes: When the link throughput is less than a third threshold and the maximum queue length is less than a second preset threshold, the link weight value corresponding to the traffic scheduling path is automatically increased.

6. The multi-path traffic scheduling method according to claim 1, characterized in that: The forwarding of the received service message based on the link weight of the traffic scheduling path includes: Based on the link weights of the traffic scheduling paths, determining the traffic scheduling path with the largest link weight value; The received service message is forwarded to the traffic scheduling path with the largest link weight value.

7. A multi-path traffic scheduling method, characterized in that: Applied to a second node device, where the second node device is a P4 programmable switch, the method includes: Obtaining metadata, the metadata including an ingress port, an egress port, and a queue length; Determine the time interval between the current timestamp and the timestamp of the last telemetry message generation; Determining whether the time interval exceeds a preset telemetry frequency; If the time interval exceeds the preset telemetry frequency, cloning the received current service message; Inserting the in-band network telemetry INT header into the cloned current service message, assigning the metadata to the corresponding field in the INT header, and generating an original telemetry message, wherein the INT header also includes switch identification information; Removing the payload portion of the original telemetry message to generate a telemetry message; The telemetry message is sent to the first node device.

8. A multi-path traffic scheduling device, characterized in that: include: A receiving module, configured to receive telemetry messages from at least two second node devices respectively; An adjustment module, configured to adjust a link weight of a traffic scheduling path corresponding to each of the second node devices based on the telemetry message; The forwarding module is configured to forward the received service message based on the link weight of the traffic scheduling path.

9. A multi-path traffic scheduling device, characterized in that: include: The telemetry message generation module is configured as follows: Obtaining metadata, the metadata including an ingress port, an egress port, and a queue length; Determine the time interval between the current timestamp and the timestamp of the last telemetry message generation; Determining whether the time interval exceeds a preset telemetry frequency; If the time interval exceeds the preset telemetry frequency, cloning the received current service message; Inserting the in-band network telemetry INT header into the cloned current service message, assigning the metadata to the corresponding field in the INT header, and generating an original telemetry message, wherein the INT header also includes switch identification information; Removing the payload portion of the original telemetry message to generate a telemetry message; The telemetry message sending module is configured to send the telemetry message to the first node device.

10. A computer program product, characterized in that It includes a computer program, which, when executed by a processor, implements the multipath traffic scheduling method as described in any one of claims 1 to 7.

Citation Information

Cited By

  • Data transmission method and electronic equipment

    CN121547391A