Message forwarding method and device, storage medium and computer program product

By adopting the message forwarding method in the AI ​​training environment, using container identification information and target device identification information to select the forwarding path, the link congestion caused by drift forwarding in the standard ECMP solution is solved, and network utilization and performance are improved.

CN119316384AActive Publication Date: 2025-01-14CHINA MOBILE COMM LTD RES INST +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411354603.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-26
Publication Date
2025-01-14
Estimated Expiration
2044-09-26

AI Technical Summary

Technical Problem

When the standard Ethernet stream-based ECMP solution leads to a small number of streams but large single-stream bandwidth in AI training, drift forwarding can easily cause multiple streams to have to the same link, resulting in link congestion and low network utilization. , unable to deal with sudden network traffic.

Method used

Using the message forwarding method, by determining the container identification information and the destination device identification information when the first device receives the message, selecting the target forwarding device, adding information to the message header, and forwarding through multi-path to ensure that the data flow passes through different The forwarding device reaches the destination device, thereby improving network utilization.

Benefits of technology

It realizes improving network utilization in the AI ​​training environment, avoiding link congestion, ensuring data forwarding through multi-path, and improving the overall performance of the network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119316384A_ABST
    Figure CN119316384A_ABST
Patent Text Reader

Abstract

The invention provides a message forwarding method and device, a storage medium and a computer program product, and the method comprises the steps that a first device determines first information based on a received first message, and the first information comprises container identification information of the first message and second device identification information of a target device corresponding to the first message; determining one or more message forwarding devices based on the second device identification information; determining a target forwarding device from one or more message forwarding devices based on first device identification information of the first device and the container identification information; adding the first information and the first equipment identification information to the first message to obtain a second message; and forwarding the second message to the target forwarding device, so that the target forwarding device forwards the second message to the target device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of network technology, and in particular to a message forwarding method, device, storage medium and computer program product. Background Art

[0002] In related technologies, there are two solutions for east-west traffic in the intelligent computing center: one is based on the standard Equal-Cost Multi-Path (ECMP) solution, and the other is a packet-by-packet spraying solution. The standard ECMP solution is used for north-south traffic in the intelligent computing center. For both east-west and north-south traffic in an intelligent computing center, the mainstream solution is the flow-by-flow ECMP solution.

[0003] However, the standard Ethernet flow-based ECMP solution has the characteristics of a small number of flows but large single-flow bandwidth for AI training. Flow-by-flow forwarding can easily cause multiple flows to be hashed to the same link, causing some links to be congested and some to be idle, resulting in low network utilization. Summary of the invention

[0004] In view of this, the present application provides a message forwarding method, device, storage medium and computer program product, which can improve the utilization rate of the network.

[0005] The technical solution of this application is implemented as follows:

[0006] In a first aspect, the present application provides a message forwarding method, applied to a first device, the method comprising:

[0007] Determine first information based on the received first message, wherein the first information includes container identification information of the first message and second device identification information of a destination device corresponding to the first message;

[0008] Determine one or more message forwarding devices based on the second device identification information;

[0009] Determine a target forwarding device from one or more message forwarding devices based on the first device identification information and the container identification information of the first device;

[0010] The first information and the first device identification information are added to the first message to obtain a second message; and the second message is forwarded to a target forwarding device, so that the target forwarding device forwards the second message to a destination device.

[0011] In a second aspect, the present application provides a message forwarding method, applied to a target forwarding device, the method comprising:

[0012] receiving a second message sent by the first device, wherein the second message is obtained when the first device adds the first information and the first device identification information of the first device to the received first message, and the first information includes the container identification information of the first message and the second device identification information of the destination device corresponding to the first message;

[0013] The second message is forwarded to the destination device.

[0014] In a third aspect, the present application provides a first device, wherein the first device includes:

[0015] A determining unit, configured to determine first information based on the received first message, wherein the first information includes container identification information of the first message and second device identification information of a destination device corresponding to the first message;

[0016] The determining unit is further used to determine one or more message forwarding devices based on the second device identification information;

[0017] The determination unit is further used to determine a target forwarding device from one or more message forwarding devices based on the first device identification information and the container identification information of the first device;

[0018] The first forwarding unit is used to add the first information and the first device identification information to the first message to obtain a second message; and forward the second message to a target forwarding device, so that the target forwarding device forwards the second message to a destination device.

[0019] In a fourth aspect, the present application provides a target forwarding device, the target forwarding device comprising:

[0020] a receiving unit, configured to receive a second message sent by a first device, wherein the second message is obtained by the first device adding the first information and the first device identification information of the first device to the received first message, and the first information includes the container identification information of the first message and the second device identification information of the destination device corresponding to the first message;

[0021] The second forwarding unit is used to forward the second message to the destination device.

[0022] In a fifth aspect, the present application provides a first device, which includes: a first processor and a first memory; when the first processor executes a running program stored in the first memory, the above-mentioned message forwarding method on the first device side is implemented.

[0023] In a sixth aspect, the present application provides a target forwarding device, comprising: a second processor and a second memory; when the second processor executes a running program stored in the second memory, the above-mentioned message forwarding method on the target forwarding device side is implemented.

[0024] In a seventh aspect, the present application provides a storage medium having a computer program stored thereon, which, when executed by a processor, implements the message forwarding method on the first device side mentioned above, or, when executed by a processor, implements the message forwarding method on the target forwarding device side mentioned above.

