A traffic forwarding method, apparatus and related device

By creating destination address micro-segment groups and constructing ACLs for Leaf devices in the Spine-Leaf architecture network, the problem of insufficient ACL resources is solved, and efficient traffic path navigation and resource utilization are achieved.

CN119996305BActive Publication Date: 2025-12-05NEW H3C TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510238359.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-02-28
Publication Date
2025-12-05
Estimated Expiration
2045-02-28

AI Technical Summary

Technical Problem

In large-scale intelligent computing GPU scenarios, the device's ACL resources are insufficient, making it impossible to achieve fine-grained traffic path navigation.

Method used

In the Spine-Leaf architecture network, M destination address micro-segment groups are created for each Leaf device, and M access control lists (ACLs) are constructed to forward traffic packets, thereby reducing the ACL hardware resource consumption.

Benefits of technology

This significantly reduces the ACL hardware resource consumption of Leaf devices, improves the utilization rate of ACL hardware resources, and achieves efficient traffic path navigation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119996305B_ABST
    Figure CN119996305B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of network communication, in particular to a traffic forwarding method, device and related equipment. The method is applied to a controller in a Spine-Leaf architecture networking, and the method comprises the following steps: for each Leaf device, creating M destination address micro-segment groups with the network card addresses of the first servers accessed by other Leaf devices except the Leaf device as destination addresses; taking the network card addresses of the second servers accessed by the Leaf device as source addresses, and for each source address, constructing M access control lists (ACLs) corresponding to the source address according to the source address and the M destination address micro-segment groups, wherein M is the number of uplink links between the Leaf device and each Spine device, each ACL comprises a source address item, a destination address micro-segment group, an out interface and next hop information; and the M ACLs are sent to the Leaf device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of network communication technology, and in particular to a traffic forwarding method, apparatus and related equipment. Background Technology

[0002] In today's intelligent computing scenarios, bandwidth is increasingly high, requiring fine-grained traffic path navigation to fully utilize device port bandwidth. Current implementations use the traffic-matrix function for path navigation. However, traffic-matrix requires specifying both the source and destination IPs, as well as the device's outgoing port, to achieve fine-grained traffic path navigation. But each traffic entry consumes one ACL (Access Control List) resource on the device. In large-scale intelligent computing GPU scenarios, device ACL resources are insufficient, making this approach unusable. Summary of the Invention

[0003] This application provides a traffic forwarding method, apparatus, and related equipment.

[0004] Firstly, this application provides a traffic forwarding method applied to a controller in a Spine-Leaf architecture network, the method comprising:

[0005] For each Leaf device, M destination address micro-segment groups are created, using the network interface card addresses of the first server connected to other Leaf devices (excluding this Leaf device) as destination addresses.

[0006] Using the network interface card addresses of the second server connected to the Leaf device as source addresses, for each source address, M access control lists (ACLs) corresponding to the source address are constructed based on the source address and the M destination address micro-segment groups. Here, M is the number of uplinks between the Leaf device and each Spine device. Each ACL includes a source address entry, a destination address micro-segment group, an outgoing interface, and next-hop information.

[0007] The M ACLs are distributed to the Leaf device so that after receiving a traffic packet sent by the network card of the locally accessed server, the Leaf device can find the source address of the traffic packet based on the source address and destination address of the traffic packet, and the destination address micro-segment group includes the target ACL of the destination address of the traffic packet, and forward the traffic packet based on the target ACL.

[0008] Optionally, the method further includes:

[0009] Get the traffic volume carried by each ACL;

[0010] When it is determined that the traffic carried by the first ACL has reached the first preset value, and the traffic carried by the second ACL has not reached the second preset value, a portion of the traffic carried by the first ACL is dynamically adjusted to be carried by the second ACL.

[0011] Optionally, a destination address segment group includes multiple destination addresses; the step of dynamically adjusting a portion of the traffic carried by the first ACL to be carried by the second ACL includes:

[0012] At least one destination address included in the first destination address segment group corresponding to the first ACL is dynamically adjusted to the second destination address segment corresponding to the second ACL.

