A method for tracking a physical path of a data packet in a data center network
By assigning specific labels and flow table entries to switch nodes in the data center network, and combining the characteristics of fat tree topology, the packet tracing method is optimized, solving the resource consumption and latency problems in the existing technology, and achieving efficient packet path tracing.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SOUTHEAST UNIV
- Filing Date
- 2022-12-14
- Publication Date
- 2026-05-26
AI Technical Summary
In existing data center networks, link-based packet tracing methods result in a large number of flow rules and header space overhead, which significantly reduces switch forwarding efficiency and increases transmission latency, especially under fat tree topologies where performance is unsatisfactory.
A node-based label allocation scheme is adopted, which combines the characteristics of fat tree topology to assign specific labels to switch nodes and record path information in the packet header through flow table entries, thereby reducing label length and the number of flow table entries and optimizing switch resource utilization.
It effectively reduces the demand for packet header space resources and switch flow table entries, lowers system deployment difficulty and latency, and improves the forwarding efficiency of data center networks.
Smart Images

Figure CN117319295B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of data center networks and software-defined networks, and particularly relates to a method for physical link tracing of data packets in data center networks. Background Technology
[0002] Data center networks have evolved over decades and are now the infrastructure for many large internet and telecommunications companies, including Google, Amazon, and Tencent. Given the massive scale (typically comprising numerous switches and physical links) and rapid development of modern data center networks, various failures (physical link failures, switch misconfigurations, congestion, etc.) are almost inevitable, requiring network administrators to provide immediate solutions. Regardless of the strategy employed, the first and most common step in addressing these anomalies is to infer the current traffic patterns within the network. Obtaining traffic data for different parts of the data center network helps administrators measure network load matrices, pinpoint network faults, and lay the foundation for resolving other performance issues. Generally, to do this, administrators need to trace the path of each connection in the network, collect their path information, convert it into a load matrix, and finally transmit it to the control terminal for further analysis and processing.
[0003] Researchers have designed various packet trajectory tracking / monitoring systems to achieve this goal; most of them are implemented at the data layer, focusing on trade-offs (i.e., balancing granularity and cost), such as using complex custom data structures or sketch algorithms to balance workload; meanwhile, some advanced systems are considering or have already implemented their designs on network systems that support SDN (Software-defined Networking), which offer greater deployability and require less hardware support.
[0004] Typically, SDN-based systems consume two main types of network resources: packet header space and switch flow rules. They first assign unique tags to different ports on each switch to distinguish the specific physical link connected to that port. Then, they utilize the VLAN-tag push / pop functionality provided by SDN flow rules (by deploying flow table entries in the switch) to load the tag into the packet header space as the packet enters the switch through that specific port. Therefore, once the packet reaches the target server, a series of VLAN tags are stored in its header space, which can be extracted and further analyzed to reconstruct its complete physical path.
[0005] Due to the generalization intent—that is, adapting to various network topologies—the recording algorithms of existing systems are mostly relatively simple: for example, a unique label can be assigned to each physical link in a data center network, and switches can be configured to add the label to their header space as packets pass through. This approach is very straightforward, but it generates a large number of flow rules and significant header space overhead, because data center networks typically consist of numerous links and switches, and the cost of recording a label and deploying switch flow rules is quite expensive. Notably, a large number of switch flow rules significantly reduces the efficiency of switches in forwarding packets (because switches need to check all flow table entries to determine packet forwarding behavior), thus significantly worsening transmission latency within the data center network. Furthermore, this phenomenon can be exacerbated if packets travel along non-shortest paths. For example, a 72-tuple fat-tree topology has a total of 186,624 links. To uniquely identify a link, we need log(186,624) = 18 bits. Therefore, for a shortest path without detours (4 hops), the packet header needs 72 bits to record completely. Furthermore, the Layer 3 switch nodes in a 72-tuple fat-tree need to enable 72, 72, and 36 ports respectively, meaning a total of 373,248 flow table entries need to be deployed in the network. These additional flow table entries can introduce considerable additional latency. Researchers have proposed solutions to mitigate this situation, such as using a large number of flow rules to reduce the cost of the header space, or using probabilistic models to partially perform the recording operation, thereby reducing the cost of recording packet trajectories. However, the performance of these systems is still unsatisfactory because they either require more flow rules or introduce accuracy issues. Summary of the Invention
[0006] Purpose of the invention: To address the above problems, this invention designs and implements a novel physical path tracing method for data packets specifically designed for fat-tree data center network topologies. This method considers assigning different labels to each node rather than physical links, while utilizing the topological characteristics of fat trees to reuse labels as much as possible, thereby minimizing the length of a single label, reducing the demand on packet header space resources and switch flow table entry resources, and ultimately effectively reducing the difficulty of system deployment and the additional latency caused by deployment while achieving the same physical path tracing function.
[0007] Technical Solution: To achieve the objectives of this invention, the technical solution adopted is: a method for tracing the physical path of data packets in a data center network, the method comprising the following steps:
[0008] (1) Assign specific labels to each switch node in the fat tree data center network topology and configure the server node IP in a specific way;
[0009] (2) Add specific flow table entries to each switch node in the topology to realize functions such as pushing labels into the header space of data packets;
[0010] (3) When the data packet passes through each switch node, perform the specified operation on the data packet based on each flow table entry, and add / modify the specified information to the header space of the data packet; when the data packet arrives at the client / server node, extract the information sequence at the specified position in the header space of the data packet and parse the information sequence to restore the complete physical path of the data packet in the data center network.
[0011] Furthermore, in step (1), specific labels are assigned to the Layer 3 switch nodes in the fat tree network topology, and specific configurations are made for the server node IPs, as follows:
[0012] (101) For a fat tree network topology, its switch nodes can be divided into three layers from top to bottom: core layer, aggregation layer and access layer, while the server nodes are connected to the access layer switches at the bottom layer; a fat tree can be defined by a positive even number N, then the core layer of an N-ary fat tree has N nodes. 2 / 4 switch nodes, while N in each of the aggregation layer and access layer 2 / 2 nodes. Every N / 2 nodes in the aggregation layer and access layer form a complete dual graph, which is called a Pod.
[0013] (102) The core layer consists of N / 2 nodes in a group, and different labels starting with 1 are assigned within the group. All groups use the same set of labels. The aggregation layer and access layer consist of N / 2 nodes in a group, and different labels starting with 0 are assigned within the group. All groups use the same set of labels. Each Pod is assigned a different label and reuses the first two types of labels. A total of N different labels are used. That is, the space cost of recording a label is log(N).
[0014] (103) Define a new matching field pre_node in the data center network to indicate whether the previous node through which the data packet passes is a core layer node.
[0015] (104) In the data center network, set the IP format of all server nodes to “10.Pod.Access.X”, where “Pod” and “Access” represent the decimal numbers corresponding to the Pod number and access layer node number connected to it, respectively, and “X” indicates that the server is the Xth server connected to this access layer node.
[0016] Furthermore, in step (2), specific flow table entries are added to the Layer 3 switch nodes in the fat tree network topology, as follows:
[0017] (201) Add a flow table entry to each core layer node: add the label assigned by the node to the header of the passing data packet, and set pre_node to true.
[0018] (202) Add three flow table entries to each aggregation layer node: If a packet ascends from the access layer to the aggregation layer node, add the node label to the packet header; if a packet descends from the core layer to the aggregation layer and reaches the Pod where the destination server is located, set pre_node to false; if none of the above items match, it means that the packet descends from the core layer to the aggregation layer and reaches the Pod where the destination server is located, add the Pod label to the packet header and set pre_node to false.
[0019] (203) Add three flow table entries to each access layer node: if the sender IP of the data packet indicates that the access layer node is the first switch node it passes through, then no operation is performed; if the destination IP of the data packet indicates that the access layer node is the last switch node it passes through, then no operation is performed; if none of the above items match, then add the corresponding tag of the node to the header of the data packet.
[0020] Furthermore, in step (3), after the data packet arrives at the server node, the path information sequence in the header space is parsed as follows:
[0021] (301) The common path of data packets in a fat-tree data center network can be divided into the following three steps: First, the data packet originates from a server node, arrives at an access layer switch, and enters a Pod (called the sending Pod). Within the sending Pod, the data packet may traverse multiple links, alternating between the aggregation layer and the access layer, or it may leave the Pod directly for the core layer. Second, the data packet leaves the sending Pod and may travel back and forth multiple times between the core layer node and the aggregation layer nodes of different Pods; finally, the data packet arrives at the Pod where the destination server node is located (called the receiving Pod), and may alternate between the aggregation layer and the access layer within the receiving Pod, just as it did within the sending Pod. These three steps describe the shortest path and the most common detours in a fat-tree network.
[0022] (302) This method divides the information sequence recorded in the header of the data packet into segments of 2*log(N) bits each, and further divides it into the following four parts by checking whether the first and log(n)+1th bits of each segment are 0 or 1:
[0023] (0Y0Y)*i+0Y1Y+(XY1Y)*j+(0Y0Y)*k
[0024] Where X represents a single binary bit 0 or 1, and Y represents a binary string of length log(n)-1. The numbers i, j, and k represent the number of detours in the first, second, and third steps described in (301), respectively. They can be zero, which indicates that there are no detours in the path.
[0025] (303) The four parts of the information sequence are analyzed: The first part (0Y0Y)*i records the switch labels recorded when the data packet travels around in the sending Pod, where the first 0Y is the label of the aggregation layer switch (according to (204), the label of the first access layer switch node passed by the data packet will not be recorded), and the second 0Y is the label of the access layer switch. The second part 0Y1Y represents the label (0Y) of the last aggregation layer switch passed by the data packet in the sending Pod and the label (1Y) of the first core layer switch passed by it. The third part (XY1Y)*j records the routing path of the data packet when it travels back and forth between the core layer and the aggregation layer of different Pods, where XY represents the label of the Pod it passes by, and 1Y represents the label of the core layer switch it passes by; the last part is similar to the first part, recording the routing that occurs in the receiving Pod. In the above way, the path information sequence recorded in the header of the data packet can be restored to the complete path of the data packet in the network topology without causing confusion.
[0026] Beneficial effects: Compared with the prior art, the technical solution of the present invention has the following beneficial technical effects:
[0027] 1. Based on the graph theory properties of fat tree topology, this invention adopts a label allocation scheme based on nodes rather than links, and deeply analyzes the different number of labels required by each switch node, effectively reducing the space resource consumption of a single label.
[0028] 2. Based on the above label allocation scheme, this invention constructs a better method for deploying switch flow table entries, which greatly reduces the total number of flow table entries that need to be deployed, significantly reduces the difficulty of deploying the tracking system, and effectively reduces the additional latency brought to the data center network after the system is deployed. Attached Figure Description
[0029] Figure 1 This is a schematic diagram of the switch node label allocation implemented in this invention;
[0030] Figure 2 This is a diagram illustrating the flow table entries of the switches at each layer implemented in this invention;
[0031] Figure 3 This is a flowchart illustrating the implementation steps of the present invention;
[0032] Figure 4 This is an example result analysis diagram of the data packet recording information sequence of the present invention. Detailed Implementation
[0033] The technical solution of the present invention will now be described in detail with reference to the accompanying drawings.
[0034] The technical solution adopted in this invention is: a method for tracing the physical path of data packets in a data center network, the method comprising the following steps:
[0035] Step (1): Assign specific labels to the Layer 3 switch nodes in the fat tree network topology and configure the server node IPs accordingly, as follows:
[0036] Step (101): The structure of an N-ary fat tree network topology is as follows Figure 1 As shown, its switch nodes can be divided into three layers from top to bottom: core layer, aggregation layer, and access layer, where the server nodes are connected to the bottom access layer switches; a fat tree can be defined using a positive even number N, where there are N nodes in the core layer. 2 / 4 switch nodes, while N in each of the aggregation layer and access layer 2 / 2 nodes. Every N / 2 nodes in the aggregation layer and access layer form a complete dual graph, which is called a Pod.
[0037] Step (102): As Figure 1 As shown, the core layer consists of N / 2 nodes per group, with different labels starting with 1 assigned within each group, and all groups use the same set of labels; the aggregation layer and access layer consist of N / 2 nodes per group, with different labels starting with 0 assigned within each group, and all groups use the same set of labels; each Pod is assigned a different label and reuses the first two types of labels, for a total of N different labels used, meaning the space cost of recording one label is log(N).
[0038] Step (103): Define a new matching field pre_node within the data center network to indicate whether the previous node through which the data packet passes is a core layer node.
[0039] Step (104): Set the IP format of all server nodes in the data center network to the form of "10.Pod.Access.X", where "Pod" and "Access" represent the decimal numbers corresponding to the Pod number and access layer node number connected to it, respectively, and "X" indicates that the server is the Xth server connected to this access layer node.
[0040] Step (2): Add specific flow table entries to the Layer 3 switch nodes in the fat tree network topology, as follows:
[0041] Step (201): Add a flow table entry to each core layer node: add the label assigned by the node to the header of the passing data packet, and set pre_node to true.
[0042] Step (202): Add three flow table entries to each aggregation layer node: If a packet ascends from the access layer to the aggregation layer node, add the node label to the packet header; if a packet descends from the core layer to the aggregation layer and reaches the Pod where the destination server is located, set pre_node to false; if none of the above items match, it means that the packet descends from the core layer to the aggregation layer and reaches the Pod where the destination server is located, add the Pod label to the packet header and set pre_node to false.
[0043] Step (203): Add three flow table entries to each access layer node: If the sender IP of the data packet indicates that the access layer node is the first switch node it passes through, then no operation is performed; if the destination IP of the data packet indicates that the access layer node is the last switch node it passes through, then no operation is performed; if none of the above items match, then add the corresponding tag of the node to the header of the data packet.
[0044] Step (3): After the data packet arrives at the server node, parse the path information sequence in the header space, as follows:
[0045] Step (301): The common path of data packets in a fat-tree data center network mainly consists of the following three steps: First, the data packet originates from a server node, arrives at an access layer switch, and enters a Pod (called the sending Pod). Within the sending Pod, the data packet may traverse multiple links, alternating between the aggregation layer and the access layer, or it may leave the Pod directly for the core layer. Second, the data packet leaves the sending Pod and may travel back and forth multiple times between the core layer node and the aggregation layer nodes of different Pods; finally, the data packet arrives at the Pod where the destination server node resides (called the receiving Pod), and may alternate between the aggregation layer and the access layer within the receiving Pod, just as it did within the sending Pod. These three steps describe the shortest path and the most common detours in a fat-tree network.
[0046] Step (302): This method divides the information sequence recorded in the header of the data packet into segments of 2log(N) bits each, and further divides it into the following four parts by checking whether the first and log(n)+1th bits of each segment are 0 or 1:
[0047] (0Y0Y)*i+0Y1Y+(XY1Y)*j+(0Y0Y)*k
[0048] Where X represents a single binary bit 0 or 1, and Y represents a binary string of length log(n)-1. The numbers i, j, and k represent the number of detours in the first, second, and third steps described in (301), respectively. They can be zero, indicating that there are no detours in the physical path.
[0049] Step (303) parses the four parts of the information sequence: The first part (0Y0Y)*i records the switch labels recorded when the data packet travels around in the sending Pod, where the first 0Y is the label of the aggregation layer switch (according to (204), the label of the first access layer switch node passed by the data packet will not be recorded), and the second 0Y is the label of the access layer switch. The second part 0Y1Y represents the label (0Y) of the last aggregation layer switch passed by the data packet in the sending Pod and the label (1Y) of the first core layer switch passed by it. The third part (XY1Y)*j records the routing path of the data packet when it travels back and forth between the core layer and the aggregation layer of different Pods, where XY represents the Pod label it passes by and 1Y represents the core layer switch label it passes by; the last part is similar to the first part, recording the routing that occurs in the receiving Pod. In the above way, the path information sequence recorded in the header of the data packet can be restored to the complete path of the data packet in the network topology without causing confusion. Figure 4 This diagram illustrates how the sequence of data packet path record information 000101101111 in a 4-ary fat tree is reconstructed into the complete path of the data packet within the network.
[0050] The data packet physical path tracing method finally realized by this invention can be quickly deployed in data center networks to capture the complete physical path of a specific data packet within the network. This allows it to be used for common data center functions such as building network traffic measurement matrices and monitoring and locating network anomalies. At the same time, the storage and computing resource overhead is significantly lower than that of existing solutions.
[0051] This invention may also have other various embodiments. Without departing from the spirit and essence of this invention, those skilled in the art can make various corresponding changes and modifications according to this invention, and these corresponding changes and modifications should all fall within the protection scope of the appended claims.
Claims
1. A method for tracing the physical path of data packets in a data center network, characterized in that, The method includes the following steps: (1) Assign specific labels to each switch node in the fat tree data center network topology and configure the server node IP in a specific way; (2) Add specific flow table entries to each switch node in the topology to implement the operation of pushing specified tag information into the header space of the data packet; (3) When the data packet passes through each switch node, the data packet is matched based on the deployed flow table, and the specified operation of adding / modifying the specified information in the header space of the data packet is performed; when the data packet arrives at the client / server node, the information sequence at the specified position in the header space of the data packet is extracted and the information sequence is parsed based on a specific algorithm to restore the complete physical path of the data packet in the data center network; In step (1), specific labels are assigned to the Layer 3 switch nodes in the fat tree network topology, and specific configurations are made for the server node IPs, as follows: (101) For an N-ary fat tree network topology, its switch nodes are divided into three layers from top to bottom: core layer, aggregation layer and access layer, where the server nodes are connected to the access layer switches at the bottom layer; the fat tree is defined by a positive even number N, where the core layer has a total of Each switch node, and each in the aggregation layer and access layer Each node; each of the aggregation layer and access layer Each node forms a complete dual graph, meaning that any two nodes belonging to different levels are directly connected, while any two nodes at the same level are not connected; this complete dual graph structure is called a Pod, and an N-ary fat tree topology has a total of N Pods. (102) In the topology, the core layer nodes are grouped in groups of N / 2 nodes, and different labels starting with 1 are assigned within each group; at this time, there are a total of N / 2 groups in the core layer, and all groups use the same set of labels; the aggregation layer and access layer are also grouped in groups of N / 2 nodes, i.e., by Pod, and different labels starting with 0 are used within each group, and all groups use the same set of labels; finally, each Pod is assigned a different label and reuses the first two types of labels, so only N different labels are used in total, that is, the space cost of recording a label is compressed to ; (103) Define a new matching field pre_node in the data center network to indicate whether the previous node through which the data packet passes is a core layer node; (104) In the data center network, set the IP format of all server nodes to the form "10.Pod.Access.X", where "Pod" and "Access" represent the Pod number and access layer node number connected to it, respectively, and "X" represents that the server is the Xth server connected to this access layer node. Each access layer node in the N-element fat tree topology will be connected to N / 2 server nodes. In step (2), specific flow table entries are added to the Layer 3 switch nodes in the fat tree network topology to implement the function of pushing labels into the packet header space. The method is as follows: (201) Add a flow table entry to each core layer node: add the label assigned by the node to the header of the data packets that pass through, and set pre_node to true; (202) Add three flow table entries to each aggregation layer node: If pre_node is false, it means that the data packet has risen from the access layer to reach the aggregation layer node, so add the node label to the header of the data packet; if pre_node is true and the destination IP matches the IP format of the server node in the Pod where the aggregation layer node is located, it means that the data packet has fallen from the core layer to reach the aggregation layer and reached the Pod where the destination server is located, so set pre_node to false; if none of the above items match, it means that the data packet has fallen from the core layer to reach the aggregation layer and reached the Pod where the destination server is located, so add the Pod label to the header of the data packet and set pre_node to false; (203) Add three flow table entries to each access layer node: if the source IP of the packet indicates that the access layer node is the first switch node it passes through, then no operation is performed; if the destination IP of the packet indicates that the access layer node is the last switch node it passes through, then no operation is performed; if none of the above items match, then add the corresponding tag of the node to the header of the packet. In step (3), when the data packet arrives at the server node after passing through a certain path within the data center, a specific algorithm is used to parse the path information sequence in a specific region of its header space and reconstruct the complete physical path of the data packet. The method is as follows: (301) The common path of data packets in a fat tree data center network can be divided into the following three steps: First, the data packet starts from a server node, arrives at an access layer switch and enters a Pod, called the sending Pod; within the sending Pod, the data packet may pass through multiple links, alternating between aggregation layer and access layer nodes, or it may leave the Pod directly without detouring; second, the data packet leaves the sending Pod and goes to the core layer, and may detour multiple times between the core layer node and the aggregation layer node of different Pods; finally, the data packet arrives at the Pod where the destination server node is located, called the receiving Pod, and may, like within the sending Pod, alternate between the aggregation layer and access layer before reaching the destination server node within the receiving Pod; these three steps describe the shortest path and the three most common detouring situations in a fat tree network; (302) After the data packet arrives at the server node, the information sequence recorded in its header is incremented by 1. Divide the data into segments by digits, and then examine the first and second digits of each segment. Whether the bit is 0 or 1, it can be further divided into the following four parts: Where X represents a single binary bit 0 or 1, and Y represents a length of... The binary string; the numbers i, j, and k represent the number of detours in the first, second, and third steps described in (301), respectively. They are zero, indicating that there are no detours in the physical path; the length of the entire information sequence is related to the number of fat tree elements and the number of detours; (303) The four parts of the information sequence are parsed as follows: Part 1 The data packet records the switch labels as it travels through the sending Pod. The first 0Y is the label of the aggregation layer switch. According to (204), the label of the first access layer switch node the data packet passes through will not be recorded. The second 0Y is the label of the access layer switch. The second part 0Y1Y represents the label (0Y) of the last aggregation layer switch the data packet passes through in the sending Pod and the label (1Y) of the first core layer switch it passes through. The third part... The packet header records the routing path of the data packet when it travels between the core layer and the aggregation layer of different Pods. XY represents the Pod label it passes through, and 1Y represents the core layer switch label it passes through. The last part is similar to the first part, recording the routing that occurs within the receiving Pod. In this way, the sequence of path information recorded in the packet header can be restored to the complete path of the data packet in the network topology without causing confusion.