Traffic forwarding method and communication system based on fat-tree data center network topology structure

By employing a forwarding method of fixed path for large flows and multi-path spraying for small flows in fat tree data center networks, the problem of uneven link congestion is solved, stable forwarding of large flows and low-latency transmission of small flows are achieved, and the overall performance of data center networks is improved.

CN120528871BActive Publication Date: 2025-11-18SHANGHAI XINLIJI SEMICON CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511029503.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-07-25
Publication Date
2025-11-18
Estimated Expiration
2045-07-25

AI Technical Summary

Technical Problem

In fat tree data center networks, traditional load balancing strategies lead to uneven link congestion, affecting network bandwidth utilization. Especially in high-concurrency, low-flow-density business scenarios, low-flow transmission latency and packet loss rates are high, and existing RPS technology affects the real-time performance of low-flows under high-flow concurrency.

Method used

The system employs a forwarding method that combines static mapping of large flows along fixed paths with multi-path spraying of small flows. By pre-configuring fixed path tables and dynamic path tables for large flows, it ensures that large flows are forwarded along fixed paths, while small flows are evenly distributed across multiple paths, thus avoiding interference between large flows and small flows. Furthermore, it guarantees system stability under extreme load conditions through waiting queues and backup path mechanisms.

Benefits of technology

It improves the bandwidth utilization of the data center network, ensures low-latency transmission and high efficiency of small streams, reduces the interference of large streams on small streams, and enhances the real-time performance and agility of data center services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120528871B_ABST
    Figure CN120528871B_ABST
Patent Text Reader

Abstract

The application discloses a fat-tree data center network topology-based traffic forwarding method and a communication system. Main steps of the traffic forwarding method are as follows: when a source access layer switch receives target traffic sent by a source terminal device, the source access layer switch confirms a target terminal device and an access layer switch group corresponding to the target traffic, and judges whether the source access layer switch and a target access layer switch are the same access layer switch; if not, the source access layer switch confirms a size of the target traffic, and judges whether the target traffic is a large flow; if the target traffic is a large flow, the source access layer switch searches a target large flow fixed path corresponding to the access layer switch group in a preconfigured large flow fixed path static mapping table, and configures the target large flow fixed path as a dedicated forwarding path of the target traffic; otherwise, the source access layer switch sprays data packets of the target traffic to an equal shortest path which is not occupied by a large flow, so that large flow forwarding of the data center is reasonably controlled, and real-time performance of small flow forwarding is guaranteed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of data center networks, specifically relating to a traffic forwarding method and communication system based on a fat tree data center network topology. Background Technology

[0002] With the rapid development of cloud computing, big data, and artificial intelligence, east-west traffic in data centers has increased significantly, network structures have become more flattened, and multi-level, multi-path topologies, such as the fat-tree data center network topology, are widely adopted.

[0003] To fully utilize the numerous equal-cost multi-path (ECMP) paths in a fat-tree data center network topology, the traditional approach is to use a load balancing strategy based on 5-tuple hashes, assigning each data flow to a fixed path. However, due to hash collisions or concentration of hotspot flows, some links may become overloaded while others remain idle, creating a so-called "link congestion imbalance" problem that severely limits network bandwidth utilization.

[0004] To address these issues, various complex algorithms can be used to select paths for large flows in real time and balance the links. However, the more large flows there are, the greater the computing power overhead and the higher the requirements for system equipment. Furthermore, the forwarding paths for large flows are uncertain, and in the case of consecutive large flows, there may still be multiple equivalent paths occupied by the large flows. This approach is not suitable for high-concurrency, low-flow-density business scenarios in data centers.

[0005] Random Packet Spraying (RPS) is a packet-based forwarding strategy that independently and evenly distributes each packet of the same flow across all available equal-shortest paths, avoiding the hotspot concentration problem caused by the fixed path selection of traditional ECMP. RPS enables finer-grained load balancing, thereby improving overall network throughput, reducing link usage skew, and significantly reducing head-of-line congestion, making it particularly suitable for high-concurrency, low-flow-density business scenarios in data centers. However, RPS still has significant drawbacks in practical data center networks. Data center network communication typically exhibits a "small flows dominate, large flows dominate bandwidth" traffic distribution characteristic: the vast majority of traffic consists of short-duration, low-data-volume small flows (or "mice flows"), while only a few large flows (or "elephant flows") consume most of the network bandwidth resources. Small flows are typically generated by applications such as control signals, small file transfers, and web page requests. Mice flows are usually very sensitive to latency and require fast transmission to ensure the real-time performance and responsiveness of applications. Large flows are typically generated by applications such as file transfers, video streaming, and large-scale data backups. RPS technology uses a mechanism of spraying and forwarding all data packets. While this can help improve load balancing in scenarios with dense short flows, in the case of large concurrent flows, the data packets of the large flow are also evenly sprayed onto all equivalent shortest paths in the network. The bandwidth on these paths will be occupied for a long time, which may cause smaller flows to encounter higher queuing latency and higher packet loss rates. This undermines the low latency advantage that smaller flows should have and affects the real-time performance and agility of data center services. Summary of the Invention