[0025] In an eighth aspect, the present application provides a computer program product, comprising a computer program, wherein the computer program implements the message forwarding method on the first device side when executed by a processor, or the computer program implements the message forwarding method on the target forwarding device side when executed by a processor.

[0026] The present application provides a message forwarding method, device, storage medium and computer program product, the method comprising: a first device determines first information based on a received first message, wherein the first information includes container identification information of the first message and second device identification information of a destination device corresponding to the first message; determines one or more message forwarding devices based on the second device identification information; determines a target forwarding device from one or more message forwarding devices based on the first device identification information and container identification information of the first device; adds the first information and the first device identification information to the first message to obtain a second message; and forwards the second message to a target forwarding device so that the target forwarding device forwards the second message to the destination device; and the target forwarding device receives a second message sent by the first device, wherein the second message is obtained when the first device adds the first information and the first device identification information of the first device to the received first message, and the first information includes the container identification information of the first message and the second device identification information of the destination device corresponding to the first message; and forwards the second message to the destination device. With the above implementation scheme, when the first device receives the first message, the message header information corresponding to the first message is first determined. Since the message header information contains the second device identification information and the container identification information, during the message forwarding process, the destination device to which the message is specifically forwarded can be determined according to the second device identification information, and the message forwarding device corresponding to the message can be selected according to the first device identification information and the container identification information of the first device. Therefore, when the first device identification information and the container information are different, the selected message forwarding device is different, so that multiple messages of a data stream can be forwarded to the same destination device through different forwarding devices, and a data stream can be forwarded through multiple paths, thereby improving the utilization of the network. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] Figure 1 A schematic diagram of a message forwarding method provided in an embodiment of the present application Figure 1 ;

[0028] Figure 2A schematic diagram of an exemplary topological relationship between network devices provided in an embodiment of the present application;

[0029] Figure 3 A schematic diagram of a message forwarding method provided in an embodiment of the present application Figure 2 ;

[0030] Figure 4 A schematic diagram of the composition structure of a first device provided in an embodiment of the present application Figure 1 ;

[0031] Figure 5 A schematic diagram of the composition structure of a first device provided in an embodiment of the present application Figure 2 ;

[0032] Figure 6 A schematic diagram of the structure of a target forwarding device provided in an embodiment of the present application Figure 1 ;

[0033] Figure 7 A schematic diagram of the structure of a target forwarding device provided in an embodiment of the present application Figure 2 . DETAILED DESCRIPTION

[0034] In order to enable a more detailed understanding of the features and technical contents of the embodiments of the present application, the technical solution of the present application is further elaborated in detail below in combination with the drawings and specific embodiments of the specification. The attached drawings are for reference only and are not used to limit the embodiments of the present application.

[0035] Unless otherwise defined, all technical and scientific terms used in the embodiments of the present application have the same meaning as those commonly understood by those skilled in the art to which the present application belongs. The terms used in the embodiments of the present application are only for the purpose of describing the embodiments of the present application and are not intended to limit the present application.

[0036] In the following description, reference is made to "some embodiments", which describe a subset of all possible embodiments, but it is understood that "some embodiments" may be the same subset or different subsets of all possible embodiments, and may be combined with each other without conflict. It should also be noted that the terms "first / second / third" involved in the embodiments of the present application are only used to distinguish similar objects and do not represent a specific ordering of the objects. It is understandable that "first / second / third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.

[0037] The development trend of large model technology generally still follows the scaling law (which can be expressed as Scaling Law in English). Its parameters have entered the trillion or even ten trillion scale. The evolution of 100,000-card-level graphics processing unit (GPU) cluster subnets has become inevitable. Due to limited infrastructure, especially power resources, the scale of a single node may not be able to meet the scale of 100,000 cards. Building a large cluster through long-distance interconnection has become an inevitable trend. At the same time, since it is common for intelligent computing centers to be built in different regions, periods, and stages, multiple computing power resource islands have been formed. It is also a trend to integrate resources through network capabilities.

[0038] In the related technology, there are two solutions for the east-west traffic within the intelligent computing center: one is a standard-based ECMP solution, and the other is a packet-by-packet spraying solution; while a standard-based ECMP solution is adopted for the north-south traffic of the intelligent computing center.

[0039] For the situation where an intelligent computing center has both east-west traffic and north-south traffic, the main solution is the ECMP solution.

[0040] In the related technology, the standard Ethernet flow-based ECMP solution has the following problems: the flow characteristics of artificial intelligence (AI) training are: the number of flows is small but the single flow bandwidth is large. If the flow-by-flow forwarding method is adopted, it is very easy to cause multiple flows to be hashed to the same link, causing some links to be congested and some to be idle, resulting in low network utilization and inability to cope with sudden network traffic.

[0041] To solve the above problems, the embodiments of the present application mainly solve the problem of using packet-by-packet distribution for the east-west traffic within the intelligent computing center, while still using packet-by-packet distribution for the north-south traffic, so as to maximize network utilization.

[0042] The detailed solutions of the routing and forwarding methods for different types of flow traffic in a data center (DC) proposed in the embodiments of the present application in response to the above problems are as follows:

[0043] The present application embodiment provides a message forwarding method, such as Figure 1 As shown, applied to a first device, the method may include:

[0044] S101. Determine first information based on a received first message.

[0045] The first information includes container identification information of the first message and second device identification information of a destination device corresponding to the first message.