[0013] Secondly, this application provides a traffic forwarding method applied to a target Leaf device in a Spine-Leaf architecture network. The network controller uses the network interface card (NIC) addresses of servers accessed by Leaf devices other than the target Leaf device as destination addresses, creates M destination address micro-segment groups, and uses the NIC addresses of servers accessed by the target Leaf device as source addresses. For each source address, based on the source address and the M destination address micro-segment groups, constructs M Access Control Lists (ACLs) corresponding to that source address and sends them to the target Leaf device. Here, M is the number of uplinks between the Leaf device and each Spine device, and each ACL includes a source address entry, a destination address micro-segment group, an outgoing interface, and next-hop information. The method includes:

[0014] Receive traffic packets sent by the local access server network card;

[0015] Based on the source address and destination address of the traffic packet, find the source address of the traffic packet, and the destination address micro-segment group includes the target ACL of the destination address of the traffic packet;

[0016] The traffic packets are forwarded based on the target ACL.

[0017] Thirdly, this application provides a traffic forwarding device applied to a controller in a Spine-Leaf architecture network, the device comprising:

[0018] A creation unit is used to create M destination address micro-segment groups for each Leaf device, using the network interface card addresses of the first server accessed by other Leaf devices (excluding the Leaf device itself) as destination addresses.

[0019] The construction unit is used to construct M access control lists (ACLs) corresponding to each source address, based on the network interface card addresses of the second server connected to the Leaf device and the M destination address micro-segment groups, using each source address as the source address. Here, M is the number of uplinks between the Leaf device and each Spine device. Each ACL includes a source address entry, a destination address micro-segment group, an outgoing interface, and next-hop information.

[0020] The distribution unit is used to distribute the M ACLs to the Leaf device, so that after receiving a traffic packet sent by the network card of the locally accessed server, the Leaf device can find the source address of the traffic packet based on the source address and destination address of the traffic packet, the destination address micro-segment group includes the target ACL of the destination address of the traffic packet, and forward the traffic packet based on the target ACL.

[0021] Optionally, the device further includes:

[0022] The acquisition unit is used to acquire the traffic volume carried by each ACL;

[0023] The adjustment unit is used to dynamically adjust a portion of the traffic carried by the first ACL to be carried by the second ACL when it is determined that the traffic carried by the first ACL has reached a first preset value and the traffic carried by the second ACL has not reached a second preset value.

[0024] Optionally, a destination address segment group includes multiple destination addresses; when dynamically adjusting a portion of the traffic carried by the first ACL to be carried by the second ACL, the adjustment unit is specifically used for:

[0025] At least one destination address included in the first destination address segment group corresponding to the first ACL is dynamically adjusted to the second destination address segment corresponding to the second ACL.

[0026] Fourthly, this application provides a traffic forwarding device applied to a target Leaf device in a Spine-Leaf architecture network. The network controller uses the network interface card (NIC) addresses of servers accessed by Leaf devices other than the target Leaf device as destination addresses, creates M destination address micro-segment groups, and uses the NIC addresses of servers accessed by the target Leaf device as source addresses. For each source address, based on the source address and the M destination address micro-segment groups, constructs M Access Control Lists (ACLs) corresponding to that source address and distributes them to the target Leaf device. Here, M is the number of uplinks between the Leaf device and each Spine device. Each ACL includes a source address entry, a destination address micro-segment group, an outgoing interface, and next-hop information. The device includes:

[0027] The receiving unit is used to receive traffic packets sent by the network card of the locally accessed server;

[0028] The lookup unit is used to look up the source address of the traffic packet based on the source address and destination address of the traffic packet, and the destination address micro-segment group includes the destination address of the traffic packet as the target ACL;

[0029] A forwarding unit is used to forward the traffic packets based on the target ACL.

[0030] Fifthly, embodiments of this application provide a traffic forwarding device, which includes:

[0031] Memory, used to store program instructions;

[0032] A processor is configured to invoke program instructions stored in the memory and execute the steps of the method as described in any one of the first aspects above, according to the obtained program instructions.

[0033] In a sixth aspect, embodiments of this application also provide a computer-readable storage medium storing computer-executable instructions for causing the computer to perform the steps of the method as described in any of the first aspects above.

[0034] Seventhly, embodiments of this application provide a traffic forwarding device, the traffic forwarding device comprising:

[0035] Memory, used to store program instructions;

[0036] A processor is configured to invoke program instructions stored in the memory and execute the steps of the method as described in any one of the second aspects above, according to the obtained program instructions.

[0037] Eighthly, embodiments of this application also provide a computer-readable storage medium storing computer-executable instructions for causing the computer to perform the steps of the method as described in any of the second aspects above.

[0038] In summary, the traffic forwarding method provided in this application is applied to a controller in a Spine-Leaf architecture network. The method includes: for each Leaf device, creating M destination address micro-segment groups using the network interface card (NIC) addresses of the first server accessed by other Leaf devices (excluding the Leaf device) as destination addresses; using the NIC addresses of the second server accessed by the Leaf device as source addresses, constructing M access control lists (ACLs) corresponding to each source address based on the source address and the M destination address micro-segment groups, where M is the number of uplinks between the Leaf device and each Spine device, and each ACL includes a source address entry, a destination address micro-segment group, an outgoing interface, and next-hop information; and distributing the M ACLs to the Leaf device so that after receiving a traffic packet sent by the NIC of the locally accessed server, the Leaf device can find the source address of the traffic packet based on the source address and destination address of the traffic packet, the destination address micro-segment group includes the target ACL of the destination address of the traffic packet, and forward the traffic packet based on the target ACL.

[0039] Using the traffic forwarding method provided in this application embodiment, the controller divides each GPU network card into several destination address micro-segment groups based on the number of hops in the uplink from the Leaf device to the Spine device, using the GPU network cards of other GPU servers as the destination addresses. For each destination address micro-segment group, a corresponding ACL is configured, which greatly reduces the ACL hardware resource occupation of the Leaf device and improves the ACL hardware resource utilization rate of the Leaf device. Attached Figure Description

[0040] 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 of this application 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 of the embodiments of this application.

[0041] Figure 1 A detailed flowchart of a traffic forwarding method provided in an embodiment of this application;

[0042] Figure 2 A network topology diagram provided for an embodiment of this application;

[0043] Figure 3 A detailed flowchart of another traffic forwarding method provided in an embodiment of this application;

[0044] Figure 4 This is a schematic diagram of the structure of a traffic forwarding device provided in an embodiment of this application;

[0045] Figure 5 This is a schematic diagram of another traffic forwarding device provided in an embodiment of this application;

[0046] Figure 6 A schematic diagram of the hardware architecture of a traffic forwarding device provided in an embodiment of this application;

[0047] Figure 7 This is a schematic diagram of the hardware architecture of another traffic forwarding device provided in an embodiment of this application. Detailed Implementation

[0048] The terminology used in the embodiments of this application is for the purpose of describing particular embodiments only and is not intended to limit the application. The singular forms “a,” “the,” and “the” as used in this application and claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to any and all possible combinations comprising one or more of the associated listed items.

[0049] It should be understood that although the terms first, second, third, etc., may be used to describe various information in embodiments of this application, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" may also be interpreted as "when," "when," or "in response to a determination."

[0050] For example, see Figure 1 The diagram shown is a detailed flowchart of a traffic forwarding method provided in an embodiment of this application, applied to the controller in a Spine-Leaf architecture network. The method includes the following steps:

[0051] Step 100: For each Leaf device, create M destination address micro-segment groups using the network interface card addresses of the first server accessed by other Leaf devices (excluding this Leaf device) as destination addresses.

[0052] In practical applications, the controller obtains the network connection relationships (e.g., network topology) between various network devices (e.g., Spine devices and Leaf devices) included in the managed network, and obtains the servers (e.g., GPU servers) accessed by each Leaf device, the interface information of the network cards of each Leaf device accessing each server, and the IP address information of each server network.

[0053] For example, see Figure 2The diagram illustrates a network topology provided in this embodiment of the application. Taking a network comprising two Spine devices (Spine 1 and Spine 2) and two Leaf devices (Leaf 1 and Leaf 2) as an example, Leaf 1 is connected to GPU server 1. Leaf 1's downlink port 11 is connected to the network interface card (NIC) 11 of GPU server 1, and Leaf 1's downlink port 12 is connected to the NIC 12 of GPU server 1. Leaf 2 is connected to GPU server 2. Leaf 2's downlink port 21 is connected to the NIC 21 of GPU server 2, and Leaf 2's downlink port 22 is connected to the NIC 22 of GPU server 2. Leaf 1 and Leaf 2 establish uplinks with Spine 1 and Spine 2 respectively, meaning there are two uplinks from Leaf 1 to the Spine devices and two uplinks from Leaf 2 to the Spine devices.