[0006] The purpose of this invention is to provide a traffic forwarding method and communication system based on a fat tree data center network topology, which allows for reasonable control of large-flow forwarding and ensures the real-time performance of small-flow forwarding.

[0007] To achieve the above objectives, the technical solution adopted by the present invention is as follows:

[0008] The first aspect of this invention provides a traffic forwarding method based on a fat-tree data center network topology, comprising the following steps:

[0009] When a source access layer switch in the Fat Tree data center network topology receives target traffic sent by a source terminal device, it confirms the target terminal device and access layer switch group corresponding to the target traffic. The access layer switch group includes the source access layer switch and the target access layer switch. The target access layer switch is an access layer switch directly connected to the target terminal device. It also determines whether the source access layer switch and the target access layer switch are the same access layer switch.

[0010] If it is not the same, then confirm the size of the target traffic and determine whether the target traffic is a large flow;

[0011] If it is a large flow, then look up the target large flow fixed path corresponding to the access layer switch group in the pre-configured large flow fixed path static mapping table. The large flow fixed path static mapping table includes access layer switch groups and large flow fixed paths with corresponding relationships. The large flow fixed path is one of the multiple equivalent shortest paths from the source access layer switch in the access layer switch group to the target access layer switch. Configure the target large flow fixed path as a dedicated forwarding path for the target traffic.

[0012] Otherwise, the target traffic data packets are sprayed onto the shortest equivalent paths from the source access layer switch to the target access layer switch that are not occupied by large flows.

[0013] The traffic forwarding method of this invention, based on the traffic characteristics of the fat-tree data center network topology in practical application scenarios, separates large flows and small flows in the fat-tree data center network topology and forwards them according to different strategies. By managing large flows and small flows separately, the forwarding path of large flows is fixed, ensuring that the bandwidth usage of large flows will not arbitrarily interfere with the forwarding of small flows. Small flows are effectively load-balanced across multiple paths, improving the transmission timeliness of small flows. Moreover, the static mapping of large flows through fixed paths avoids additional computing power overhead, does not significantly increase the system burden, and is friendly to system devices.

[0014] Furthermore, to minimize collisions or accumulations of large flows between different large flow fixed paths, and to reduce the potential impact of large flows in large flow fixed paths on the transmission efficiency of small flows in other overlapping small flow transmission paths, the static mapping table of the large flow fixed paths is pre-configured according to the following rules:

[0015] Each access layer switch group has one and only one corresponding fixed path for high-volume flows.

[0016] For any two fixed paths of large flows, the overlapping path between them is preferably none; if there is an inevitable overlapping path between the two fixed paths of large flows, the overlapping path with the shortest possible value is preferred; and / or,

[0017] Identify the flow paths that overlap with other large flow fixed paths as target counting paths, minimizing the total number of target counting paths; and / or,

[0018] The total length of overlapping paths in the fixed path of the control flow is minimized.

[0019] Furthermore, the target large flow fixed path is configured to exit the dedicated forwarding path of the current target flow after the target access layer switch receives all the data packets of the target flow, and the exited path continues to be used to forward the data packets of the small flow, so as to ensure the timeliness of the small flow forwarding.

[0020] Furthermore, the data packets of the target traffic are sprayed according to the following method: the equivalent shortest path group corresponding to the access layer switch group and not occupied by the large flow is selected in the pre-configured dynamic path table as the spraying range of the data packets of the target traffic, and the data packets of the target traffic are randomly or round-robin distributed within the spraying range by RPS technology.

[0021] By using a hash algorithm to randomly distribute data packets to multiple equivalent shortest paths for load balancing, not only can multi-path network resources be fully utilized, but also overload of a single path can be avoided, ensuring that small flows are forwarded quickly.

[0022] To minimize collisions between small-flow data packets and large-flow packets, in some specific implementations, dynamic path tables are pre-configured in the following manner:

[0023] The dynamic path table includes multiple sub-tables and a temporary pause table. The sub-tables have corresponding access layer switch groups and equivalent shortest path groups. The equivalent shortest path group is a set of equivalent shortest paths from the source access layer switch to the target access layer switch within the access layer switch group. The temporary pause table includes equivalent shortest paths occupied by high traffic. The dynamic path table is configured as follows:

[0024] The dynamic path table is associated with the static mapping table of fixed paths for large flows. When the target fixed path for a large flow is found in the static mapping table of fixed paths for large flows, the corresponding sub-table is found according to the access layer switch group. The equivalent shortest path corresponding to the target fixed path for a large flow is moved from the equivalent shortest path group of the sub-table to the temporary pause table. After there is no large flow on the equivalent shortest path corresponding to the target fixed path for a large flow, it is moved from the temporary pause table to the equivalent shortest path group.

[0025] In the equivalent shortest path group of other sub-tables, find the equivalent shortest path that overlaps with the target flow fixed path and move it to the temporary pause table. When the equivalent path corresponding to the target flow fixed path is removed from the temporary pause table, move the equivalent shortest path from the temporary pause table to the equivalent shortest path group in which it belongs.