[0046] In the embodiment of the present application, the first device is a global scheduling processor (Global Scheduling Processor, GSP) device (or called a GSP node).

[0047] It should be noted that the first device may also be referred to as a source GSP (ie, SGSP) in the following embodiments.

[0048] In the embodiment of the present application, the first message received by the GSP device may be an Internet Protocol (IP) message sent by the GPU device.

[0049] In an embodiment of the present application, the destination device may be a GSP device or a data center gateway (DC GW) device.

[0050] It should be noted that the specific type of the destination device can be determined according to the direction of the data flow. If it is east-west traffic, the destination device is a GSP device, and if it is north-south traffic, the destination device is a DC GW device.

[0051] In the embodiment of the present application, the first information is determined based on the received first message, which can be specifically implemented in the following manner:

[0052] Based on the destination address carried by the first message, determine the traffic direction of the first message; when the traffic direction is the first traffic direction, obtain the device identification information of the destination device found according to the destination address, and determine the device identification information of the destination device as the second device identification information; when the traffic direction is the second traffic direction, obtain the device identification information of the data center gateway device, and determine the device identification information of the data center gateway device as the second device identification information.

[0053] In the embodiment of the present application, the destination address is the destination IP address (ie, DIP) carried by the first message.

[0054] In an embodiment of the present application, the flow direction includes a first flow direction and a second flow direction, wherein the first flow direction is east-west flow, and the second flow direction is north-south flow.

[0055] In the embodiment of the present application, based on the destination address carried by the first message, the flow direction of the first message is determined, which can be implemented in the following manner:

[0056] Based on the destination address, search for a destination device corresponding to the destination address in a preset routing table; when the destination device is found, determine the traffic direction of the first message to be the first traffic direction; or, when the destination device is not found, determine the traffic direction of the first message to be the second traffic direction.

[0057] In the embodiment of the present application, if the GSP1 device receives an IP message sent by the GPU-A device, it searches the routing table according to the DIP carried by the IP message. If it is an IP message corresponding to east-west traffic, the destination GSP device (i.e., DGSP) corresponding to the IP address can be found. For example, if GPU-A wants to access GPU-B, the GSP device under GPU-B, i.e., DGSP device, can be found according to the routing table. If it is an IP message corresponding to north-south traffic, the DGSP device corresponding to the IP address cannot be found. Therefore, it is possible to choose to search for the corresponding destination device according to the destination address carried by the IP message to determine the traffic direction of the IP message.

[0058] In the embodiment of the present application, if a DGSP device is found in the routing table according to the DIP carried in the IP message, it can be determined that the traffic direction corresponding to the IP message is east-west traffic.

[0059] In the embodiment of the present application, if the DGSP device is not found in the routing table according to the DIP carried by the IP message, it can be determined that the traffic direction corresponding to the IP message is north-south traffic.

[0060] In an embodiment of the present application, if the traffic direction of the IP message is determined to be east-west traffic, the device identification information (ie, DGSP-ID) of the found DGSP device is obtained, and the DGSP-ID information is determined as the second device identification information corresponding to the destination device.

[0061] In an embodiment of the present application, if it is determined that the traffic direction of the IP message is north-south traffic, because the DGSP device cannot be found, it is necessary to directly take the default route to the DC GW gateway device, then the device identification information of the DC GW gateway device is obtained, and the device identification information of the DC GW gateway device is used as the second device identification information.

[0062] It should be noted that the DC GW gateway device at this time can be equivalent to the DGSP device.

[0063] In an embodiment of the present application, after the GSP device receives the IP message, it can obtain the second device identification information of the DGSP device, and can also obtain the port information and priority information of the DGSP device; similarly, when the second device identification information of the DC GW gateway device is obtained, the port information and priority information of the DC GW gateway device can also be obtained.

[0064] In the embodiment of the present application, the ID in the second device identification information (ie, DGSP-ID) of the DC GW gateway device is all Fs, and the port information is all 0s.

[0065] In an embodiment of the present application, the GSP device allocates a container ID (i.e., container identification information) to the received first message, which can be specifically divided into two situations: one situation is for east-west traffic, specifically, the granularity of the container constructed by the GSP device (such as the source GSP device) can be based on the device level, port level or dynamic global queue level, and the container is constructed according to the granularity (i.e., device level, port level or dynamic global queue level) and the allocation principle (such as the length of a container is 32kb, if the container reaches 32kb, it means that the container has reached the upper limit, then the next container can be allocated to the IP message) to allocate a container ID (Container-ID) to the IP message; wherein, the dynamic global scheduling queue (Dynamic Global Scheduling Queue, DGSQ) includes the DGSP-ID information, port information and priority information of the DGSP device determined according to the first message, or the DGSQ includes the DGSP-ID information, port information and priority information of the DC GW gateway device determined according to the first message.

[0066] Another situation is for north-south traffic. Specifically, the granularity of the container constructed by the GSP device (such as the source GSP device) is the device level, and the container ID is allocated to the IP packet according to the container construction granularity (ie, the device level) and the allocation principle.

[0067] S102: Determine one or more message forwarding devices based on the second device identification information.

[0068] In the embodiment of the present application, based on the second device identification information, determining one or more message forwarding devices can be implemented in the following manner:

[0069] One or more message forwarding devices are determined based on the second device identification information and the acquired topological connection relationship between the devices.