[0054] In this embodiment, the controller can obtain a network topology diagram and the network interface card (NIC) addresses of the GPU server NICs connected to each downlink port of the Leaf device. Then, for each Leaf device, using the NIC addresses of the servers connected to other Leaf devices as destination addresses, M destination address micro-segment groups (e.g., destination EPGs) can be created. Furthermore, based on preset rules, the determined destination addresses can be allocated to the M destination address micro-segment groups.

[0055] In this embodiment of the application, a destination address segment group includes multiple destination addresses.

[0056] Taking a 64-card environment as an example, the network consists of 8 Leaf devices and 8 Spine devices. Each Leaf device connects to a GPU server with 8 network cards, which are connected to the downlink port of the Leaf device. For each network card address, the number of destination network cards that need to transmit traffic through the network is 56. Therefore, the 56 destination addresses can be allocated to the 8 destination address micro-segments based on preset rules.

[0057] For example, in a 64-card environment, the network consists of 8 Leaf devices and 8 Spine devices. Each Leaf device connects to a GPU server with 8 network cards, which are connected to the downlink port of the Leaf device. There are 8 source addresses, and each source address corresponds to 56 destination addresses. There are 8 uplinks between the Leaf and Spine devices. In actual applications, for a source address, regardless of which network card the destination address belongs to, it is always necessary to select one of the 8 uplinks between the Leaf and Spine devices for forwarding. In this way, 8 destination address micro-segments are created, and the 56 destination addresses are allocated to the specified destination address micro-segments according to the traffic scheduling policy.

[0058] For example, assume that GPU servers 1 through 8 are connected to Leaf 1 through Leaf 8 respectively, where,

[0059] The network interface card addresses of GPU server 1 are: 1.1.1.1; 1.1.1.2; ...; 1.1.1.8;

[0060] The network interface card addresses of GPU server 2 are: 2.1.1.1; 2.1.1.2; ...; 2.1.1.8;

[0061] The network interface card addresses of GPU server 3 are: 3.1.1.1; 3.1.1.2; ...; 3.1.1.8;

[0062] The network interface card addresses of GPU server 4 are: 4.1.1.1; 4.1.1.2; ...; 4.1.1.8;

[0063] The network interface card addresses of GPU server 5 are: 5.1.1.1; 5.1.1.2; ...; 5.1.1.8;

[0064] The network interface card addresses of GPU server 6 are: 6.1.1.1; 6.1.1.2; ...; 6.1.1.8;

[0065] The network interface card addresses of GPU server 7 are: 7.1.1.1; 7.1.1.2; ...; 7.1.1.8;

[0066] The network interface card addresses of GPU server 8 are: 8.1.1.1; 8.1.1.2; ...; 8.1.1.8;

[0067] Taking the network interface card (NIC) address 11 (1.1.1.1) of GPU server 1 connected to Leaf 1 as the source address, and the NIC addresses of GPU servers connected to Leaf 2 to Leaf 8 as the destination addresses (56 in total) as an example, each Leaf has 8 uplink links to the Spine device, and 8 destination address micro-segment groups are created. The 56 destination addresses are allocated into the 8 micro-segments as shown in Table 1:

[0068]

[0069]

[0070] Table 1

[0071] Step 110: Using the network interface addresses of the second server connected to the Leaf device as source addresses, for each source address, construct M access control lists (ACLs) corresponding to that source address based on the source address and the M destination address micro-segment groups.

[0072] Wherein, M is the number of uplinks between the Leaf device and each Spine device, and each ACL includes a source address entry, a destination address segment group, an outgoing interface, and next-hop information.

[0073] Using the network interface card 11 address (1.1.1.1) of GPU server 1 connected to Leaf 1 as the source address, and based on this source address and the 8 destination address micro-segment groups created, the 8 ACLs corresponding to this source address are constructed as shown in Table 2:

[0074]

[0075]

[0076] Table 2

[0077] Wherein, 0 / 0 / 1 is the uplink interface 1 connecting Leaf 1 to Spine 1, and 10.1.1.1 is the IP address of Spine 1; 0 / 0 / 2 is the uplink interface 2 connecting Leaf 1 to Spine 2, and 10.1.1.2 is the IP address of Spine 2; ...; 0 / 0 / 8 is the uplink interface 8 connecting Leaf 1 to Spine 8, and 10.1.1.8 is the IP address of Spine 8.

[0078] Similarly, using other network interface card addresses of GPU server 1 (e.g., 1.1.1.2 to 1.1.1.8) as source addresses, eight corresponding ACLs can also be constructed respectively. In this embodiment of the application, it will not be described in detail here.

[0079] In contrast to related technologies that configure an ACL for each source address and each destination address separately, in this embodiment, only 64 ACLs need to be built for GPU server 1 on Leaf 1 to achieve traffic forwarding to other GPU server network cards. In contrast, related technologies require 56 ACLs for each source IP address corresponding to 56 destination IP addresses. Therefore, the traffic forwarding method provided in this embodiment significantly reduces the ACL hardware resource consumption of the Leaf device and improves the ACL hardware resource utilization rate of the Leaf device.

[0080] Step 120: Send the M ACLs to the Leaf device.

[0081] In this embodiment of the application, the controller sends the ACL policy to the corresponding Leaf device, so that after receiving the traffic packet sent by the local access server network card, the Leaf device finds the source address of the traffic packet based on the source address and destination address of the traffic packet, the destination address micro-segment group includes the target ACL of the destination address of the traffic packet, and forwards the traffic packet based on the target ACL.

[0082] In this embodiment, after the controller sets the ACLs corresponding to each network card of the GPU server connected to a Leaf device, it sends the ACLs to the Leaf device. This allows the Leaf device to parse the traffic packet after receiving it from a network card, obtain the source IP address and destination IP address of the traffic packet, and then match the source IP address and destination IP address of the traffic packet with the ACL to determine that the source IP address is the source IP address of the traffic packet and the destination EPG includes the destination IP address of the traffic packet in the ACL. The traffic packet is then forwarded based on the outgoing port included in the ACL.

[0083] Furthermore, in the embodiments of this application, the above-mentioned traffic forwarding method may further include the following steps:

[0084] Obtain the traffic volume carried by each ACL; when it is determined that the traffic carried by the first ACL has reached a first preset value, and the traffic carried by the second ACL has not reached a second preset value, dynamically adjust part of the traffic carried by the first ACL to be carried by the second ACL.

[0085] In other words, the controller monitors the traffic volume carried by each ACL. If it determines that the traffic carried by an ACL reaches the first preset value, it means that the available bandwidth of the uplink (egress port) corresponding to that ACL is not sufficient. At this time, it can determine whether there are other ACLs that carry traffic less than the second preset value. If so, it can adjust part of the traffic carried by the ACL that carries traffic reaching the first preset value to the ACL that carries traffic less than the second preset value.

[0086] For example, the maximum bandwidth of the outgoing ports included in each ACL is 10G, the first preset value is 8G, and the second preset value is 6G. If it is detected that the traffic carried by ACL1 is 9G and the traffic carried by ACL2 is 5G, then some of the traffic carried by ACL1 (e.g., 2G) can be transferred to ACL2.

[0087] In this embodiment of the application, when dynamically adjusting a portion of the traffic carried by the first ACL to be carried by the second ACL, a preferred implementation method is as follows:

[0088] At least one destination address included in the first destination address segment group corresponding to the first ACL is dynamically adjusted to the second destination address segment corresponding to the second ACL.

[0089] Specifically, the controller sends an adjustment command to the Leaf device, causing the Leaf device to adjust one or more destination addresses in the destination EPG included in ACL1 to the destination EPG included in ACL2.