[0026] Furthermore, after finding the target traffic fixed path, in response to confirming that the uplink port of the source access layer switch corresponding to the target traffic fixed path is occupied, the target traffic is added to a preset waiting queue according to preset rules, and forwarded through the target traffic fixed path in sequence according to the order of the waiting queue. The waiting queue is configured such that when a traffic in the waiting queue is forwarded by its corresponding source access layer switch, the traffic is deleted from the waiting queue.

[0027] By placing the large flow of data to be forwarded into a waiting queue, it is ensured that the large flow is processed in order with priority even under extreme load conditions, avoiding packet loss due to resource constraints and further improving the stability and reliability of the system.

[0028] Furthermore, the preset rule is: add the current target traffic to the end of the queue.

[0029] In some implementations, to reduce the probability of large data packets or out-of-order packets received by the target terminal, the waiting queue is sorted according to the following rules:

[0030] Sort according to the order in which each major flow originates from the source terminal device.

[0031] If target traffic originates from different source terminal devices at the same time, it is determined whether their traffic size is the same. If they are different, they are sorted in ascending order of traffic size. If they are the same, they are sorted randomly.

[0032] Furthermore, considering the possibility of even more extreme and continuous high-incidence flows, a new dedicated path for forwarding these high-incidence flows will be temporarily configured, as follows:

[0033] When the first large flow to be forwarded appears in the waiting queue, the total number and / or total number of bytes of large flows to be forwarded in the waiting queue are counted. When a large flow is removed from the head of the queue and / or a new large flow is added to the tail of the queue, the total number and / or total number of bytes of traffic to be forwarded in the waiting queue are updated; and / or,

[0034] A timer is started each time a large flow joins the waiting queue to obtain the waiting time.

[0035] When the total number of traffic streams waiting to be forwarded in the waiting queue exceeds a preset quantity threshold and / or the total number of bytes exceeds a preset traffic threshold, and / or the waiting time of the traffic stream at the head of the waiting queue exceeds a preset time threshold, one or more equivalent shortest paths different from the fixed path of the target traffic stream are selected as backup paths for the traffic streams, and the backup paths for the traffic streams are temporarily configured as dedicated paths for forwarding the traffic streams.

[0036] In some specific implementations, the backup high-flow path is temporarily configured according to the following rules:

[0037] The number of the backup high-flow paths shall not exceed 1 / 4 of the total number of equivalent paths; and / or,

[0038] Control the backup high-flow path and the target high-flow path to have no overlap.

[0039] In some specific implementations, the high-volume backup path exits the dedicated path for forwarding high-volume flows in response to any of the following preset conditions:

[0040] Condition 1: Queuing or queuing delay exceeding a preset threshold is detected in any other equivalent shortest path that is different from the target flow's fixed path;

[0041] Condition 2: There is no large flow of people queuing in the waiting queue.

[0042] Condition one has a higher priority than condition two.

[0043] The above exit conditions can avoid sacrificing the timeliness of small streams.

[0044] Furthermore, data packets of the same traffic have the same identifier, data packets of different traffic have different identifiers, and different data packets in the same traffic have different sequence numbers. In response to receiving and identifying the identifiers and sequence numbers of data packets arriving through different equivalent shortest paths, the target terminal device reassembles the data packets in the correct order according to the identifiers and the sequence numbers to obtain the target traffic.

[0045] Furthermore, the following method is used to determine whether the target flow is a large flow:

[0046] Byte counting is initiated when the access layer switch directly connected to the source terminal device begins receiving the target traffic;

[0047] If the accumulated bytes have reached the preset traffic threshold before the target traffic is fully received, it is judged as a large flow.

[0048] Furthermore, if the source access layer switch and the target access layer switch are the same access layer switch, then the data is forwarded directly.

[0049] A second aspect of the present invention provides a communication system comprising: terminal devices and a fat tree data center network topology for electrically connecting the terminal devices in pairs, a traffic determination module and a path selection module, wherein the traffic determination module and the path selection module are configured to perform traffic forwarding according to the traffic forwarding method described above.

[0050] The beneficial effects of the technical solution provided by this invention are as follows:

[0051] The traffic forwarding method of this invention separates large flows and small flows for differentiated processing. Large flows are forwarded using fixed paths, while small flows are forwarded via multi-path allocation of data packets. This differentiated traffic management approach avoids excessive bandwidth consumption by large flows and ensures that the low-latency characteristics of small flows are not affected by large flows. This invention uses a static mapping table for large flow paths to ensure that large flows are always forwarded along fixed paths, avoiding bandwidth contention and path congestion caused by random path selection. This ensures the transmission stability of large flows and reduces the additional overhead of dynamic path selection using complex algorithms. According to the traffic forwarding method of this invention, while effectively avoiding interference from large flows to small flows, the transmission efficiency and timeliness of small flows are improved, thereby contributing to the real-time performance and agility of data center services. Attached Figure Description

[0052] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0053] Figure 1 A flowchart illustrating the traffic forwarding method provided in this embodiment;

[0054] Figure 2 The example illustrates a standard fat-tree data center network topology with k=4.