[0070] In an embodiment of the present application, the topological connection relationship between devices can be sent to the first device through a global scheduled operating system (GSOS). Before GSOS sends the topological connection relationship between devices, GSOS needs to first determine the topological connection relationship between devices.

[0071] In the embodiment of the present application, GSOS can determine the topological connection relationship between devices in the following ways:

[0072] by Figure 2 Take this as an example to illustrate. Figure 2After the network devices (including GSP devices, GSF devices, DC GW gateway devices, etc.) are connected, the Link Layer Discovery Protocol (LLDP) is used to discover the adjacent network devices of each network device, and the neighbor information of all adjacent network devices (including each connected device, physical connection relationship, etc., such as which interface of GSP1 is connected to GSF1, and which interface of GSP1 is connected to GSF2) is sent to GSOS. GSOS obtains the device information, interconnection interface and other information of all connected network devices.

[0073] Furthermore, GSOS aggregates all global GSP devices (also known as GSP nodes) and port information (such as port information between GSP devices and GSF devices, GPU-A devices), and assigns corresponding device ID information to all devices, among which, a special GSP-ID value is assigned to the DC GW gateway device (also understood as two GW virtual devices), such as all F, i.e. GSP-F, and the device ID information of all devices is synchronized to all GSP devices, GSF devices, DC GW gateway devices, etc.

[0074] In this way, the GSOS device sends the topological connection relationship to the destination GSP (ie, DGSP) to all devices based on the above-obtained information, which can be sent in the form of a next-hop link family. For example, the next-hop link family in Table 1 below can be sent to GSP1, and Table 1 is as follows:

[0075] Table 1

[0076]

[0077] It can be seen from Table 1 that if the DGSP is GSP4, that is, when the GSP1 device sends an IP message to the GSP4, the next hop device of the GSP1 device can be GSF1 or GSF2; if the DGSP is GSPF, that is, when the GSP1 device sends an IP message to the GSPF device, the next hop device of the GSP1 device can be GSF1 or GSF2.

[0078] In an embodiment of the present application, since GSOS sends the topological relationship between devices to GSP, the GSP device can search for the corresponding next-hop device (i.e., the message forwarding device) in the topological relationship between devices according to GSP4 based on the second device identification information of the destination device to which the IP message is forwarded (such as the second device identification information of the forwarded destination device is GSP4).

[0079] It should be noted that, according to the actual topological relationship between devices, the number of message forwarding devices can be one or more.

[0080] S103: Determine a target forwarding device from one or more message forwarding devices based on the first device identification information and the container identification information of the first device.

[0081] In the embodiment of the present application, after the corresponding container ID is assigned to the first message, since the first device itself stores the first device identification information, the first device can select the target forwarding device according to its own identification information (ie, SGSP-ID) and Container-ID.

[0082] In an embodiment of the present application, when selecting a target forwarding device, when the SGSP-ID is determined, load balancing is performed based on the message container, and an output interface (for example, the output interface of GSP1 connected to GSF1) is selected according to the load balancing mechanism of the message container (such as round-robin, random, or based on congestion awareness). After the output interface is determined, the target forwarding device corresponding to the first device is determined.

[0083] It should be noted that when the SGSP-ID and Container-ID are the same, the selected outbound interface is the same. For example, a data flow contains IP packet 1 and IP packet 2, and the SGSP-ID and Container-ID of IP packet 1 and IP packet 2 are the same. If IP packet 1 selects GSF1, then IP packet 2 also corresponds to GSF1.

[0084] If a data flow contains IP packet 1 and IP packet 2, and the SGSP-ID and Container-ID of IP packet 1 and IP packet 2 are different, if the IP packet selects GSF1, then IP packet 2 can select GSF2.

[0085] S104: Add the first information and the first device identification information to the first message to obtain a second message; and forward the second message to a target forwarding device, so that the target forwarding device forwards the second message to a destination device.

[0086] In an embodiment of the present application, after the first device determines the target forwarding device, a fully scheduled Ethernet (GSE for short) header information is encapsulated between the MAC and the IP, wherein the GSE header information includes the second device identification information (ie, DGSP-ID), the container identification information (ie, Container-ID), and the first device identification information (ie, SGSP-ID).

[0087] It should be noted that, in addition to DGSP-ID, Container-ID, and SGSP-ID, the GSE header information may also include Dport (i.e., destination port), Pri (i.e., priority), container start and end identifiers, data message information, and other information.

[0088] It should be noted that for north-south traffic, the corresponding DGSP-ID is a special value, such as all Fs, that is, DGSP-F, and Dport is all 0s.

[0089] In an embodiment of the present application, the GSE header information is encapsulated in the first message to obtain the second message, and the second message is sent to the selected target forwarding device. Further, the target forwarding device forwards the second message to the destination device for further processing by the destination device.

[0090] It can be understood that in a message forwarding method provided in an embodiment of the present application, when a first device receives a first message, the message header information corresponding to the first message is first determined. Because the message header information contains second device identification information and container identification information, in the process of message forwarding, the destination device to which the message is specifically forwarded can be determined according to the second device identification information, and according to the first device identification information and container identification information of the first device, the message forwarding device corresponding to the message can be selected. Therefore, when the first device identification information and the container information are different, the selected message forwarding device is different, so that multiple messages of a data stream can be forwarded to the same destination device through different forwarding devices, and a data stream can be forwarded through multiple paths, thereby improving the utilization of the network.