[0090] For example, see Figure 3 The diagram shows a detailed flowchart of a traffic forwarding method provided in this application embodiment. This method is applied to a target Leaf device in a Spine-Leaf architecture network. The network controller creates M destination address micro-segment groups using the network interface card (NIC) addresses of servers accessed by Leaf devices other than the target Leaf device as destination addresses. Using the NIC addresses of servers accessed by the target Leaf device as source addresses, for each source address, M Access Control Lists (ACLs) corresponding to that source address are constructed based on the source address and the M destination address micro-segment groups, and then distributed to the target Leaf device. Here, M represents the number of uplinks between the Leaf device and each Spine device. Each ACL includes a source address entry, a destination address micro-segment group, an outgoing interface, and next-hop information. The method includes the following steps:

[0091] Step 300: Receive traffic packets sent by the local access server network card.

[0092] Step 310: Based on the source address and destination address of the traffic packet, find the source address of the traffic packet and the destination address segment group that includes the destination address of the traffic packet.

[0093] Step 320: Forward the traffic packets based on the target ACL.

[0094] Based on the same inventive concept as the above-described method embodiments applied to controllers, see, for example, the following... Figure 4 The diagram shown is a structural schematic of a traffic forwarding device provided in an embodiment of this application. This device is applied to the controller in a Spine-Leaf architecture network and includes:

[0095] Create unit 40, which is used to create M destination address micro-segment groups for each Leaf device, using the network card addresses of the first server accessed by other Leaf devices besides the Leaf device as destination addresses;

[0096] The construction unit 41 is used to construct M access control lists (ACLs) corresponding to each source address, based on the network interface card addresses of the second server connected to the Leaf device and the M destination address micro-segment groups, using each source address as the source address. Here, M is the number of uplinks between the Leaf device and each Spine device. Each ACL includes a source address entry, a destination address micro-segment group, an outgoing interface, and next-hop information.

[0097] The distribution unit 42 is used to distribute the M ACLs to the Leaf device, so that after the Leaf device receives a traffic packet sent by the network card of the locally accessed server, it can find the source address of the traffic packet based on the source address and destination address of the traffic packet, and the destination address micro-segment group includes the target ACL of the destination address of the traffic packet, and forward the traffic packet based on the target ACL.

[0098] Optionally, the device further includes:

[0099] The acquisition unit is used to acquire the traffic volume carried by each ACL;

[0100] The adjustment unit is used to dynamically adjust a portion of the traffic carried by the first ACL to be carried by the second ACL when it is determined that the traffic carried by the first ACL has reached a first preset value and the traffic carried by the second ACL has not reached a second preset value.

[0101] Optionally, a destination address segment group includes multiple destination addresses; when dynamically adjusting a portion of the traffic carried by the first ACL to be carried by the second ACL, the adjustment unit is specifically used for:

[0102] At least one destination address included in the first destination address segment group corresponding to the first ACL is dynamically adjusted to the second destination address segment corresponding to the second ACL.

[0103] Based on the same inventive concept as the above-described method embodiments applied to Leaf devices, see, for example, the following... Figure 5 The diagram shows a traffic forwarding device provided in an embodiment of this application. This device is applied to a target Leaf device in a Spine-Leaf architecture network. The network controller uses the network interface card (NIC) addresses of servers accessed by Leaf devices other than the target Leaf device as destination addresses, creates M destination address micro-segment groups, and uses the NIC addresses of servers accessed by the target Leaf device as source addresses. For each source address, based on the source address and the M destination address micro-segment groups, it constructs M Access Control Lists (ACLs) corresponding to that source address and sends them to the target Leaf device. Here, M is the number of uplinks between the Leaf device and each Spine device. Each ACL includes a source address entry, a destination address micro-segment group, an outgoing interface, and next-hop information. The device includes:

[0104] The receiving unit 50 is used to receive traffic packets sent by the network card of the locally accessed server;

[0105] The lookup unit 51 is used to look up the source address of the traffic packet based on the source address and destination address of the traffic packet, and the destination address micro-segment group includes the destination address of the traffic packet as the target ACL.

[0106] Forwarding unit 52 is used to forward the traffic packets based on the target ACL.

[0107] These units can be one or more integrated circuits configured to implement the above methods, such as one or more Application Specific Integrated Circuits (ASICs), one or more digital signal processors (DSPs), or one or more Field Programmable Gate Arrays (FPGAs). Alternatively, when one of these units is implemented using processing element scheduler code, the processing element can be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor capable of calling program code. Furthermore, these units can be integrated together to form a system-on-a-chip (SOC).