[0055] Figure 3 The flowchart illustrates the waiting queue mechanism and dynamic multi-path concurrency mechanism provided in the embodiment. Detailed Implementation

[0056] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0057] It should be noted that the terms “comprising” and “having”, and any variations thereof, are intended to cover non-exclusive inclusion, for example, a process, method, apparatus, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are explicitly listed, but may include other steps or units that are not explicitly listed or that are inherent to such process, method, product or device.

[0058] It should be noted that the exemplary "fat tree data center network topology" in this invention is a standard fat tree data center network topology:

[0059] The FatTree data center network topology includes three layers of switches, from top to bottom: core layer switches, aggregation layer switches, and access layer switches. The aggregation layer switches and access layer switches form multiple clusters (Pods). Specifically, each switch has k ports, and the number of core layer switches is (k / 2)^2. There are k Pods, and each Pod consists of k switches, with k / 2 aggregation layer switches and k / 2 access layer switches each. Any two Pods are connected to one aggregation layer switch within each Pod through a core layer switch. Each core switch connects to all Pods. Each access layer switch can directly connect to k / 2 terminal devices.

[0060] Communication between different Pods: Source terminal device located in Pod A → Access layer switch of Pod A → Aggregation layer switch of Pod A → Core layer switch of Pod A → Aggregation layer switch of Pod B → Access layer switch of Pod B → Target source terminal device located in Pod B, totaling (k / 2). 2 There are equivalent shortest paths.

[0061] Communication between the same Pod: Source terminal device located in Pod A → Access layer switch A1 of Pod A → Aggregation layer switch of Pod A → Access layer switch A2 of Pod A → Target source terminal device located in Pod A. The source terminal device and the target terminal device are directly connected to different access layer switches, with a total of k / 2 equivalent shortest paths.

[0062] Communication between the same Pod, diagram 2: Source terminal device located in Pod A → Access layer switch A1 of Pod A → Target source terminal device located in Pod A. The source terminal device and the target terminal device are directly connected to the same access layer switch, with only one path.

[0063] Unless otherwise specified, the "equivalent shortest path" in this invention refers to the equivalent shortest path between two different access layer switches.

[0064] In one embodiment of the present invention, a traffic forwarding method and communication system based on a fat-tree data center network topology are provided.

[0065] The communication system in this embodiment includes: terminal devices, a fat-tree data center network topology for electrically connecting each terminal device to the next, a traffic judgment module, and a path selection module. The traffic judgment module and the path selection module are configured to forward traffic according to the traffic forwarding method of this embodiment. In this embodiment, the traffic judgment module is deployed at the access layer switch and is responsible for monitoring and classifying each piece of communication traffic passing through the switch; the path selection module includes a processor electrically connected to all switches in the fat-tree data center network topology, used to control the specific traffic forwarding method based on the feedback result from the traffic judgment module.

[0066] like Figure 1 As shown, the traffic forwarding method in this embodiment includes the following main steps:

[0067] When a source access layer switch in the fat tree data center network topology receives target traffic sent by a source terminal device, it confirms the target terminal device and access layer switch group corresponding to the target traffic. The access layer switch group includes the source access layer switch and the target access layer switch. The target access layer switch is the access layer switch directly connected to the target terminal device. It also determines whether the source access layer switch and the target access layer switch are the same access layer switch.

[0068] If it's the same one, forward it directly;

[0069] If not, confirm the size of the target traffic and determine whether the target traffic is a large flow;

[0070] If it is a large flow, the target large flow fixed path corresponding to the access layer switch group is found in the pre-configured large flow fixed path static mapping table. The large flow fixed path static mapping table includes access layer switch groups and large flow fixed paths with corresponding relationships. The large flow fixed path is one of the multiple equivalent shortest paths from the source access layer switch in the access layer switch group to the target access layer switch. The target large flow fixed path is configured as a dedicated forwarding path for the target traffic.

[0071] If it is not a high-volume flow, the data packets of the target traffic will be sprayed onto the shortest equivalent paths from the source access layer switch to the target access layer switch that are not occupied by high-volume flows.

[0072] Specifically, this embodiment uses a standard fat tree data center network topology with k=4 as an example. In other embodiments, a standard fat tree data center network topology with a larger k value can be used as needed. The larger the k value, the more obvious the advantages of the traffic forwarding method of the present invention.

[0073] like Figure 2 As shown, the standard fat-tree data center network topology in this embodiment includes a three-layer architecture: access layer, aggregation layer, and core layer. The access layer comprises eight access layer switches (labeled T1-T8), each connected to two terminal devices (e.g., servers S1 and S2 connected to access layer switch T1, and servers S15 and S16 connected to access layer switch T8). Each access layer switch is connected uplink to two aggregation layer switches (labeled A1-A8) within its respective Pod, and each aggregation layer switch is further connected uplink to four core layer switches (labeled C1-C4). The connections between these layers form a multi-tree fully interconnected structure, ensuring multiple equivalent shortest paths exist between any two different access layer switches, and consequently, multiple equivalent shortest paths exist between any two terminal devices not directly connected to the same access layer switch. For example, for source server S1 and target server S16 located in different Pods, there are 4 equivalent shortest paths of the same length in the network: the outbound traffic of S1 starts from access layer switch T1, may pass through aggregation layer switch A1 or A2 in the source Pod, and then through any core layer switch C1, C2, C3, C4, to reach aggregation layer switch A7 or A8 of the target Pod, and finally reach access layer switch T8 and be delivered to S16.