[0091] The present application also provides a message forwarding method, such as Figure 3 As shown, applied to a target forwarding device, the method may include:

[0092] S301. Receive a second message sent by a first device.

[0093] The second message is obtained by the first device adding the first information and the first device identification information of the first device to the received first message, and the first information includes the container identification information of the first message and the second device identification information of the destination device corresponding to the first message.

[0094] In an embodiment of the present application, the target forwarding device may be a GSF device.

[0095] In the embodiment of the present application, the first device is a GSP device, such as a source GSP (ie, SGSP) device.

[0096] In the embodiment of the present application, the first message is an IP message, and the second message is a message obtained by adding GSE header information on the basis of the IP message, and the GSE header information includes Container-ID, DGSP-ID, SGSP-ID, etc.

[0097] S302: Forward the second message to the destination device.

[0098] In the embodiment of the present application, the GSF device forwards the received second message to the corresponding destination device in the following manner:

[0099] Based on the second device identification information, determine the flow direction of the second message; when the flow direction is the second flow direction, forward the second message to the destination device based on the five-tuple information carried by the second message; or, based on the first device identification and container identification information, determine the next-hop device of the message forwarding device, and send the second message to the next-hop device until the next-hop device forwards the second message to the destination device based on the five-tuple information carried by the second message; or, when the flow direction is the first flow direction, send the second message to the destination device; or, based on the first device identification and container identification information, determine the next-hop device of the message forwarding device, and send the second message to the next-hop device until the next-hop device forwards the second message to the destination device.

[0100] In the embodiment of the present application, when the second message arrives at the GSF device, the GSF device processes the second message as follows:

[0101] The GSF device checks the GSE header information of the second message, and determines the corresponding traffic direction of the second message according to the DGSP-ID in the GSE header information.

[0102] If it is determined that DGSP-ID is all Fs, it is determined that the traffic direction of the second message is north-south traffic, and GSF selects the route according to the quintuple information of the second message. To ensure that the same quintuple information can be forwarded to the same DC GW gateway device, GSF needs to be consistent with the quintuple hash (i.e. hash) algorithm and routing principle. For example, all the second messages corresponding to hash1 are forwarded to DC GW1, and the outbound interface selects the outbound interface of GSF1 corresponding to DC GW1; the same is true for GSF2. If forwarded through GSF2, the outbound interface of the second message corresponding to hash1 is the outbound interface from GSF2 to DC GW1.

[0103] The above process is only Figure 2 For example, in an actual environment, there may be multiple layers of GSF devices, such as Figure 2 On the basis of GSF1 and GSF2 devices, multiple layers of GSF devices are added. In this case, it is necessary to further select the next-hop device of the current GSF device according to Container-ID and SGSP-ID, and then forward the second message to the next-hop device, and so on, until the final next-hop device is selected. The final next-hop device finally forwards the second message to the corresponding DC GW gateway device through the five-tuple information.

[0104] If it is determined that the DGSP-ID is not full F, the traffic direction of the second message is determined to be east-west traffic, and the second message is directly forwarded to the destination device (such as GSP4).

[0105] The above process of directly forwarding the second message to the destination device is only Figure 2 For example, in an actual environment, there may be multiple layers of GSF devices, such as Figure 2 In this case, multiple layers of GSF devices are added on the basis of GSF1 and GSF2 devices. In this case, it is necessary to further select the route according to the GSE header information, and the route selection principle is round-robin, random, or based on congestion perception. That is, the next hop device of the current GSF is selected through the GSE header information, and the second message is sent to the next hop device, and so on, until the final next hop device is selected, and the second message is forwarded to the destination device (such as GSP4) through the final next hop device.

[0106] It can be understood that in a message forwarding method provided in an embodiment of the present application, when a target forwarding device receives a second message, because the message header information of the second message contains the second device identification information and the container identification information, in the process of message forwarding, the destination device to which the message is specifically forwarded can be determined according to the second device identification information, and the next-hop message forwarding device corresponding to the message can be selected according to the first device identification information and the container identification information. Therefore, when the first device identification information and the container information are different, the selected message forwarding device is different, so that multiple messages of a data stream can be forwarded to the same destination device through different message forwarding devices, and a data stream can be forwarded through multiple paths, thereby improving the utilization of the network.

[0107] In an embodiment of the present application, the destination GSP (ie, DGSP) device may further perform the following processing when receiving the second message:

[0108] The DGSP device (such as GSP4 or DC GW1) receives the second message sent by the GSF device, finds that the DMAC is the local address, and identifies whether it is a message carrying the GSE header information based on the value set for Ether Type. If so, it sorts it based on the container identification information carried by the GSE header information, then strips off the GSE header information and forwards it accordingly.

[0109] It should be noted that since messages may be out of order during transmission, they need to be sorted.

[0110] Based on the above embodiments, the embodiments of the present application may mainly include the following points:

[0111] (1) The SGSP device distinguishes east-west traffic or north-south traffic based on whether the DIP can find the corresponding DGSP information.

[0112] (2) SGSP supports different container construction granularities according to different traffic direction types. For north-south traffic, it supports the allocation of container IDs based on the device level. For east-west traffic, it supports the allocation of container IDs based on different granularities such as the device level, port level, and DGSQ level.