[0108] Furthermore, regarding the traffic forwarding device provided in this application embodiment, from a hardware perspective, the hardware architecture diagram of the traffic forwarding device can be found in [reference needed]. Figure 6 As shown, the traffic forwarding device may include: a memory 60 and a processor 61.

[0109] The memory 60 is used to store program instructions; the processor 61 calls the program instructions stored in the memory 60 and executes the method embodiment applied to the controller according to the obtained program instructions. The specific implementation and technical effects are similar, and will not be described again here.

[0110] Optionally, this application also provides a controller, including at least one processing element (or chip) for performing the above-described method embodiments applied to the controller.

[0111] Optionally, this application also provides a program product, such as a computer-readable storage medium storing computer-executable instructions for causing the computer to perform the above-described method embodiments applied to the controller.

[0112] Furthermore, regarding the traffic forwarding device provided in this application embodiment, from a hardware perspective, the hardware architecture diagram of the traffic forwarding device can be found in [reference needed]. Figure 7 As shown, the traffic forwarding device may include: a memory 70 and a processor 71.

[0113] The memory 70 is used to store program instructions; the processor 71 calls the program instructions stored in the memory 70 and executes the method embodiment applied to the Leaf device as described above according to the obtained program instructions. The specific implementation and technical effects are similar, and will not be described again here.

[0114] Optionally, this application also provides a Leaf device, including at least one processing element (or chip) for performing the above-described method embodiments applied to the Leaf device.

[0115] Optionally, this application also provides a program product, such as a computer-readable storage medium storing computer-executable instructions for causing the computer to perform the above-described method embodiments applied to the Leaf device.

[0116] Here, a machine-readable storage medium can be any electronic, magnetic, optical, or other physical storage device that can contain or store information, such as executable instructions, data, etc. For example, a machine-readable storage medium can be: RAM (Random Access Memory), volatile memory, non-volatile memory, flash memory, storage drives (such as hard disk drives), solid-state drives, any type of storage disk (such as optical discs, DVDs, etc.), or similar storage media, or combinations thereof.

[0117] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, which can take the form of a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email sending and receiving device, game console, tablet computer, wearable device, or any combination of these devices.

[0118] For ease of description, the above devices are described separately by function as various units. Of course, in implementing this application, the functions of each unit can be implemented in one or more software and / or hardware.

[0119] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, embodiments of this application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0120] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0121] Furthermore, these computer program instructions can also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in the process. Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0122] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0123] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.

Claims

1. A traffic forwarding method, characterized in that, The method, applied to controllers in a Spine-Leaf network architecture, includes: For each Leaf device, M destination address micro-segment groups are created, using the network interface card addresses of the first server accessed by other Leaf devices (excluding this Leaf device) as destination addresses, where M is the number of uplinks between this Leaf device and each Spine device. Using the network interface card addresses of the second server connected to the Leaf device as source addresses, for each source address, based on the source address and the M destination address micro-segment groups, construct M access control lists (ACLs) corresponding to the source address. Each ACL includes a source address entry, a destination address micro-segment group, an outgoing interface, and next-hop information. The M ACLs are distributed to the Leaf device so that after receiving a traffic packet sent by the network card of the locally accessed server, the Leaf device can find the target ACL whose source address is the source address of the traffic packet and whose destination address micro-segment group includes the destination address of the traffic packet based on the source address and destination address of the traffic packet, and forward the traffic packet based on the target ACL.

2. The method as described in claim 1, characterized in that, The method further includes: Get the traffic volume carried by each ACL; When it is determined that the traffic carried by the first ACL has reached a first preset value, and the traffic carried by the second ACL has not reached a second preset value, a portion of the traffic carried by the first ACL is dynamically adjusted to be carried by the second ACL, wherein the first preset value is greater than or equal to the second preset value.

3. The method as described in claim 2, characterized in that, A destination address segment group includes multiple destination addresses; The steps for dynamically adjusting a portion of the traffic carried by the first ACL to be carried by the second ACL include: At least one destination address included in the first destination address segment group corresponding to the first ACL is dynamically adjusted to the second destination address segment corresponding to the second ACL.