[0074] The traffic forwarding method of this embodiment will be further explained below, with access layer switch T1 as the source access layer switch and access layer switch T8 as the destination access layer switch.

[0075] When the source access layer switch T1 receives the target traffic sent by the source terminal device (source server S1), the traffic judgment module reads the five-tuple (source IP, destination IP, source port, destination port, protocol) of the target traffic to index and identify the flow, and counts the transmitted bytes of the traffic in real time. At the same time, it confirms the target terminal device (target server S16) and the access layer switch group corresponding to the target traffic. The access layer switch group includes the source access layer switch T1 and the target access layer switch T8 (the access layer switch directly connected to the target terminal device), and determines whether the source access layer switch and the target access layer switch are the same access layer switch.

[0076] If they are on the same access layer switch, the data will be forwarded directly.

[0077] If the traffic is not from the same access layer switch, the traffic determination module determines whether the target traffic is a large flow based on a preset large flow determination threshold (e.g., 500KB in this embodiment). Specifically, if the accumulated bytes reach the preset large flow determination threshold before the target traffic is fully received, it is determined to be a large flow; if the accumulated bytes do not reach the preset large flow determination threshold after the target traffic is fully received, it is determined to be a small flow. In this embodiment, the target traffic information is also recorded in a table and notified to the path selection module. The table includes the five-tuple of the target traffic and the traffic characteristics, and large flows have a specific identifier to facilitate a quick response from the path selection module.

[0078] If the target traffic is a large flow, the path selection module will look up the target large flow fixed path corresponding to the access layer switch group in the pre-configured large flow fixed path static mapping table. The large flow path static mapping table includes access layer switch groups with corresponding relationships and large flow fixed paths. The large flow path is one of multiple equivalent shortest paths from the source access layer switch in the access layer switch group to the target access layer switch. The target large flow fixed path is configured as a dedicated forwarding path for the target traffic. In this embodiment, the large flow fixed path static mapping table is specifically a fixed port mapping table (Port-MapTable), which is pre-configured by the network administrator or controller during the system initialization phase and distributed to each switch. When a large flow is identified (a special marker indicating a large flow is detected), the traffic is forwarded along the predetermined fixed path. This process is implemented through static mapping, ensuring the stability of the large flow path and effectively avoiding the overhead and uncertainty caused by dynamic path selection. In this embodiment, in order to avoid collisions or accumulation of large flows between different large flow fixed paths as much as possible, and to minimize the impact of large flows in large flow fixed paths on the transmission efficiency of small flows in other small flow transmission paths with overlapping paths, the large flow fixed path static mapping table is pre-configured according to the following rules: (1) Each access layer switch group has one and only one large flow fixed path corresponding to it; (2) For any two large flow fixed paths, the overlapping path between them is preferably none; if there is an overlapping path between two large flow fixed paths, the overlapping path is preferably the shortest; (3) The large flow path with overlapping path with other large flow fixed paths is determined as the target counting path, and the total number of target counting paths is minimized; (4) The total length of overlapping paths in the large flow fixed path is minimized.

[0079] If the target traffic is not a large flow (i.e., a small flow), the data selection module will not find the special marker for a large flow in the table corresponding to the target traffic. Instead, the module will select equivalent path groups from the pre-configured dynamic path table that correspond to the access layer switch group and are not occupied by large flows as the spray range for the target traffic's data packets. Using RPS technology, the target traffic's data packets are randomly or round-robin distributed within the spray range. Specifically, a hash algorithm can be used to randomly distribute data packets to multiple equivalent shortest paths for load balancing. This not only fully utilizes multi-path network resources but also avoids overload on a single path, ensuring that small flows are forwarded quickly. In this embodiment, in order to minimize the collision between small flow data packets and large flow, the dynamic path table is pre-configured as follows: The dynamic path table includes multiple sub-tables and a temporary pause table. The sub-tables have corresponding access layer switch groups and equivalent shortest path groups. The equivalent shortest path group is a set of equivalent shortest paths from the source access layer switch in the access layer switch group to the target access layer switch. The temporary pause table includes equivalent shortest paths occupied by large flow. The dynamic path table is configured as follows: (1) The dynamic path table is associated with the static mapping table of fixed paths of large flow. When the fixed path of the target large flow is found in the static mapping table of fixed paths of large flow, According to the access layer switch group, find the corresponding sub-table, move the equivalent shortest path corresponding to the fixed path of the target large flow from its equivalent shortest path group to the temporary pause table, and move it from the temporary pause table to its equivalent shortest path group after there is no large flow on the equivalent shortest path corresponding to the fixed path of the target large flow; (2) find the equivalent shortest path that overlaps with the fixed path of the target large flow in the equivalent shortest path group of other sub-tables and move it to the temporary pause table, and move the equivalent shortest path from the temporary pause table to its equivalent shortest path group when the equivalent path corresponding to the fixed path of the target large flow is removed from the temporary pause table. Among them, (2) is not mandatory.