[0113] (3) GSF devices support the selection of different hash algorithms based on different traffic types. For east-west traffic, they support hashing based on the GSE header; for north-south traffic, they support hashing based on the five-tuple. That is, they need to support different hash algorithms based on different ports.

[0114] (4) The interfaces of different GSF devices connected to DC GW need to support the same hash principle, such as selecting the same outbound interface for the same key value, to ensure that the same five-tuple message reaches the same DC GW device.

[0115] (5) The destination GSP device includes a DC GW gateway device, which supports inter-container sorting based on GSE header information and supports stripping of GSE header information.

[0116] The above technical solution has the following technical advantages:

[0117] The embodiment of the present application is based on the business traffic characteristics of the AI ​​large model, the characteristics of a small number of flows and a large single-flow bandwidth, and based on the new demand for cluster cross-DC mutual access, a routing and forwarding mechanism for different flow types is proposed, that is, for east-west traffic, the entire DC network uses GSE header information for routing and forwarding, ensuring that the load balancing mechanism of each packet container is effective, realizing single-flow multi-path, and improving network utilization; and for north-south traffic, it is still forwarded based on the GSE header, but for the GSF device directly connected to the DC GW, it is necessary to select the path based on the five-tuple, and ensure that different GSF devices deliver the same five-tuple message to the same DC GW, that is, it can ensure that the north-south traffic is distributed message by message, realize full-path spraying, and ensure that the same business flow reaches the same DC GW, without affecting the traffic intercommunication across DCs. In the related technology, each flow is forwarded for both north-south and east-west traffic in the DC, which cannot achieve single-flow multi-path, low network utilization, and effective bandwidth is less than physical bandwidth, affecting AI computing power.

[0118] Based on the above embodiment, in another embodiment of the present application, a first device 1 is provided, such as Figure 4 As shown, the first device 1 includes:

[0119] The determination unit 10 is configured to determine first information based on a received first message, wherein the first information includes container identification information of the first message and second device identification information of a destination device corresponding to the first message.

[0120] The determination unit 10 is further configured to determine one or more message forwarding devices based on the second device identification information.

[0121] The determination unit 10 is further configured to determine a target forwarding device from one or more message forwarding devices based on the first device identification information and the container identification information of the first device.

[0122] The first forwarding unit 11 is used to add the first information and the first device identification information to the first message to obtain a second message; and forward the second message to a target forwarding device, so that the target forwarding device forwards the second message to a destination device.

[0123] In one embodiment, the determination unit 10 is further configured to determine one or more message forwarding devices based on the second device identification information and the acquired topological connection relationship between the devices.

[0124] In one embodiment, the determination unit 10 is further configured to determine a flow direction of the first message based on a destination address carried by the first message.

[0125] The determination unit 10 is further configured to, when the traffic direction is the first traffic direction, obtain device identification information of the destination device found according to the destination address, and determine the device identification information of the destination device as the second device identification information.

[0126] The determination unit 10 is further configured to, when the traffic direction is the second traffic direction, obtain device identification information of the data center gateway device, and determine the device identification information of the data center gateway device as the second device identification information.

[0127] In one embodiment, the first device 1 may further include: a searching unit.

[0128] The search unit is used to search for a destination device corresponding to the destination address in a preset routing table based on the destination address.

[0129] The determination unit 10 is further configured to determine the flow direction of the first message as the first flow direction when the destination device is found; or to determine the flow direction of the first message as the second flow direction when the destination device is not found.

[0130] The embodiment of the present application provides a first device, which determines first information based on a received first message, wherein the first information includes container identification information of the first message and second device identification information of a destination device corresponding to the first message; determines one or more message forwarding devices based on the second device identification information; determines a target forwarding device from one or more message forwarding devices based on the first device identification information and the container identification information of the first device; adds the first information and the first device identification information to the first message to obtain a second message; and forwards the second message to the target forwarding device so that the target forwarding device forwards the second message to the destination device. It can be seen that the first device proposed in the embodiment of the present application, in the first When the device receives the first message, it first determines the message header information corresponding to the first message. Because the message header information contains the second device identification information and the container identification information, in the process of forwarding the message, the specific destination device for forwarding the message can be determined according to the second device identification information, and according to the first device identification information and the container identification information of the first device, the message forwarding device corresponding to the message can be selected. Therefore, when the first device identification information and the container information are different, the selected message forwarding device is different, so that multiple messages of a data stream can be forwarded to the same destination device through different forwarding devices, and a data stream can be forwarded through multiple paths, thereby improving the utilization of the network.

[0131] Figure 5 This is a schematic diagram of the composition structure of a first device 1 provided in an embodiment of the present application. In practical applications, based on the same disclosed concept of the above embodiments, Figure 5 As shown, the first device 1 of the embodiment of the present application includes a first processor 12 , a first memory 13 and a first communication bus 14 .

[0132] In the specific implementation process, the above-mentioned determination unit 10, the first forwarding unit 11, and the search unit can be implemented by the first processor 12 located on the first device 1, and the above-mentioned first processor 12 can be at least one of an application-specific integrated circuit (ASIC), a digital signal processor (DSP), a digital signal processing image processing device (DSPD), a programmable logic image processing device (PLD), a field programmable gate array (FPGA), a CPU, a controller, a microcontroller, and a microprocessor. It can be understood that for different devices, the electronic device used to implement the above-mentioned processor function can also be other, and the embodiments of the present application are not specifically limited.