4. A traffic forwarding method, characterized in that, A method is applied to a target Leaf device in a Spine-Leaf architecture network. The network controller uses the network interface card (NIC) addresses of servers accessed by other Leaf devices (excluding the target Leaf device) as destination addresses, creating M destination address micro-segment groups, where M is the number of uplinks between the Leaf device and each Spine device. Using the NIC addresses of servers accessed by the target Leaf device as source addresses, for each source address, M Access Control Lists (ACLs) corresponding to that source address are constructed based on the source address and the M destination address micro-segment groups, and then distributed to the target Leaf device. Each ACL includes a source address entry, a destination address micro-segment group, an outgoing interface, and next-hop information. The method includes: Receive traffic packets sent by the local access server network card; Based on the source address and destination address of the traffic packet, find the target ACL whose source address is the source address of the traffic packet and whose destination address segment group includes the destination address of the traffic packet; The traffic packets are forwarded based on the target ACL.

5. A traffic forwarding device, characterized in that, The device, used as a controller in a Spine-Leaf network architecture, includes: A creation unit is used to create M destination address micro-segment groups for each Leaf device, using the network interface card addresses of the first server accessed by other Leaf devices (excluding the Leaf device) as destination addresses, where M is the number of uplinks between the Leaf device and each Spine device. The construction unit is used to construct M access control lists (ACLs) corresponding to each source address, based on the source address and the M destination address micro-segment groups, using the network card addresses of the second server connected to the Leaf device as source addresses. Each ACL includes a source address entry, a destination address micro-segment group, an outgoing interface, and next-hop information. The distribution unit is used to distribute the M ACLs to the Leaf device, so that after receiving a traffic packet sent by the network card of the locally accessed server, the Leaf device can find the target ACL whose source address is the source address of the traffic packet and whose destination address micro-segment group includes the destination address of the traffic packet based on the source address and destination address of the traffic packet, and forward the traffic packet based on the target ACL.

6. The apparatus as claimed in claim 5, characterized in that, The device further includes: The acquisition unit is used to acquire the traffic volume carried by each ACL; The adjustment unit is used to dynamically adjust a portion of the traffic carried by the first ACL to be carried by the second ACL when it is determined that the traffic carried by the first ACL has reached a first preset value and the traffic carried by the second ACL has not reached a second preset value.

7. The apparatus as claimed in claim 6, characterized in that, A destination address segment group includes multiple destination addresses; when dynamically adjusting a portion of the traffic carried by the first ACL to be carried by the second ACL, the adjustment unit is specifically used for: At least one destination address included in the first destination address segment group corresponding to the first ACL is dynamically adjusted to the second destination address segment corresponding to the second ACL.

8. A traffic forwarding device, characterized in that, A target Leaf device is applied in a Spine-Leaf architecture network. The network controller creates M destination address micro-segment groups, where M is the number of uplinks between the Leaf device and each Spine device, using the network interface card (NIC) addresses of the servers accessed by the target Leaf device as destination addresses. Using the NIC addresses of the servers accessed by the target Leaf device as source addresses, for each source address, M Access Control Lists (ACLs) corresponding to that source address are constructed based on the source address and the M destination address micro-segment groups, and then distributed to the target Leaf device. Each ACL includes a source address entry, a destination address micro-segment group, an outgoing interface, and next-hop information. The device includes: The receiving unit is used to receive traffic packets sent by the network card of the locally accessed server; The lookup unit is used to find a target ACL whose source address is the source address of the traffic packet and whose destination address segment group includes the destination address of the traffic packet, based on the source address and destination address of the traffic packet. A forwarding unit is used to forward the traffic packets based on the target ACL.

9. A traffic forwarding device, characterized in that, The traffic forwarding device includes: Memory, used to store program instructions; A processor is configured to invoke program instructions stored in the memory and execute the steps of the method as described in any one of claims 1-4 according to the obtained program instructions.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions for causing the computer to perform the steps of the method as described in any one of claims 1-4.

Citation Information

Patent Citations

  • Method for processing uplink message, device and system thereof

    CN101527681A

  • Traffic control method and device

    CN111541616A