[0080] In this embodiment, to avoid some extreme cases, the following steps are further added:

[0081] Adding a waiting queue: After finding the fixed path of the target traffic flow, in response to confirming that the uplink port corresponding to the fixed path of the target traffic flow on the source access layer switch is occupied, the target traffic is added to a preset waiting queue according to preset rules. The traffic is then forwarded sequentially according to the order in the waiting queue. The waiting queue is configured such that when a traffic flow in the waiting queue is forwarded by its corresponding source access layer switch, the traffic flow is removed from the waiting queue. By placing the traffic flow to be forwarded into the waiting queue, it is ensured that even under extreme load conditions, the traffic flow is still processed in order with priority, avoiding packet loss due to resource constraints, and further improving the stability and reliability of the system. In this embodiment, the preset rule is: add the current target traffic flow to the end of the queue. To reduce the probability of traffic flow data packets or out-of-order traffic flow received by the target terminal, the waiting queue is sorted according to the following rules: each traffic flow is sorted according to the order in which it is sent from the source terminal device. If there are target traffic flows sent from different source terminal devices at the same time, it is determined whether their traffic sizes are the same. If they are different, they are sorted from smallest to largest traffic size; if they are the same, they are randomly sorted. By adding a waiting queue mechanism, it is ensured that high traffic can still be processed with priority under extreme load conditions, avoiding packet loss or network congestion caused by resource shortages, thereby improving the stability and reliability of the system.

[0082] Furthermore, a dynamic multi-path concurrency mechanism is added: When the first large flow to be forwarded appears in the waiting queue, the total number and / or total number of bytes of large flows to be forwarded in the waiting queue are counted. When a large flow at the head of the queue is removed and / or a new large flow is added to the tail of the queue, the total number and / or total number of bytes of traffic to be forwarded in the waiting queue are updated. And / or, a timer is started when each large flow is added to the waiting queue to obtain the waiting time. When the total number of large flows to be forwarded in the waiting queue exceeds a preset quantity threshold and / or the total number of bytes exceeds a preset traffic threshold, and / or the waiting time of the large flow at the head of the waiting queue exceeds a preset time threshold, one or more equivalent shortest paths different from the fixed path of the target large flow are selected from the equivalent shortest paths as backup paths for the large flow. These backup paths are temporarily configured as dedicated paths for forwarding large flows. Because the k-value of the fat tree topology in this embodiment is relatively small, there are two equivalent shortest paths between different access layer switches in the same pod. To avoid sacrificing the timeliness of small flows, the strategy of temporarily configuring backup large flow paths is not enabled. If there are four equivalent shortest paths between different access layer switches in different pods, a strategy of temporarily configuring backup high-flow paths can be considered. For example, a time threshold of 50ms can be set, the number of backup high-flow paths can be limited to one, and the equivalent shortest path with no overlap with the target high-flow path can be selected to ensure that the new path is topologically equivalent to the original path and does not conflict. In other embodiments, as the value of k increases, the number of equivalent shortest paths increases, and multiple backup high-flow paths can be set as needed, preferably not exceeding 1 / 4 of the total number of equivalent paths. After adding a path for a high-flow, the following two traffic splitting strategies can be adopted: one is to perform load balancing at the packet level, similar to RPS, randomly or in a round-robin manner distributing the current high-flow packets to two or more paths. This packet-based distribution method can utilize the bandwidth of the dual paths in a fine-grained manner, thereby improving concurrent throughput, but the packet out-of-order problem needs to be considered, and the sequence of packets needs to be rearranged at the target terminal. Secondly, the entire current forwarding flow is split into two or more larger sub-flows, which are then transmitted via the original path and a new path, respectively. This flow-by-flow or flow-block splitting method ensures the order of packets within each sub-flow on each path, reducing out-of-order overhead. However, it requires traffic partitioning at the sending end and aggregation at the receiving end. In practical applications, a specific solution can be chosen based on the network's tolerance for out-of-order traffic and the implementation complexity. Alternatively, a dynamic flowlet technique at the flow granularity can be used to achieve a balance between maintaining packet order and achieving load balancing. In this embodiment, when a backup flow path is enabled, the equivalent shortest path corresponding to the backup flow path is moved from the equivalent shortest path group in its sub-table to the temporary pause table to prevent packets from smaller flows from being sprayed onto it when it is used as a backup flow path.

[0083] In this embodiment, to avoid sacrificing the timeliness of small flows, the backup path for large flows exits the dedicated path used for forwarding large flows in response to meeting any of the following preset conditions: Condition 1: Queuing or queuing delay exceeding a preset threshold is detected in any other equivalent shortest path different from the target large flow's fixed path. For example, real-time monitoring of the uplink port status of all switches on other equivalent shortest paths reveals that any uplink port is experiencing packet queuing or packet queuing delay exceeding a preset threshold; Condition 2: There are no large flows queuing in the waiting queue. Condition 1 has a higher priority than Condition 2.