[0133] In the embodiment of the present application, the first communication bus 14 is used to realize the connection communication between the first processor 12 and the first memory 13; when the first processor 12 executes the running program stored in the first memory 13, the following message forwarding method is implemented:

[0134] Based on a received first message, first information is determined, wherein the first information includes container identification information of the first message and second device identification information of a destination device corresponding to the first message; based on the second device identification information, one or more message forwarding devices are determined; based on the first device identification information and the container identification information of the first device, a target forwarding device is determined from one or more message forwarding devices; the first information and the first device identification information are added to the first message to obtain a second message; and the second message is forwarded to the target forwarding device, so that the target forwarding device forwards the second message to the destination device.

[0135] In one embodiment, the first processor 12 is further configured to determine one or more message forwarding devices based on the second device identification information and the acquired topological connection relationship between the devices.

[0136] In one embodiment, the above-mentioned first processor 12 is also used to determine the flow direction of the first message based on the destination address carried by the first message; when the flow direction is the first flow direction, obtain the device identification information of the destination device found according to the destination address, and determine the device identification information of the destination device as the second device identification information; when the flow direction is the second flow direction, obtain the device identification information of the data center gateway device, and determine the device identification information of the data center gateway device as the second device identification information.

[0137] In one embodiment, the first processor 12 is further used to search for a destination device corresponding to the destination address in a preset routing table based on the destination address; when the destination device is found, the flow direction of the first message is determined to be the first flow direction; or, when the destination device is not found, the flow direction of the first message is determined to be the second flow direction.

[0138] Based on the above embodiment, in another embodiment of the present application, a target forwarding device 2 is provided, such as Figure 6 As shown, the target forwarding device 2 includes:

[0139] The receiving unit 20 is used to receive a second message sent by the first device, wherein the second message is obtained by the first device adding the first information and the first device identification information of the first device to the received first message, and the first information includes the container identification information of the first message and the second device identification information of the destination device corresponding to the first message.

[0140] The second forwarding unit 21 is configured to forward the second message to a destination device.

[0141] In one embodiment, the target forwarding device 2 may further include: a determination unit.

[0142] The determination unit is used to determine the flow direction of the second message based on the second device identification information.

[0143] The second forwarding unit 21 is also used to forward the second message to the destination device based on the five-tuple information carried by the second message when the traffic direction is the second traffic direction; or, based on the first device identifier and the container identifier information, determine the next-hop device of the message forwarding device, and send the second message to the next-hop device until the next-hop device forwards the second message to the destination device based on the five-tuple information carried by the second message.

[0144] The second forwarding unit 21 is also used to send the second message to the destination device when the traffic direction is the first traffic direction; or, based on the first device identifier and the container identifier information, determine the next hop device of the message forwarding device, and send the second message to the next hop device until the next hop device forwards the second message to the destination device.

[0145] An embodiment of the present application provides a target forwarding device, which receives a second message sent by a first device, wherein the second message is obtained by the first device adding the first information and the first device identification information of the first device to the received first message, and the first information includes the container identification information of the first message and the second device identification information of the destination device corresponding to the first message; and forwards the second message to the destination device. It can be seen that an embodiment of the present application provides a target forwarding device. When the target forwarding device receives the second message, because the message header information of the second message includes the second device identification information and the container identification information, in the process of forwarding the message, the destination device to which the message is specifically forwarded can be determined according to the second device identification information, and the next hop message forwarding device corresponding to the message can be selected according to the first device identification information and the container identification information. Therefore, when the first device identification information and the container information are different, the selected message forwarding device is different, so that multiple messages of a data stream can be forwarded to the same destination device through different message forwarding devices, and a data stream can be forwarded through multiple paths, thereby improving the utilization of the network.

[0146] Figure 7 This is a schematic diagram of the composition structure of a target forwarding device 2 provided in an embodiment of the present application. In practical applications, based on the same public concept of the above embodiments, Figure 7 As shown, the target forwarding device 2 of the embodiment of the present application includes a second processor 22 , a second memory 23 and a second communication bus 24 .

[0147] In the specific implementation process, the receiving unit 20, the second forwarding unit 21, and the determination unit can be implemented by the second processor 22 located on the target forwarding device 2, and the second processor 22 can be at least one of ASIC, DSP, DSPD, PLD, FPGA, CPU, controller, microcontroller, and microprocessor. It can be understood that for different devices, the electronic device used to implement the above processor function can also be other, and the embodiment of the present application does not make specific limitations.

[0148] In the embodiment of the present application, the second communication bus 24 is used to realize the connection communication between the second processor 22 and the second memory 23; when the second processor 22 executes the running program stored in the second memory 23, the following message forwarding method is implemented:

[0149] Receive a second message sent by a first device, wherein the second message is obtained by the first device adding first information and first device identification information of the first device to the received first message, and the first information includes container identification information of the first message and second device identification information of a destination device corresponding to the first message; and forward the second message to the destination device.

[0150] In one embodiment, the second processor 22 is further used to determine the flow direction of the second message based on the second device identification information; when the flow direction is the second flow direction, forward the second message to the destination device based on the five-tuple information carried by the second message; or, based on the first device identification and container identification information, determine the next-hop device of the message forwarding device, and send the second message to the next-hop device until the next-hop device forwards the second message to the destination device based on the five-tuple information carried by the second message; when the flow direction is the first flow direction, send the second message to the destination device; or, based on the first device identification and container identification information, determine the next-hop device of the message forwarding device, and send the second message to the next-hop device until the next-hop device forwards the second message to the destination device.