[0084] In this embodiment, data packets of the same traffic have the same identifier, data packets of different traffic have different identifiers, and different data packets in the same traffic have different sequence numbers. In response to receiving and identifying the identifiers and sequence numbers of data packets that arrive through different equivalent shortest paths, the target terminal device reassembles the data packets in the correct order according to the identifiers and sequence numbers to obtain the target traffic.

[0085] As an illustration, the application prospects of the traffic forwarding method of the present invention include:

[0086] Optimization of Data Center and Cloud Computing Networks: With the widespread application of cloud computing and virtualization technologies, data center network traffic patterns exhibit a coexistence of numerous small flows and a few large flows. The traffic forwarding method of this invention enables data centers to manage network traffic more efficiently, avoiding excessive bandwidth consumption by large flows and ensuring low-latency forwarding of small flows. Therefore, it has a very broad application prospect in large-scale cloud computing environments, significantly improving the service quality of cloud platforms and ensuring the stable operation of various applications and services.

[0087] Real-time Performance Enhancement in High-Frequency Trading and Financial Systems: In financial systems, especially in applications with extremely stringent latency requirements such as high-frequency trading (HFT), the timeliness of small stream forwarding is crucial. This invention effectively reduces small stream congestion and latency, avoids transaction delays caused by network resource consumption, ensures the efficiency and timeliness of the trading process, and provides strong technical support for high-frequency trading in financial markets.

[0088] Traffic Management in 5G and Internet of Things (IoT) Networks: In 5G networks and IoT application scenarios, numerous devices generate different types of traffic. Especially in IoT, the coexistence of small and large traffic flows is significant, placing extremely high demands on network real-time performance and stability. The traffic forwarding method of this invention enables differentiated management of large and small traffic flows, optimizes network resource allocation, ensures that real-time-critical small flows receive priority transmission, and that large flows are reasonably controlled, thereby improving the overall efficiency and reliability of the network.

[0089] The above description is only a specific embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.

Claims

1. A traffic forwarding method based on a fat-tree data center network topology, characterized in that: It includes the following steps: When a source access layer switch in the Fat Tree data center network topology receives target traffic sent by a source terminal device, it confirms the target terminal device and access layer switch group corresponding to the target traffic. The access layer switch group includes the source access layer switch and the target access layer switch. The target access layer switch is an access layer switch directly connected to the target terminal device. It also determines whether the source access layer switch and the target access layer switch are the same access layer switch. If it is not the same, then confirm the size of the target traffic and determine whether the target traffic is a large flow; If it is a large flow, then look up the target large flow fixed path corresponding to the access layer switch group in the pre-configured large flow fixed path static mapping table. The large flow fixed path static mapping table includes access layer switch groups and large flow fixed paths with corresponding relationships. The large flow fixed path is one of the multiple equivalent shortest paths from the source access layer switch in the access layer switch group to the target access layer switch. Configure the target large flow fixed path as a dedicated forwarding path for the target traffic. Otherwise, the target traffic data packets are sprayed onto the shortest equivalent paths from the source access layer switch to the target access layer switch that are not occupied by large flows.

2. The traffic forwarding method based on a fat-tree data center network topology according to claim 1, characterized in that: The static mapping table for fixed paths of the large flow is pre-configured according to the following rules: Each access layer switch group has one and only one corresponding fixed path for high-volume flows. For any two fixed paths of large flows, the overlapping path between them is preferably none; if there is an inevitable overlapping path between the two fixed paths of large flows, the overlapping path with the shortest possible value is preferred; and / or, Identify the flow paths that overlap with other large flow fixed paths as target counting paths, minimizing the total number of target counting paths; and / or, The total length of overlapping paths in the fixed path of the control flow is minimized.

3. The traffic forwarding method based on a fat-tree data center network topology according to claim 1, characterized in that: The target high-volume fixed path is configured to exit the dedicated forwarding path of the target traffic after the target access layer switch receives all data packets of the target traffic.

4. The traffic forwarding method based on a fat-tree data center network topology according to claim 1, characterized in that: Spray the data packets for the target traffic using the following method: The pre-configured dynamic path table selects the equivalent shortest path group corresponding to the access layer switch group and not occupied by the large flow as the spray range of the target traffic data packets. The RPS technology is used to randomly or round-robin distribute the target traffic data packets within the spray range.

5. The traffic forwarding method based on a fat-tree data center network topology according to claim 4, characterized in that: The dynamic path table shall be pre-configured in the following manner: The dynamic path table includes multiple sub-tables and a temporary pause table. The sub-tables have corresponding access layer switch groups and equivalent shortest path groups. The equivalent shortest path group is a set of equivalent shortest paths from the source access layer switch to the target access layer switch within the access layer switch group. The temporary pause table includes equivalent shortest paths occupied by high traffic. The dynamic path table is configured as follows: The dynamic path table is associated with the static mapping table of fixed paths for large flows. When the target fixed path for a large flow is found in the static mapping table of fixed paths for large flows, the corresponding sub-table is found according to the access layer switch group. The equivalent shortest path corresponding to the target fixed path for a large flow is moved from the equivalent shortest path group of the sub-table to the temporary pause table. After there is no large flow on the equivalent shortest path corresponding to the target fixed path for a large flow, the equivalent shortest path corresponding to the target fixed path for a large flow is moved from the temporary pause table to the equivalent shortest path group. In the equivalent shortest path group of other sub-tables, find the equivalent shortest path that overlaps with the target flow fixed path and move it to the temporary pause table. When the equivalent shortest path corresponding to the target flow fixed path is removed from the temporary pause table, move the equivalent shortest path from the temporary pause table to the equivalent shortest path group in which it belongs.

6. The traffic forwarding method based on a fat-tree data center network topology according to any one of claims 1 to 5, characterized in that: After finding the target traffic fixed path, in response to confirming that the uplink port of the source access layer switch corresponding to the target traffic fixed path is occupied, the target traffic is added to a preset waiting queue according to preset rules, and forwarded sequentially according to the order of the waiting queue. The waiting queue is configured such that when a traffic in the waiting queue is forwarded by its corresponding source access layer switch, the traffic is deleted from the waiting queue.

7. The traffic forwarding method based on a fat-tree data center network topology according to claim 6, characterized in that: The preset rule is: add the current target traffic to the end of the queue. And / or, the waiting queue is ordered according to the following rules: Sort according to the order in which each major flow originates from the source terminal device. If target traffic originates from different source terminal devices at the same time, it is determined whether their traffic size is the same. If they are different, they are sorted in ascending order of traffic size. If they are the same, they are sorted randomly.

8. The traffic forwarding method based on a fat-tree data center network topology according to claim 6, characterized in that: When the first large flow to be forwarded appears in the waiting queue, the total number and / or total number of bytes of large flows to be forwarded in the waiting queue are counted. When a large flow is removed from the head of the queue and / or a new large flow is added to the tail of the queue, the total number and / or total number of bytes of traffic to be forwarded in the waiting queue are updated; and / or, A timer is started each time a large flow joins the waiting queue to obtain the waiting time. When the total number of traffic streams waiting to be forwarded in the waiting queue exceeds a preset quantity threshold and / or the total number of bytes exceeds a preset traffic threshold, and / or the waiting time of the traffic stream at the head of the waiting queue exceeds a preset time threshold, one or more equivalent shortest paths different from the fixed path of the target traffic stream are selected as backup paths for the traffic streams, and the backup paths for the traffic streams are temporarily configured as dedicated paths for forwarding the traffic streams.

9. The traffic forwarding method based on a fat-tree data center network topology according to claim 8, characterized in that: The high-volume backup path shall be temporarily configured according to the following rules: The number of high-current backup paths shall not exceed 1 / 4 of the total number of equivalent shortest paths; and / or, Control the high-flow backup path and the target high-flow path to have no overlap.

10. The traffic forwarding method based on a fat-tree data center network topology according to claim 8, characterized in that: The high-volume backup path exits the dedicated path for forwarding high-volume flows in response to any of the following preset conditions: Condition 1: A queue is detected in any other equivalent shortest path that is different from the target flow's fixed path; Condition 2: There is no large flow of people queuing in the waiting queue. Condition one has a higher priority than condition two.

11. The traffic forwarding method based on a fat-tree data center network topology according to claim 10, characterized in that: The first condition is that a queue is detected in any other equivalent shortest path that is different from the target flow fixed path, and the queue delay exceeds a preset threshold.

12. The traffic forwarding method based on a fat-tree data center network topology according to claim 1, characterized in that: Data packets of the same traffic have the same identifier, data packets of different traffic have different identifiers, and different data packets in the same traffic have different sequence numbers. In response to receiving and identifying the identifiers and sequence numbers of data packets arriving through different equivalent shortest paths, the target terminal device reassembles the data packets in the correct order according to the identifiers and the sequence numbers to obtain the target traffic.

13. The traffic forwarding method based on a fat-tree data center network topology according to claim 1, characterized in that: The following method is used to determine whether the target flow is a large flow: Byte counting is initiated when the access layer switch directly connected to the source terminal device begins receiving the target traffic; If the accumulated bytes have reached the preset large flow determination threshold before the target traffic is fully received, it is determined to be a large flow.

14. The traffic forwarding method based on a fat-tree data center network topology according to claim 1, characterized in that: If the source access layer switch and the target access layer switch are the same access layer switch, then forwarding is done directly.

15. A communication system comprising: The system includes a terminal device, a fat tree data center network topology for electrically connecting the terminal devices in pairs, a traffic determination module, and a path selection module, wherein the traffic determination module and the path selection module are configured to perform traffic forwarding according to the traffic forwarding method according to any one of claims 1 to 14.

Citation Information

Patent Citations

  • Data center network flow balancing method and device oriented to software definition

    CN105915467A

  • Differential flow control method and device for cloud computing data center network

    CN106533970A