[0151] Based on the above embodiments, an embodiment of the present application provides a storage medium on which a computer program is stored. The above computer-readable storage medium stores one or more programs. The above one or more programs can be executed by one or more processors and applied to a first device or a target forwarding device. The computer program implements the message forwarding method as described above.

[0152] Based on the above embodiments, an embodiment of the present application provides a computer program product, including a computer program, which can be executed by one or more processors and applied to a first device or a target forwarding device. The computer program implements the message forwarding method as described above.

[0153] It should be noted that in the embodiments of the present application, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "includes a ..." does not exclude the presence of other identical elements in the process, method, article or device including the element.

[0154] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment method can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the relevant technology can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a disk, or an optical disk), including a number of instructions for enabling an image display device (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in each embodiment of the embodiment of the present application.

[0155] The above is only a specific implementation of the embodiment of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A message forwarding method, characterized in that: Applied to a first device, the method includes: Determine first information based on the received first message, wherein the first information includes container identification information of the first message and second device identification information of a destination device corresponding to the first message; Determine one or more message forwarding devices based on the second device identification information; Determine a target forwarding device from the one or more message forwarding devices based on the first device identification information of the first device and the container identification information; The first information and the first device identification information are added to the first message to obtain a second message; and the second message is forwarded to the target forwarding device, so that the target forwarding device forwards the second message to the destination device.

2. The method according to claim 1, characterized in that The determining one or more message forwarding devices based on the second device identification information includes: The one or more message forwarding devices are determined based on the second device identification information and the acquired topological connection relationship between the devices.

3. The method according to claim 1, characterized in that The determining the first information based on the received first message includes: Determining a traffic direction of the first message based on a destination address carried by the first message; When the traffic direction is the first traffic direction, acquiring device identification information of a destination device found according to the destination address, and determining the device identification information of the destination device as the second device identification information; When the traffic direction is the second traffic direction, device identification information of a data center gateway device is acquired, and the device identification information of the data center gateway device is determined as the second device identification information.

4. The method according to claim 3, characterized in that The determining, based on the destination address carried by the first message, a traffic direction of the first message includes: Based on the destination address, searching a preset routing table for a destination device corresponding to the destination address; In the case where the destination device is found, determining that the flow direction of the first message is a first flow direction; Alternatively, when the destination device is not found, the flow direction of the first message is determined to be the second flow direction.

5. A message forwarding method, characterized in that: Applied to a target forwarding device, the method comprises: receiving a second message sent by a first device, wherein the second message is obtained by the first device adding first information and first device identification information of the first device to the received first message, and the first information includes container identification information of the first message and second device identification information of a destination device corresponding to the first message; Forward the second message to the destination device.

6. The method according to claim 5, characterized in that The forwarding the second message to the destination device includes: Determine a flow direction of the second message based on the second device identification information; When the traffic direction is the second traffic direction, forward the second message to the destination device based on the five-tuple information carried by the second message; or, determine the next hop device of the message forwarding device based on the first device identifier and the container identifier information, and send the second message to the next hop device until the next hop device forwards the second message to the destination device based on the five-tuple information carried by the second message; When the traffic direction is the first traffic direction, the second message is sent to the destination device; or, based on the first device identifier and the container identifier information, the next hop device of the message forwarding device is determined, and the second message is sent to the next hop device until the next hop device forwards the second message to the destination device.

7. A first device, characterized in that: The device comprises: a determining unit, configured to determine first information based on a received first message, wherein the first information includes container identification information of the first message and second device identification information of a destination device corresponding to the first message; The determining unit is further used to determine one or more message forwarding devices based on the second device identification information; The determining unit is further configured to determine a target forwarding device from the one or more message forwarding devices based on the first device identification information of the first device and the container identification information; The first forwarding unit is used to add the first information and the first device identification information to the first message to obtain a second message; and forward the second message to the target forwarding device, so that the target forwarding device forwards the second message to the destination device.

8. A target forwarding device, characterized in that: The device comprises: a receiving unit, configured to receive a second message sent by a first device, wherein the second message is obtained when the first device adds first information and first device identification information of the first device to the received first message, and the first information includes container identification information of the first message and second device identification information of a destination device corresponding to the first message; The second forwarding unit is used to forward the second message to the destination device.

9. A first device, characterized in that: The first device includes: a first processor and a first memory; when the first processor executes the running program stored in the first memory, the method according to any one of claims 1 to 4 is implemented.

10. A target forwarding device, characterized in that: The device comprises: a second processor and a second memory; when the second processor executes the running program stored in the second memory, the method according to any one of claims 5 to 6 is implemented.

11. A storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 4 is implemented; or, when the computer program is executed by a processor, the method according to any one of claims 5 to 6 is implemented.

12. A computer program product, comprising a computer program, characterized in that The computer program implements the method according to any one of claims 1 to 4 when executed by a processor, or implements the method according to any one of claims 5 to 6 when executed by a processor.

Citation Information

Patent Citations

  • Message processing method and apparatus

    CN109327395A

  • Method, device and system for forwarding message

    CN114157600A

  • Method for sending and processing message, ingress node and network system

    CN114726660A

  • Packet transmission method, network device, and readable storage medium

    WO2024051367A1