Routing advertisement method, packet forwarding method, storage medium, and electronic apparatus

WO2025185145A8PCT designated stage Publication Date: 2025-10-02ZTE CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/122483
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-06
Filing Date
2024-09-29
Publication Date
2025-10-02

AI Technical Summary

Technical Problem

The dragonfly+ network has high deployment costs and lacks an automatic forwarding mechanism. Leaf nodes need to maintain a large number of detailed routing tables, which places a heavy burden on the equipment.

Method used

A routing announcement method is provided, which receives routing information from the first group through the second spine node device and announces routing to the leaf node devices in the second group. By combining cross-group routing announcements and intra-group routing announcements, the number of transit hops is limited to one hop, thereby reducing the routing volume.

Benefits of technology

It reduces the deployment cost of the DragonFly+ network, implements an automatic forwarding mechanism, and reduces the equipment burden of leaf nodes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024122483_02102025_PF_FP_ABST
    Figure CN2024122483_02102025_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present invention provide a routing advertisement method, a packet forwarding method, a storage medium, and an electronic apparatus. The routing advertisement method comprises: a second spine node device receives routing information from a first spine node device in a first group; and the second spine node device performs routing advertisement on a second leaf node device in a second group on the basis of the routing information. The problems in the related art that a dragonfly+ network has high deployment costs and does not have an automatic forwarding mechanism are solved, thereby achieving the effects of reducing the deployment costs of the dragonfly+ network and implementing the automatic forwarding mechanism.
Need to check novelty before this filing date? Find Prior Art

Description

Routing notification and message forwarding method, storage medium and electronic device

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This disclosure is based on Chinese patent application CN202410256447.9, filed on March 6, 2024, entitled “Routing Advertisement and Message Forwarding Method, Storage Medium and Electronic Device”, and claims the priority of the patent application, and all the contents disclosed therein are incorporated into this disclosure by reference. Technical Field

[0003] The embodiments of the present disclosure relate to the field of communications, and in particular to a routing announcement and message forwarding method, a storage medium, and an electronic device. Background Art

[0004] Forwarding in a Dragonfly+ network typically uses adaptive routing, which dynamically selects one or more forwarding paths based on specific rules. This results in load balancing traffic across multiple shortest and non-shortest paths, rather than the shortest path-first approach often used in existing routing protocols.

[0005] Among existing solutions, a common approach is to have leaf nodes directly learn all routes and then make forwarding decisions. The disadvantage of this approach is that, when the network scale is large, leaf nodes need to maintain a very large number of forwarding entries. To ensure that forwarding performance is not affected, leaf nodes also need to use high-performance equipment, which increases the networking cost. In addition, the current BGP+VRF configuration solution requires complex routing rule configuration, which has poor usability in large-scale networks.

[0006] In related technologies, the Dragonfly / Dragonfly+ network does not have an automatic forwarding mechanism based on distributed routing. Moreover, when the network scale is large, a large number of detailed routing tables need to be maintained on the leaf nodes, which puts a heavy burden on the equipment and is not conducive to reducing deployment costs.

[0007] Summary of the Invention

[0008] The embodiments of the present disclosure provide a routing announcement and message forwarding method, a storage medium, and an electronic device to at least solve the problem in the related art that the DragonFly+ network has high deployment costs and lacks an automatic forwarding mechanism.

[0009] According to one embodiment of the present disclosure, a routing announcement method is provided for a dragonfly plus network, comprising: a second spine node device receives routing information from a first spine node device in a first group; and the second spine node device performs routing announcement to a second leaf node device in a second group based on the routing information.

[0010] According to another embodiment of the present disclosure, a message forwarding method is provided, including: a leaf node device receives a data message and determines whether it is a cross-group data message based on the destination prefix address in the data message; when the data message needs to cross the group, the leaf node device forwards the data message to the destination spine node device according to the locally stored forwarding path table entry.

[0011] According to another embodiment of the present disclosure, a computer-readable storage medium is provided, in which a computer program is stored. The computer program is configured to execute the steps of any one of the above method embodiments when running.

[0012] According to another embodiment of the present disclosure, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to perform the steps in any one of the above method embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] FIG1 is a schematic diagram of the dragonfly+ compact topology in related art;

[0014] FIG2 is a schematic diagram of a dragonfly+ loose topology in related art;

[0015] FIG3 is a hardware structure block diagram of a mobile terminal of a route advertisement method according to an embodiment of the present disclosure;

[0016] FIG4 is a flowchart of a routing advertisement method according to an embodiment of the present disclosure;

[0017] FIG5 is a second flowchart of the routing advertisement method according to an embodiment of the present disclosure;

[0018] FIG6 is a third flowchart of the routing advertisement method according to an embodiment of the present disclosure;

[0019] FIG7 is a fourth flowchart of the routing advertisement method according to an embodiment of the present disclosure;

[0020] FIG8 is a fifth flowchart of the routing advertisement method according to an embodiment of the present disclosure;

[0021] FIG9 is a sixth flowchart of the routing advertisement method according to an embodiment of the present disclosure;

[0022] FIG10 is a flowchart of a message forwarding method according to an embodiment of the present disclosure;

[0023] FIG11 is a second flowchart of the message forwarding method according to an embodiment of the present disclosure;

[0024] FIG12 is a flow chart of a routing advertisement method according to a first embodiment of the present disclosure;

[0025] FIG13 is a flowchart of a message forwarding method according to a first embodiment of the present disclosure;

[0026] FIG14 is a flow chart of a routing advertisement method according to a second embodiment of the present disclosure;

[0027] FIG15 is a flowchart of a message forwarding method according to a second embodiment of the present disclosure;

[0028] FIG16 is a flowchart of a routing advertisement method according to a third embodiment of the present disclosure;

[0029] FIG17 is a schematic diagram of the service networking of dragonfly+ according to the fourth embodiment of the present disclosure;

[0030] FIG18 is a flowchart of a message forwarding method according to a fourth embodiment of the present disclosure;

[0031] FIG19 is a schematic diagram of the service networking of dragonfly+ according to the fifth embodiment of the present disclosure;

[0032] FIG20 is a flowchart of a route advertisement method according to a sixth embodiment of the present disclosure. DETAILED DESCRIPTION

[0033] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings and in conjunction with embodiments.

[0034] It should be noted that the terms "first", "second", etc. in the specification and claims of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0035] Dragonfly networking is a highly efficient communication system commonly used in the field of high-performance computing (HPC). Compared with other topologies such as Clos and Fat Tree networks, Dragonfly networking offers a shorter communication diameter, lower latency, and a larger network scale, enabling low-latency and high-throughput communication. The Dragonfly topology consists of three layers: the router layer (also known as the switch layer), the group layer (also known as the device group), and the system layer.

[0036] Switch layer: includes a switch and its connected p computing nodes / servers, etc.

[0037] Group layer: Contains a switch layer. Each switch in a switch layer can be fully connected (all-to-all). In dragonfly+, the links in the group use Clos / spine-leaf / Fat Tree connection methods.

[0038] System layer: contains g Group layers, which are fully connected.

[0039] Dragonfly+ (DF+) is an evolution of the DF topology. The main difference is that the group structure adopts a Clos / Fat Tree-like topology. Currently, AI data center network technology is exploring new topologies and routing protocols, and the Dragonfly+ network is one of the potential topologies.

[0040] In the embodiment of the present disclosure, the devices in the dragonfly+ network that are connected to the server / service provider and do not participate in the interconnection between groups are called leaf devices, and the devices that participate in the interconnection between groups are called top-level spine devices. For the Clos / Fat Tree topology with more than two layers, there are also intermediate devices in the middle layer that connect the leaf and spine devices, namely, intermediate spine devices. Unless otherwise specified in the present disclosure, spine devices refer to top-level spine devices. In the embodiment of the present disclosure, dragonfly / dragonfly networks refer to dragonfly plus / dragonfly+ networks unless otherwise specified.

[0041] Dragonfly topologies are categorized as loose or compact, depending on the inter-group connectivity: whether each spine in each group is connected to every other group. Figure 1 illustrates a Dragonfly-plus-compact topology in related art. Figure 2 illustrates a Dragonfly-plus-loose topology in related art. To support larger networks with the same hardware, a loose topology is a more practical connectivity method.

[0042] Dragonfly networks employ two forwarding methods: minimal routing, where packets are forwarded directly from the source group to the destination group, and non-minimal routing, where packets are forwarded from the source group through intermediate groups before reaching the destination group. Dragonfly / Dragonfly+ networks lack an automatic forwarding mechanism based on distributed routing. Furthermore, large-scale networks require leaf nodes to maintain a large number of detailed routing tables, placing a heavy burden on equipment and hindering deployment costs.

[0043] The method embodiments provided in the embodiments of the present disclosure can be executed in a mobile terminal, a computer terminal, or a similar computing device. Taking operation on a mobile terminal as an example, FIG3 is a hardware structure block diagram of a mobile terminal of the route advertisement method of the embodiment of the present disclosure. As shown in FIG3 , the mobile terminal may include one or more (only one is shown in FIG3 ) processors 302 (the processor 302 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 304 for storing data, wherein the mobile terminal may also include a transmission device 306 and an input / output device 308 for communication functions. It will be understood by those skilled in the art that the structure shown in FIG3 is merely illustrative and does not limit the structure of the mobile terminal. For example, the mobile terminal may also include more or fewer components than those shown in FIG3 , or have a configuration different from that shown in FIG3 .

[0044] The memory 304 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the routing advertisement method in the embodiment of the present disclosure. The processor 302 executes various functional applications and data processing by running the computer program stored in the memory 304, that is, implementing the above-mentioned method. The memory 304 may include a high-speed random access memory and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the storage 304 may further include a memory remotely located relative to the processor 302, and these remote memories may be connected to the mobile terminal via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0045] The transmission device 306 is used to receive or send data via a network. Specific examples of the aforementioned network may include a wireless network provided by the mobile terminal's communications provider. In one embodiment, the transmission device 306 includes a network interface controller (NIC), which can be connected to other network devices via a base station to enable communication with the Internet. In another embodiment, the transmission device 306 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0046] In the embodiments of the present disclosure, in order to distinguish the processes and steps of route announcement and message forwarding, the Dragonfly network is divided into two groups during the description process, namely the first group and the second group. The first group includes the first spine node device and the first leaf node device, and the second group includes the second spine node device and the second leaf node device. It should be noted that the above-mentioned first and second divisions are only for differentiation and are not specific limitations or definitions. In actual implementation, the Dragonfly network includes multiple groups of devices, each of which also includes multiple spine node devices and multiple leaf node devices.

[0047] An embodiment of the present disclosure provides a routing advertisement method. FIG4 is a flowchart of the routing advertisement method according to an embodiment of the present disclosure. As shown in FIG4 , the process includes the following steps:

[0048] Step S402: The second spine node device receives routing information from the first spine node device in the first group.

[0049] Step S404: The second spine node device notifies the second leaf node device in the second group of the routing information.

[0050] In the embodiment of the present disclosure, for groups, the first and second restrictions are only for distinguishing different groups. For spine node devices and leaf node devices, they are also only for distinguishing spine node devices or leaf node devices of different groups.

[0051] In an exemplary embodiment, before the second spine node device receives routing information from the first spine node device in the first group, the method further includes: the first spine node device receives the intra-group route of the first leaf node device in the first group to obtain routing information. FIG5 is a second flowchart of the route advertisement method according to an embodiment of the present disclosure. As shown in FIG5, the process includes the following steps:

[0052] Step S502: The first spine node device receives the intra-group route of the first leaf node device in the first group to obtain routing information.

[0053] Step S504: The second spine node device receives routing information from the first spine node device in the first group.

[0054] Step S506: The second spine node device notifies the second leaf node device in the second group of the routing information.

[0055] In an exemplary embodiment, before the second spine node device receives the routing information from the first spine node device in the first group, the method further includes: assigning non-overlapping numbers to each group in the Dragonfly Plus network and assigning role tags to the network devices in each group to distinguish between spine node devices and leaf node devices; and establishing routing neighbor relationships in the Dragonfly Plus network to obtain routing information of the Dragonfly Plus network. FIG6 is a flowchart of the route advertisement method according to an embodiment of the present disclosure. As shown in FIG6, the process includes the following steps:

[0056] Step S602: number each group in the Dragonfly Plus network without overlapping, and mark the role of the network devices in each group to distinguish between spine node devices and leaf node devices; establish a routing neighbor relationship of the Dragonfly Plus network to obtain routing information of the Dragonfly Plus network.

[0057] In the embodiment of the present disclosure, routing neighbors are established, including establishing neighbors between each spine node device in the group and the leaf node device in the group; establishing neighbors between spine node devices between groups; and in the interaction process of neighbor establishment messages between groups, the spine node devices carry their respective group identifiers.

[0058] In an exemplary embodiment, the manner of role-marking network devices in each group includes at least one of the following: in the Open Shortest Path First (OSPF) protocol, different area numbers are configured for spine node devices and leaf node devices; in the Intermediate System to Intermediate System (IS-IS) routing protocol, different location numbers are configured for spine node devices and leaf node devices; in the Routing in Fat Trees (FT) protocol, different location numbers are configured for spine node devices and leaf node devices.

[0059] In an exemplary embodiment, the routing neighbor relationship includes at least: an intra-group routing neighbor relationship between spine node devices and leaf node devices in the same group; and a routing neighbor relationship between spine node devices in different groups.

[0060] In an exemplary embodiment, the interactive information for establishing the routing neighbor relationship of the Dragonfly Plus network includes at least one of the following: group identification information of each spine node device in different groups; routing mode support capability information of the Dragonfly Plus network of each spine node device in different groups.

[0061] Step S604: The first spine node device receives the intra-group route of the first leaf node device in the first group to obtain routing information.

[0062] Step S606: The second spine node device receives routing information from the first spine node device in the first group.

[0063] Step S608: The second spine node device notifies the second leaf node device in the second group of the routing information.

[0064] In an exemplary embodiment, the second spine node device makes a routing announcement to the second leaf node device in the second group based on the routing information, including: the second spine node device obtains the forwarding path information of the destination address based on the routing information and selects the available path information; the second spine node device makes a routing announcement to the leaf node devices in the second group based on the available path information to complete the intra-group routing announcement within the second group.

[0065] In the disclosed embodiment, when a leaf node device advertises a route within a group, it can modify the next hop address to that device's own address. In one embodiment, the route can carry both the group ID information to which the device belongs and the destination prefix access / home device, i.e., the group ID information to which the leaf node device advertising the destination prefix belongs.

[0066] In an exemplary embodiment, the intra-group routing announcement includes at least one of the following: destination prefix information; routing metric / cost information; node address information of the next-hop spine node device; group identification information of the second spine node device; and group identification information of the leaf node device corresponding to the destination prefix.

[0067] In an exemplary embodiment, the second spine node device performs routing announcements to the leaf node devices in the second group based on the available path information, including: when multiple second spine node devices perform routing announcements of the same target prefix to the same leaf node device, the leaf node device receives and stores multiple pieces of available path information.

[0068] In an exemplary embodiment, in step S608, after the second spine node device makes a routing announcement to the second leaf node device in the second group based on the routing information, it also includes: updating the routing information of the second leaf node device in the second group when the path status to the destination prefix changes.

[0069] In an exemplary embodiment, the situation in which the path status to the destination prefix changes includes at least one of the following: all forwarding path information to the destination prefix of the second spine node device does not meet the availability conditions; the second spine node device has a new routing announcement path, and the routing metric / cost of the new routing announcement path is the smallest; the forwarding path information corresponding to the minimum routing metric / cost of the second spine node device is unavailable.

[0070] In an exemplary embodiment, after the second spine node device receives routing information from the first spine node device in the first group, the process further includes: the second spine node device performs a cross-group routing announcement based on the routing information. FIG7 is a fourth flowchart of the routing announcement method according to an embodiment of the present disclosure. As shown in FIG7 , the process includes the following steps:

[0071] Step S702: The first spine node device receives the intra-group route of the first leaf node device in the first group to obtain routing information.

[0072] Step S704: The second spine node device receives routing information from the first spine node device in the first group.

[0073] Step S706: The second spine node device performs cross-group routing announcement based on the routing information.

[0074] In an exemplary embodiment, in step S706, the second spine node device performs a cross-group routing announcement based on the routing information, including: the second spine node device sends a cross-group routing announcement to other neighboring spine node devices except the first spine node device, wherein the cross-group routing announcement carries a next-hop address, and the next-hop address is the address of the corresponding second spine node device.

[0075] In an exemplary embodiment, the inter-group routing advertisement also carries group identification information to which the leaf node device of the destination prefix belongs.

[0076] In an exemplary embodiment, the cross-group routing advertisement also carries group identification information of the second spine node device.

[0077] In one embodiment, the spine node device outside the group, i.e., the second spine node device, needs to carry path quality information in the routing announcement information when making routing announcements, expressed in the form of metrics / costs, etc. The meaning of the path quality information includes but is not limited to routing distance, bandwidth, latency, etc. This information is accumulated as the routing message is transmitted.

[0078] In an exemplary embodiment, the number of transit hops of the cross-group routing advertisement is one hop.

[0079] In one embodiment, in order to reduce the amount of routing between groups, it may be required to control the routing when passing it to other spine node devices, and limit the number of routing transit hops to one hop.

[0080] In one embodiment, limiting the number of transit hops to one includes: carrying a field in a routing message that records the number of route reflection hops, thereby limiting route reflection to one hop; upon receiving a routing protocol message from another spine node device, a spine node device first checks this field and reflects the route if the route has not been reflected and the spine node device has neighbors other than the sending spine node device; if a message with a reflected hop count of 1 is received, the route is received without being reflected; if a message with a hop count exceeding one is received, the route is discarded. The field reflecting the number of route hops can be a mandatory field or can be included only after the route has been reflected.

[0081] In an exemplary embodiment, the inter-group route advertisement carries a preset field, wherein the preset field is used to limit the number of hops of the transit route to one hop.

[0082] In an exemplary embodiment, after the second spine node device receives routing information from the first spine node device in the first group, the process further includes: the current second spine node device advertises a default route to the second leaf node device and other spine node devices in the second group, wherein the default route advertisement carries default prefix information, and the next hop indicated by the default prefix information is the second spine node device. FIG8 is a flowchart of the route advertisement method according to an embodiment of the present disclosure. As shown in FIG8 , the process includes the following steps:

[0083] Step S802: The first spine node device receives the intra-group route of the first leaf node device in the first group to obtain routing information.

[0084] Step S804: The second spine node device receives routing information from the first spine node device in the first group.

[0085] In the disclosed embodiments, when spine node roles are unequal, for example, when reaching a destination, some spine node devices have the shortest path, while others have non-shortest paths. If only the default route is advertised southbound, leaf node devices may choose a spine node with a non-shortest path when selecting a path, resulting in a suboptimal path. Therefore, in this case, it is necessary to distinguish between optimal and non-optimal spine node devices when advertising routes.

[0086] Step S806: The current second spine node device announces a default route to the second leaf node device and other spine node devices in the second group, wherein the default route announcement carries default prefix information, and the next hop indicated by the default prefix information is the second spine node device.

[0087] In an exemplary embodiment, after the second spine node device receives routing information from the first spine node device in the first group, the process further includes: the current second spine node device calculates routing information on other spine node devices in the second group and issues a prefix route advertisement based on the calculation result. FIG9 is a flowchart of the route advertisement method according to an embodiment of the present disclosure. As shown in FIG9 , the process includes the following steps:

[0088] Step S902: The first spine node device receives the intra-group route of the first leaf node device in the first group to obtain routing information.

[0089] Step S904: The second spine node device receives routing information from the first spine node device in the first group.

[0090] Step S906: The current second spine node device calculates the routing information on other spine node devices in the second group, and announces the prefix routing based on the calculation result.

[0091] In the disclosed embodiment, the top-level spine node device node will take itself into the role of calculating the group, and calculate the routes of other top-level spine node device nodes in the group. If the calculation result is that for the routes of some prefixes, this spine node device does not have the shortest path, but there are shortest paths on other spine node devices, then in addition to the default route, this spine node device also needs to announce to the south that this spine node device is unreachable for these prefixes. In the Remote Interface Transfer Protocol (RIFT) protocol, this route is a negative deaggregation route. Alternatively, the route metric / cost to these prefixes is set to the maximum value to indicate that it is a non-optimal route.

[0092] In an exemplary embodiment, prefix routing announcement is performed based on the calculation result, including at least one of the following: when the current second spine node device has a better forwarding path compared with other spine node devices, the current second spine node device makes a prefix routing announcement to the second group, wherein the routing metric / cost of the prefix routing announcement is less than the routing metric / cost of the default routing announcement; when the current second spine node device has a better forwarding path compared with other spine node devices, the current second spine node device makes a prefix routing announcement to the second group, wherein the prefix routing announcement is used to announce that the forwarding route with the next hop being the current second spine node device is a non-optimal route or an unreachable route.

[0093] In an exemplary embodiment, the second spine node device performs prefix routing announcement based on the calculation result, including: the second spine node device performs positive deaggregation routing announcement or negative deaggregation routing announcement through the RIFT protocol based on the calculation result to implement prefix routing announcement.

[0094] The above steps provide a route advertisement method, in which a second spine node receives routing information from a first spine node in a first group. Based on the routing information, the second spine node advertises the route to a second leaf node in a second group. This method addresses the high deployment cost and lack of an automatic forwarding mechanism in the related art Dragonfly+ network, achieving the goal of reducing Dragonfly+ network deployment costs while implementing an automatic forwarding mechanism.

[0095] The execution entity of the above steps may be a base station, a terminal, etc., but is not limited thereto.

[0096] The present disclosure also provides a message forwarding method. FIG10 is a flowchart of the message forwarding method according to the present disclosure. As shown in FIG10 , the method includes the following steps:

[0097] Step S1002: The leaf node device receives a data message and determines whether it is an inter-group data message based on the destination prefix address in the data message.

[0098] Step S1004: When the data message needs to cross the group, the leaf node device forwards the data message to the destination spine node device according to the locally stored forwarding path table.

[0099] In an exemplary embodiment, the data packet carries group identification information of the destination group.

[0100] In an exemplary embodiment, in step S1004, the leaf node device forwards the data packet to the destination spine node device based on the locally stored forwarding path table entry, including: the leaf node device determines the address of the destination spine node device based on the locally stored forwarding path table entry; the leaf node device determines the forwarding path based on the congestion status and routing metric / cost of the forwarding path to forward the data packet to the destination spine node device.

[0101] In an exemplary embodiment, the leaf node device determines a forwarding path based on the congestion status and routing metric / cost of the forwarding path to forward the data packet to the destination spine node device, including: when the congestion status of multiple forwarding paths is not congested and the routing metric / cost is equal, forwarding the data packet to the destination spine node device in accordance with the equal cost multi-path routing ECMP method.

[0102] In an exemplary embodiment, after the leaf node device forwards the data traffic message to the destination spine node device based on the locally stored forwarding path table, the method further includes: the destination spine node device confirms the available forwarding path based on the path forwarding information and forwards the data message. Figure 11 is a second flowchart of the message forwarding method of the embodiment of the present disclosure, as shown in Figure 11, including the following steps:

[0103] Step S1102: The leaf node device receives a data message and determines whether it is an inter-group data message based on the destination prefix address in the data message.

[0104] Step S1104: When the data message needs to cross the group, the leaf node device forwards the data message to the destination spine node device according to the locally stored forwarding path table.

[0105] In an exemplary embodiment, the data packet carries group identification information of the destination group.

[0106] Step S1106: The destination spine node device confirms the available forwarding path based on the path forwarding information and forwards the data packet.

[0107] In an exemplary embodiment, before the leaf node device receives the data message, the method further includes: obtaining the correspondence between the data message and the group identification information of the destination group through pre-configuration or message interaction between leaf node devices of different groups.

[0108] In the embodiment of the present disclosure, before the leaf node device node receives the message, one of the following is also included: 1) the leaf node devices of different groups exchange messages separately to announce the relationship between the destination prefix and the group ID. For example, the leaf node device node acts as a provider edge device (Packet Engine, PE) and interacts with the leaf node device nodes in the destination group for Border Gateway Protocol Virtual Private Network (BGP VPN) routing. When the leaf node device node on the other end announces the VPN routing, it carries the ID information of the group to which it belongs. For example, this information can be carried in the BGP extended community. In this way, the leaf node device node can obtain the group ID information to which the destination prefix belongs. 2) The leaf node devices across groups do not interact with each other, but the correspondence between the message and the Group ID is clarified on each leaf node device node through pre-planning / configuration. 3) The message received by the leaf node device node directly carries the destination group ID information. This information can be directly sent to the traffic sending node (such as a server or network card, etc.) through a controller / application, and encapsulated in the message when it sends the message.

[0109] In an exemplary embodiment, the group identification information is sent from the control device to the leaf node device and encapsulated in a data message.

[0110] In an exemplary embodiment, the group identification information is encapsulated in an IPv6 extension header or a reserved field of a data packet.

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

[0112] In this embodiment, a route advertisement device and a message forwarding device are also provided, which are used to implement the above-mentioned embodiments and preferred embodiments. Details already described will not be repeated here. As used below, the term "module" may refer to a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, implementation using hardware, or a combination of software and hardware, is also possible and contemplated.

[0113] In an embodiment of the present disclosure, a route announcement device is used in a DF+ network and can be provided at or applied to a second spine node. The device includes: a receiving module configured to receive routing information from a first spine node device in a first group; and an announcement module configured to perform a route announcement to a second leaf node device in a second group based on the routing information. In actual implementation, the present disclosure does not impose specific restrictions on the functional division and naming of the modules in the route announcement device, and these can be determined based on actual circumstances, as long as the route announcement method in the above embodiment can be implemented.

[0114] In the embodiment of the present disclosure, the message forwarding device is used in the DF+ network and can be set in a leaf node device or applied to a leaf node device, including: a receiving judgment module, which is configured to receive a data message and judge whether it is a cross-group data message based on the destination prefix address in the data message; a forwarding module, which is configured so that when the data message needs to cross the group, the leaf node device forwards the data message to the destination spine node device according to the locally stored forwarding path table. In the actual implementation process, the present disclosure does not make specific restrictions on the functional division and naming of the modules in the message forwarding device, and can be determined according to actual conditions, as long as the message forwarding method in the above embodiment can be implemented.

[0115] It should be noted that the above modules can be implemented through software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.

[0116] The embodiments of the present disclosure may also provide a spine node device for use in a DF+ network, for executing the routing announcement method in the above embodiments. The spine node device provided by the embodiments of the present disclosure may include different modules or units, for example, including: a receiving unit configured to receive routing information from spine node devices in other groups; and an announcement unit configured to make routing announcements to leaf node devices in the present group based on the routing information. In actual implementation, the present disclosure does not impose any specific restrictions on the functional division and naming of the units in the spine node device, and may determine the naming based on actual conditions, as long as the routing announcement method in the above embodiments can be implemented.

[0117] The embodiments of the present disclosure may also provide a leaf node device for use in a DF+ network, for executing the message forwarding method in the above embodiments. The leaf node device provided by the embodiments of the present disclosure may include different modules or units, for example, including: a receiving judgment unit, configured to receive a data message, and to judge whether it is a cross-group data message based on the destination prefix address in the data message; a forwarding unit, configured to forward the data message to the destination spine node device based on the locally stored forwarding path table entry when the data message needs to cross the group. In the actual implementation process, the present disclosure does not impose specific restrictions on the functional division and naming of the units in the leaf node device, and can be determined based on actual conditions, as long as the message forwarding method in the above embodiments can be implemented.

[0118] An embodiment of the present disclosure further provides a computer-readable storage medium, in which a computer program is stored. The computer program is configured to execute the steps of any one of the above method embodiments when run.

[0119] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.

[0120] An embodiment of the present disclosure further provides an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to perform the steps in any of the above method embodiments.

[0121] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.

[0122] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail here.

[0123] Obviously, those skilled in the art should understand that the modules or steps of the present disclosure described above can be implemented using a general-purpose computing device, they can be concentrated on a single computing device, or distributed across a network composed of multiple computing devices, they can be implemented using program code executable by the computing device, and thus, they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be performed in a different order than herein, or they can be fabricated into separate integrated circuit modules, or multiple modules or steps can be fabricated into a single integrated circuit module for implementation. Thus, the present disclosure is not limited to any particular combination of hardware and software.

[0124] In order to enable those skilled in the art to better understand the technical solutions of the present disclosure, the technical solutions of the embodiments of the present disclosure are described below in conjunction with scenario embodiments.

[0125] Example 1

[0126] In the disclosed embodiments, the first and second restrictions are no longer applied to different groups. Similarly, the first and second restrictions are no longer applied to spine node devices and leaf node devices. This is because for groups, the first and second restrictions are only used to distinguish different groups. For spine node devices and leaf node devices, they are also only used to distinguish spine node devices or leaf node devices in different groups. Therefore, in this embodiment 1 and subsequent embodiments, only restrictions are applied within the group, the current group, and other groups, and the first and second distinctions are no longer applied.

[0127] FIG12 is a flow chart of a route advertisement method according to a first embodiment of the present disclosure. As shown in FIG12 , the method includes the following steps:

[0128] Step S1201, number each group in the Dragonfly Plus network without overlapping;

[0129] Through configuration, each group in the Dragonfly network is numbered with non-overlapping numbers. Devices can also be tagged with roles to determine whether they are spine devices or leaf devices.

[0130] In the embodiment of the present disclosure, the marking method includes:

[0131] In OSPF, different area IDs are configured for spine node devices and leaf node devices. For example, leaf node devices are configured as area 1 and spine node devices are configured as area 0.

[0132] In IS-IS, different level IDs are configured for spine node devices and leaf node devices. For example, leaf node devices are configured as level 0 and spine node devices are configured as level 1.

[0133] In RIFT, different level IDs are configured for spine node devices and leaf node devices. For example, leaf node devices are configured as level 0 and spine node devices are configured as level 1.

[0134] Step S1202: Establish routing neighbor relationships of the Dragonfly network;

[0135] In the embodiment of the present disclosure, routing neighbors are established, including establishing neighbors between each spine node device in the group and the leaf node device in the group; establishing neighbors between spine node devices between groups; and in the process of interacting with neighbor establishment messages between groups, the spine node devices carry their respective group IDs.

[0136] In one embodiment, when spine node devices exchange neighbor information, they may also carry information about whether they support the DF+ mode. A neighbor relationship can only be established if both spine node devices support the DF+ mode.

[0137] Step S1203: The spine node device receives the routes announced by the leaf node devices in the group and announces them to the spine node devices outside the group.

[0138] In the disclosed embodiment, the spine node device receives the route advertised by the leaf node device within the group, which is equivalent to the first spine node device in the above embodiment receiving the intra-group route of the first leaf node device in the first group. The spine node device outside the group is the second spine node device in the second group.

[0139] In the disclosed embodiment, when a leaf node device advertises a route within a group, it can modify the next hop address to that device's own address. In one embodiment, the route can carry both the group ID information to which the device belongs and the destination prefix access / home device, i.e., the group ID information to which the leaf node device advertising the destination prefix belongs.

[0140] Step S1204: The spine node device outside the group receives the route and processes it.

[0141] In the embodiment of the present disclosure, the spine node device outside the group, i.e., the second spine node device, receives the routing information from the first spine node device and performs the following processing:

[0142] 1) Store the routing information in its own table.

[0143] 2) The routing information is passed to the spine node devices in other groups of the group where the non-sending spine node device is located.

[0144] When a spine node device outside the group, i.e., the second spine node device, announces a route, it needs to modify the next hop to itself. In one embodiment, it can also carry its own group ID. It may also carry the group ID information of the device to which the destination prefix belongs, i.e., the leaf node device announcing the destination prefix belongs.

[0145] In one embodiment, in order to reduce the amount of routing between groups, it may be required to control the routing when passing it to other spine node devices, and limit the number of routing transit hops to one hop.

[0146] In one embodiment, limiting the number of transit hops to one includes: carrying a field in a routing message that records the number of route reflection hops, thereby limiting route reflection to one hop; upon receiving a routing protocol message from another spine node device, a spine node device first checks this field and reflects the route if the route has not been reflected and the spine node device has neighbors other than the sending spine node device; if a message with a reflected hop count of 1 is received, the route is received without being reflected; if a message with a hop count exceeding one is received, the route is discarded. The field reflecting the number of route hops can be a mandatory field or can be included only after the route has been reflected.

[0147] In one embodiment, a field is carried in the routing message to record the number of hops of route reflection. When route reflection is limited to 1 hop, it is determined that the route has not been reflected when the number of hops in the field is 0.

[0148] In one embodiment, when a spine node device receives a routing protocol message sent by other spine node devices, it first checks this field. If the route has not been reflected and the spine node device has neighbors other than the sending spine node device, it will reflect the route. It then determines whether the route has been reflected by whether the routing message carries this field.

[0149] In the above steps, the spine node device outside the group, i.e. the second spine node device, needs to carry path quality information in the routing announcement when making routing announcements, expressed in the form of metrics / costs, etc. The meaning of the path quality information includes but is not limited to routing distance, bandwidth, latency, etc. This information is accumulated as the routing message is transmitted.

[0150] Step S1205: The spine node device notifies the leaf node devices in the group of the routing information.

[0151] In the disclosed embodiment, a spine node device selects a route based on routes advertised by other spine node devices and advertises the optimal route to the destination prefix to leaf node devices in the group, including:

[0152] First, the spine node device calculates the forwarding path information to the destination address based on the received routing information; then, based on the availability of the path, such as whether the latency and congestion status meet the availability requirements, it selects the table entry with the minimum metric / cost information in the route corresponding to the available path, and then announces the route to the leaf node devices in the group.

[0153] In one embodiment, the routing information advertised to the leaf node devices in the group includes: the destination prefix, routing metric / cost information, the node address of the spine node device as the next hop, and may also include the group ID information to which the destination prefix belongs.

[0154] Step S1206: The leaf node device node receives the routing information and performs routing selection.

[0155] In the embodiment of the present disclosure, in the case where multiple spine node devices all announce the route of the same prefix to a leaf node device, the leaf node device needs to save multiple routing information. The leaf node device selects the table entry that is not congested and has the smallest routing metric / cost to the spine node device based on the congestion status of the next-hop spine node device. When there are multiple non-congested spine node devices and the routing metrics / costs are equal, multiple table entries can be selected and forwarded in an equal-cost multi-path (ECMP) manner. Table entry selection can also be performed before each leaf node device sends a message.

[0156] Step S1207: The leaf node device performs routing update based on the path status information.

[0157] In the embodiment of the present disclosure, after the path status changes, if one of the following situations occurs, the routing update process is triggered:

[0158] If all paths to the destination prefix on the spine node device do not meet the availability conditions, the spine node device sends a route withdrawal message to the leaf node device;

[0159] When a new available route is added to the spine node device and its routing metric / cost is the smallest, the spine node device sends a routing update message to the leaf node device to update its routing metric / cost information;

[0160] If the route with the smallest routing metric / cost on the spine node device becomes unavailable, the route with the smallest routing metric / cost among the currently available routes is selected, and the spine node device sends a routing update message to the leaf node device to update its routing metric / cost information.

[0161] In the embodiments of the present disclosure, it should be noted that the path availability information mentioned above can be the congestion status, latency, bandwidth, queue depth, etc. of the entire path, or it can only include the congestion status, latency, bandwidth, queue depth, etc. of the path to the next hop. This information can be obtained by the device itself by sending a detection message, or it can be centrally obtained by the management and control system and then notified to the device of the path availability status.

[0162] In the first embodiment, according to the above-mentioned route advertisement method, a message forwarding method is also provided. FIG13 is a flow chart of the message forwarding method of the first embodiment of the present disclosure. As shown in FIG13 , the method includes the following steps:

[0163] Step S1301: A leaf node device node receives traffic and determines whether the traffic is cross-group traffic based on the destination address of the traffic.

[0164] Step S1302: If traffic needs to cross groups, it is forwarded to the spine node device node according to the local table entry. This may also include the following table entry selection process:

[0165] 1) Determine the next-hop spine node device to the destination address based on the local table entry;

[0166] 2) Based on the congestion status of the leaf node devices to these spine node devices, select the table entry with no congestion and the smallest metric / cost to the spine node device, and forward it to the corresponding spine node device. When there are multiple uncongested spine node devices with equal metric / cost, you can choose to forward it in ECMP mode.

[0167] Step S1303, after the spine node device node receives the traffic, it selects an available path for forwarding.

[0168] In the embodiment of the present disclosure, the spine node device selects an available path in the following manner:

[0169] 1) Shortest path first, that is, the path with the smallest path quality value is selected, which may be one or more paths;

[0170] 2) Unbalanced ECMP method: some paths are selected from both the shortest path and the non-shortest path, and traffic is load balanced among these paths.

[0171] In the first embodiment, the spine node device can also be configured to change the method of selecting available paths, such as the selection preference and the number of selected paths.

[0172] Example 2

[0173] In the first embodiment, when the spine node device announces the route to the leaf node devices in the group, it still carries the final destination prefix information. In the second embodiment, the route announced by the spine node device to the leaf node devices in the group is the default prefix, which has nothing to do with the prefix within the destination group. The route can be announced after the neighbor establishment and topology learning between the spine node devices are completed. The advantage of this method is that the leaf node device can only see the default route to the destination group, and the number of routing table entries is only related to the number of groups in the network, and has nothing to do with the prefix information on the leaf node devices in other groups, which greatly reduces the number of forwarding table entries on the leaf node devices.

[0174] FIG14 is a flow chart of a routing advertisement method according to a second embodiment of the present disclosure. As shown in FIG14 , the method includes the following steps:

[0175] Step S1401: number each group in the Dragonfly Plus network without overlap, and establish a routing neighbor relationship of the Dragonfly Plus network.

[0176] Step S1402: After the spine node device nodes complete the neighbor establishment, they perform routing exchange.

[0177] In the disclosed embodiments, path quality information needs to be carried during route exchange. In one embodiment, the group ID information to which the spine node device belongs may also be carried. Since the group ID corresponding to the spine node device is already carried when the neighbor is established, even if the group ID is not carried during route interaction, the group from which the route comes can be obtained based on the correspondence between the spine node device and the group obtained when the neighbor is established. Therefore, in some routing algorithms, the group ID in route exchange is optional.

[0178] Step S1403: After receiving the topology interaction information sent by other spine node devices, the spine node device node forwards the route to neighboring spine node devices in other groups other than the group where the sender is located.

[0179] In the embodiment of the present disclosure, in order to reduce the amount of routing between groups, it may be required to control the routing when passing it to other spine node devices, and limit the number of routing transit hops to one hop.

[0180] The method of limiting the number of route transit hops to one hop includes: carrying a field in the routing message, recording the number of hops of route reflection, and limiting the route reflection to 1 hop, wherein the route hop count in the field is 0 to determine that the route has not been reflected. When the spine node device receives a routing protocol message sent by other spine node devices, it first checks the field. If the route has not been reflected and the spine node device has neighbors other than the sending spine node device, the route will be reflected, wherein whether the route has been reflected is determined by whether the routing message carries the field. If a message with a reflected hop count of 1 is received, the route will only be received without being reflected. If a message with a hop count of more than 1 hop is received, it will be discarded. Among them, the field reflecting the number of route hops can be used as a mandatory field, or the field can be carried only after the route has been reflected.

[0181] During the routing advertisement process in the above steps, path quality information needs to be carried in the routing advertisement information, expressed in the form of metrics / costs. The meaning of this path quality information includes but is not limited to routing distance, bandwidth, latency, etc. This information is accumulated as the routing message is transmitted.

[0182] Step S1404: The spine node device performs southbound routing announcement.

[0183] In the disclosed embodiment, based on the learned topology information, the spine node device selects the minimum path quality information from the available table entries for a specific destination group based on path availability for southbound routing announcement. The routing information announced by the spine node device includes the destination group ID, the default prefix, the path quality information, and the node address of the spine node device as the next hop.

[0184] Step S1405: The leaf node device node receives routing information and performs routing selection.

[0185] In the disclosed embodiment, when there are multiple next-hop spine node devices to the same destination group, multiple routing information needs to be saved. The leaf node device selects the next-hop spine node device that is not congested and has the lowest metric / cost to the destination group based on the congestion status of the next-hop spine node device. When there are multiple uncongested spine node devices with equal metric / cost, multiple table entries can be selected and forwarded in an ECMP manner. Table entry selection can also be performed before each leaf node device sends a message.

[0186] In the second embodiment, the following steps are also included:

[0187] The spine node device receives the routes announced by the leaf node devices in the group, announces them to the spine node devices outside the group, modifies the next hop to the address of the device itself, and may also carry the group ID information to which it belongs; it may also carry the group ID information to which the leaf node device that announced the destination prefix belongs.

[0188] The second spine node device receives the route and processes it. The difference from the first embodiment is that after the spine node device learns the detailed route on the leaf node device, it only saves it locally and does not notify the leaf node devices in the group.

[0189] The spine node device calculates the forwarding path information to the destination address based on the received routing information and topology information. Then, based on the availability of the path, such as whether the latency and congestion status meet the availability requirements, the spine node device selects a forwarding path from the available paths to form a forwarding entry. The spine node device can also select an entry based on the availability of the path after receiving the leaf node device traffic. Regardless of the step of table entry selection, the spine node device selects an available path for forwarding in a similar way. The methods for selecting available paths include:

[0190] 1) Shortest path first, that is, the path with the smallest path quality value is selected, which may be one or more paths;

[0191] 2) Unbalanced ECMP method: some paths are selected from both the shortest path and the non-shortest path, and traffic is load balanced among these paths.

[0192] In one embodiment, the spine node device can be configured to change its routing method, such as the selection preference and the number of selected paths.

[0193] In the embodiment of the present disclosure, the order in which the spine node devices receive routing information for routing selection and the leaf node devices receive routing information for routing selection is not strictly restricted.

[0194] In the second embodiment, a message forwarding method is further provided. FIG15 is a flow chart of the message forwarding method of the second embodiment of the present disclosure. As shown in FIG15 , the method includes the following steps:

[0195] Step S1501: A leaf node device node receives a data message and determines the destination group of the message.

[0196] In the embodiment of the present disclosure, before the leaf node device node receives the message, the method further includes one of the following:

[0197] 1) Leaf nodes in different groups exchange messages independently, announcing the relationship between the destination prefix and the group ID. For example, a leaf node, acting as a provider edge (PE), exchanges BGP VPN routes with leaf nodes in the destination group. When advertising VPN routes, the peer leaf node carries the ID of the group to which it belongs. For example, this information can be carried in a BGP extended community attribute. This allows the leaf node to obtain the group ID information to which the destination prefix belongs.

[0198] 2) Leaf node devices across groups do not interact with each other. Instead, the correspondence between messages and Group IDs is clearly defined on each leaf node device through pre-planning / configuration.

[0199] 3) The message received by the leaf node directly carries the destination group ID information. This information can be directly sent to the traffic sending node (such as a server or network card) through the controller / application, and encapsulated in the message when it is sent.

[0200] Methods for carrying the destination group ID information in a message include: carrying it in a reserved field in the source / destination address, carrying it in the IPv6 extension header, etc.

[0201] Step S1502: The leaf node device forwards the data message to the spine node device.

[0202] In the disclosed embodiment, the data is forwarded to the next hop spine device node according to the destination group ID and the local table entry.

[0203] In one embodiment, the leaf node device forwards the message to the spine node device, and may also include the following table entry selection process: based on the congestion status of the leaf node device to these spine node devices, select the table entry that is not congested and has the smallest metric / cost to the spine node device, and forward it to the corresponding spine node device. When there are multiple non-congested spine node devices and the metric / cost is equal, forwarding can be selected in ECMP mode.

[0204] In the disclosed embodiment, the data packet forwarding method of the leaf node device may also include: the leaf node device does not have the group ID information of the destination prefix, and selects a non-congested spine node device as the next hop for forwarding according to a specific algorithm, such as using a random algorithm.

[0205] Step S1503: The spine node device receives the data packet and forwards it.

[0206] In the disclosed embodiment, when a spine node receives traffic, it directly forwards it according to the table entry if the table entry has been pre-selected, or it selects the table entry after determining the destination of the traffic received.

[0207] Example 3

[0208] In the second embodiment, the default route carrying the group ID further reduces the burden of routing entries on the leaf node device. However, the leaf node device is required to confirm the destination group information before forwarding the message.

[0209] In the embodiment of the present disclosure, regarding the route announcement from the spine node device to the leaf node device, the default route without the group ID is adopted. However, if multiple spine node devices in the same group announce the default route to the group, the leaf node device may randomly select a spine node device that is not the shortest path. In the third embodiment, this situation is introduced. In the third embodiment, the spine node device does not carry the group ID when announcing to the south, but it is also necessary to announce the routes of all prefixes.

[0210] FIG16 is a flow chart of a route advertisement method according to a third embodiment of the present disclosure. As shown in FIG16 , the method includes the following steps:

[0211] Step S1601: After the routing neighbor relationship is established, the spine node device nodes exchange routing information.

[0212] In the implementation of the present disclosure, routing information is exchanged between spine node devices. First, the top-level spine node device of each group obtains global topology information, and then exchanges routing information with other spine node devices.

[0213] In step S1602, the spine node device announces the default routing information to the leaf node device nodes within the Point of Delivery (POD) and any intermediate spine node devices that may exist in the south.

[0214] In the disclosed embodiments, when spine node devices have unequal roles, for example, when reaching a certain destination, some spine node devices have the shortest path, while others have only non-shortest paths. If only the default route is advertised southbound, leaf node devices may choose a spine node with a non-shortest path when selecting a path, resulting in a suboptimal path. Therefore, in this case, it is necessary to distinguish between optimal and non-optimal spine node devices when southbound advertising.

[0215] In step S1603, the spine node device calculates the routing information on other spine node devices in the group and announces the prefix routing based on the calculation results.

[0216] In the disclosed embodiment, the top-level spine node device takes on the role of calculating the routes of the group and calculates the routes of other top-level spine nodes in the group. If the calculation result shows that the spine node device does not have the shortest path for some prefixes, but there are shortest paths on other spine nodes, then in addition to the default route, the spine node device needs to announce to the south that the spine node device is unreachable for these prefixes. Alternatively, in the RIFT protocol, this route is a negative deaggregation route, or the route metric / cost to these prefixes is set to the maximum value.

[0217] In the embodiment of the present disclosure, another possible method is that the top-level spine node device node brings itself into the calculation of the routing of other top-level spine node device nodes in this group. If the calculation result is that for the routing of some prefixes, this spine node device has the shortest path, but there is no shortest path on other spine node devices, then in addition to the default route, this spine node device also needs to announce to the south that for these prefixes, this spine node device is better. When the metric / cost of these routes is announced to the south, the metric / cost value carried is smaller than that of the default route. In the RIFT protocol, this route is a forward deaggregation route.

[0218] Step S1604: The leaf node device receives routing information and performs path selection.

[0219] In the embodiment of the present disclosure, the leaf node device receives the route. In the case where there are multiple next-hop spine node devices to the same destination prefix, multiple routing information needs to be saved. Then the route selection is performed: the leaf node device selects the next-hop spine node device that is not congested and has the smallest metric / cost to the destination group based on the congestion status of the next-hop spine node device. When there are multiple non-congested spine node devices and the metric / cost is equal, multiple table entries can be selected and forwarded in an ECMP manner. Another possible way is to perform table entry selection before each leaf node device sends a message.

[0220] In the routing announcement step of Example 3, it also includes the steps of the spine node device receiving routing information for routing selection and the leaf node device receiving routing information for routing selection, and the order thereof is not strictly limited.

[0221] Example 4

[0222] In the fourth embodiment, the routing advertisement method proposed in the first embodiment adopts the forwarding table structure of the first embodiment and takes the RIFT protocol as an example to illustrate the extension of the routing protocol.

[0223] Figure 17 is a schematic diagram of the service networking of Dragonfly+ in accordance with the fourth embodiment of the present disclosure. As shown in Figure 17, the networking within a group is a spine-leaf device architecture, with loose connections between groups, forming a fully interconnected network. Groups AE are numbered, with group IDs 100 / 200 / 300 / 400 / 500, respectively. Server 1 is connected to leaf node device c1, with a prefix of prefix1. The routing cost value is used to express the routing propagation pattern. The rule is that the cost increases by 1 for each hop within a group and by 100 for each hop between groups.

[0224] In this embodiment, the routing advertisement process is as follows:

[0225] Leaf node device c1 advertises the route to spine node devices C1 and C2:

[0226] prefix: prefix1; next-hop: loopback c1; next-hop group id: 300, cost=1.

[0227] Spine devices in group C advertise routes from leaf device 1. For example, spine device C1 establishes routing neighbors with spine devices A2 and E2 based on the network's connectivity and advertises routes to them. The advertised content is: prefix:prefix1; next-hop:loopback C1; next-hop group id:300, with the cost added by 100, which is 101. C2 then advertises routes to B2 and D1. The advertised content is: prefix:prefix1; next-hop:loopback C2; next-hop group id:300; cost 101.

[0228] The process after spine node device A2 receives the route from C1 is as follows:

[0229] 1) Store the route in its own routing table.

[0230] 2) A2 continues to propagate the route. It sends the route to its neighbor D2, excluding C1. The route includes: prefix: prefix1; next-hop: loopbackA2; next-hop group-ID; and cost 201.

[0231] After receiving the route, spine node device D2 finds that no further reflection is needed, so it only stores the route in the routing table. The same process is used for other routes.

[0232] Table 1 Example of path information entry from spine node device A1 to destination prefix

[0233] As shown in Table 1, in group A, after route learning is completed, spine node device A1 obtains two paths to Prefix1 through topology learning and calculation.

[0234] Table 2 Example of path information entry from spine node device A2 to the destination prefix

[0235] As shown in Table 2, in group A, after route learning is completed, spine node device A2 obtains two paths to Prefix1 through topology learning and calculation.

[0236] In the embodiments of the present disclosure, the above Table 1 and Table 2 are exemplary descriptions, which only illustrate the information existing on the device and do not represent the actual form of the table items.

[0237] In the embodiment of the present disclosure, when the spine node device makes a southbound route announcement, A1 first finds that both forwarding paths are not congested based on the path congestion status, then selects the entry with the smallest cost and announces the route to a1 and a2 respectively. The route content is: prefix:prefix1,dst group-id:300; next hop:A1; cost 102, which is the minimum cost 101 on A1. Since it needs to go through another hop within the group, the cost is obtained by adding 1 to the cost. After the leaf node device a1 receives the route, it stores all the entries. When generating the forwarding entry, the congestion status from a1 to the next hop is checked. If it is found that the path from a1 to A2 is congested, the entry with the next hop being A1 is selected.

[0238] The southbound route advertised by spine node device A2 is: prefix:prefix1,dst group-id:300; next hop:A2; cost 102.

[0239] According to the dragonfly+ networking architecture in the fourth embodiment, the present disclosure further provides a message forwarding method. FIG18 is a flowchart of the message forwarding method in the fourth embodiment of the present disclosure. As shown in FIG18 , the method includes the following steps:

[0240] Step S1801: Leaf node device a1 receives a data message and sends the data message to spine node device A1 according to the forwarding table entry.

[0241] In step S1802, spine node device A1 receives the message and matches the entry of prefix1 according to the destination address.

[0242] In one embodiment, the paths corresponding to the two entries are not congested, and load balancing forwarding is performed on the two paths according to the adaptive routing policy.

[0243] In the embodiment of the present disclosure, in order to apply the RIFT protocol to the dragonfly+ topology, the extension of the RIFT protocol includes the following:

[0244] 1) The top-level spine node device in the Dragonfly+ network acts as the Time of Flight (TOF) in the RIFT protocol; the leaf node device in the Dragonfly+ network acts as the leaf node device role in the RIFT protocol. A group in the Dragonfly+ network acts as a delivery point (POD) in the RIFT protocol.

[0245] 2) The topology information and reachability information of the RIFT protocol are transmitted through the Topology Information Element (TIE). A new K value type needs to be extended to carry the group ID information in the K value (Key Value, KV) TIE.

[0246] 3) In related technologies, S-TIE only supports carrying default routes and deaggregated routes sent to lower layers. In the dragonfly+ network, S-TIE needs to be extended so that within the group, spine node devices can transmit detailed routing information to leaf node devices through the south topology cell (S-TIE).

[0247] Example 5

[0248] In the fourth embodiment, the spine node device notifies the leaf node device of its preferred route according to the prefix. In the fifth embodiment, the spine node device only notifies the leaf node device of the default route to the destination group.

[0249] Figure 19 is a business networking diagram of dragonfly+ in the fifth embodiment of the present disclosure. As shown in Figure 19, taking group A and group C as the source and destination groups respectively as examples, the leaf node device serves as the provider edge device PE node in the VPN service, and performs BGP VPN routing interaction through the service RR (service route reflector). In the BGP VPN routing message, the group ID information of the device sending the VPN routing message is carried, which can be carried through the bgp extended community attribute information.

[0250] Leaf node device c1 sends BGP VPN. After receiving the service RR, it reflects it to leaf node device a1. Table 3 is the VPN table entry of leaf node device a1.

[0251] Table 3 VPN entries of leaf node device a1

[0252] In the embodiment of the present disclosure, a single routing protocol is run inside the dragonfly+ network. Taking the RIFT protocol as an example, in the fifth embodiment, first, the process of internal configuration and neighbor establishment of the dragonfly+ network is performed.

[0253] The topology learning mechanism within the group remains unchanged. After establishing neighbors, spine node devices conduct topology learning. During topology exchange, the group ID information and path cost information of the spine node device must be carried. For the RIFT protocol, TIE information must be sent in the east-west direction, carrying the group ID information. This information can be carried in the KV TIE. After receiving the east-west TIE information from the neighboring node, the spine node device sends the TIE information to all spine node devices except the sending spine node device. Furthermore, the cost information must be carried in the information, and the cost information increases with the number of transit hops.

[0254] The TIE message from C2 to B2 contains the following content: neighbor C2, source C2, source group-ID 300, cost 100. After receiving it, B2 forwards it to A1, adding the cost. The message content is as follows: neighbor B2, source C2, source group-ID 300, cost 100. After receiving it, A1 does not send it further because the route has already been forwarded once.

[0255] In addition, A1 also receives a TIE message from C1: neighbor C1, source C1, source group-ID 300, cost 100.

[0256] The above TIE message may also carry a neighbor group ID.

[0257] In the embodiment of the present disclosure, A1 finds through calculation that there are two paths to group 300, namely:

[0258] A1--C1, cost 100;

[0259] A1--B2--C2, cost 200.

[0260] First, A1 determines path availability based on the path congestion status. Finding both paths available, it chooses the path with the lowest cost, 100. It then advertises the default route indexed by the destination group ID within the group. Because it adds one hop within the group, the cost increases by 1. The route includes: prefix:0 / 0; dst group-ID:300; next-hop:A1; cost 101. Similarly, A2 advertises the following route southbound: prefix:0 / 0; dst group-ID:300; next-hop:A2; cost 101.

[0261] After receiving the route, leaf node device a1 finds that a1-A2 is congested based on the availability status between a1-A1 and a1-A2. Therefore, if the destination message belongs to group 300, it selects the default routing table entry with the next hop A1.

[0262] In one embodiment, within group 300, the leaf node device nodes will also notify the spine node devices of their own routing information to the north according to the existing routing mechanism.

[0263] After receiving the route, spine node C1 advertises the east-west route to the spine nodes outside the group. The destination is the leaf node address, the next hop is the spine node itself, and the route carries the spine node's own group ID information. It can also carry the group ID information of the source leaf node. For example, prefix:prefixc1; next-hop:C1 address; next-hop group300; source group 300; cost 1.

[0264] In the fifth embodiment, the route is announced to the neighboring spine node device, and the neighboring spine node device will forward the route at most once. The detailed route to the leaf node device is only stored on the spine node device and is not further transmitted to the southbound leaf node device.

[0265] In this disclosed embodiment, leaf node device a1 receives a message from CE1, whose destination address is CE2. By searching the local VPN table, it finds that the destination group ID of the message is 300. It then searches the default routing table and forwards the message to next hop A1. Spine node device A1 receives the message and forwards it.

[0266] In the disclosed embodiment, the extension of the RIFT protocol includes the following:

[0267] 1) The top-level spine nodes in the Dragonfly+ network act as the TOF role in the RIFT protocol. Any intermediate spine nodes also act as spine nodes in the RIFT protocol. Leaf nodes in the Dragonfly+ network act as leaf nodes in the RIFT protocol. A group in the Dragonfly+ network acts as a Pod in the RIFT protocol.

[0268] 2) The topology and reachability information of the RIFT protocol are transmitted through TIE. A new KV type needs to be extended to carry group ID information in the Key Value (KV) TIE.

[0269] 3) In the related art, S-TIE supports carrying a default route sent to a lower layer. This route needs to carry group ID information to form a default route indexed by the group ID.

[0270] Example 6

[0271] In Example 6, using the DragonFly+ networking architecture shown in Figure 17, for example, the shortest path from group E to group C exists only in the case of a direct connection between spine node E2 and spine node C1. For spine node E1, the path must be relayed through spine node D1 or spine node A1. The neighbor relationship establishment process is not described again in this example.

[0272] In this disclosed embodiment, the networking within a group is a spine-leaf architecture, with loose connections between groups, forming a fully interconnected network. Groups AE are numbered, with group IDs 100 / 200 / 300 / 400 / 500. Server 1 is connected to leaf node c1, with a prefix of 1. The routing cost value represents the routing propagation pattern, increasing by 1 for each hop within a group and by 100 for each hop between groups.

[0273] FIG20 is a flow chart of a route advertisement method according to a sixth embodiment of the present disclosure. As shown in FIG20 , the method includes the following steps:

[0274] In step S2001, the leaf node device c1 announces the route to the spine node devices C1 and C2.

[0275] The advertised route content is: prefix:prefix1; next-hop:loopback c1; cost=1.

[0276] Step S2002: Routing announcements are made between spine node devices.

[0277] In the embodiment of the present disclosure, the routing between spine node devices is announced. The spine node devices in group C respectively announce the routing from leaf node device 1. Taking spine node device C1 as an example, C1 establishes routing neighbors with spine node devices A2 / E2 according to the connection status of the network and announces the routing to them. The announcement content is: prefix: prefix1; next-hop: loopback C1; cost plus 100 is 101.

[0278] In the disclosed embodiment, after the routing learning between spine node devices is completed, the routing table on spine node device E2 to prefix1 is prefix:prefix1; next-hop:loopback C1; cost101. Since spine node device E1 is not directly connected to spine node device C1 and spine node device C2, the shortest path still requires an intermediate hop. After calculation, the routing table on E2 to prefix1 is prefix:prefix1; next-hop:loopback C1; cost201. E1 and E2 only send the default route to the south. E1 is prefix:0 / 0; next-hop:E1; cost 101. E2 is prefix:0 / 0; next-hop:E2; cost 101.

[0279] In the embodiment of the present disclosure, since E2 can learn the global topology and routing information, E2 can calculate the path information on E1. Through calculation, it is found that for prefix1, the shortest path exists on E2, but not on E1, which triggers the forward deaggregation process. In addition to the default route, E2 sends a detailed route with a cost less than or equal to the default route, which is prefix:prefix1; next-hop:E2; cost 101, indicating that under the same conditions, E2 is better when going to prefix1.

[0280] In summary, the embodiments of the present disclosure provide a routing announcement method and a message forwarding method, setting up two-level routing, the leaf node device nodes do not participate in the global routing, only learn the routes of the spine node devices in the group, and the forwarding path across the group is determined by the spine node device. In one embodiment, the group ID information is carried in the routing announcement, and forwarding is performed with the destination group as the index. In one embodiment, the RIFT protocol extension supports routing in the dragonfly+ network. It solves the problems in the related art that there is no automatic forwarding mechanism based on distributed routing in the dragonfly+ network, and when the network scale is large, a large number of detailed routing tables need to be maintained on the leaf nodes, which puts a heavy burden on the equipment and is not conducive to reducing deployment costs.

[0281] The foregoing description is merely a preferred embodiment of the present disclosure and is not intended to limit the present disclosure. Those skilled in the art will readily appreciate that various modifications and variations of the present disclosure are possible. Any modifications, equivalent substitutions, or improvements made within the principles of the present disclosure shall be included within the scope of protection of the present disclosure.

Claims

1. A routing advertisement method for a Dragonfly network, comprising: The second spine node device receives routing information from the first spine node device in the first group; The second spine node device performs a routing announcement to the second leaf node device in the second group based on the routing information.

2. The method according to claim 1, wherein Before the second spine node device receives routing information from the first spine node device in the first group, the method further includes: The first spine node device receives the intra-group route of the first leaf node device in the first group to obtain the routing information.

3. The method according to claim 1, wherein Before the second spine node device receives routing information from the first spine node device in the first group, the method further includes: Numbering each group in the Dragonfly Plus network in a non-overlapping manner and marking the roles of network devices in each group to distinguish spine node devices from leaf node devices; A routing neighbor relationship of the Dragonfly Plus network is established to obtain routing information of the Dragonfly Plus network.

4. The method according to claim 3, wherein: The manner of marking the roles of the network devices in each group includes at least one of the following: In an Open Shortest Path First (OSPF) protocol, configuring different area numbers for the spine node device and the leaf node device; In an intermediate system to intermediate system (IS-IS) routing protocol, configuring different location numbers for the spine node device and the leaf node device; In the fat tree routing RIFT protocol, different location numbers are configured for the spine node device and the leaf node device.

5. The method according to claim 3, wherein The routing neighbor relationship includes at least: Intra-group routing neighbor relationships between spine and leaf devices in the same group; Routing neighbor relationships between spine node devices in different groups.

6. The method according to claim 5, wherein: The interactive information for establishing the routing neighbor relationship of the Dragonfly Plus network includes at least one of the following: Group identification information of each of the spine node devices in different groups; The routing mode support capability information of the Dragonfly Plus network for each of the spine node devices in different groups.

7. The method according to claim 1, wherein After the second spine node device receives routing information from the first spine node device in the first group, the method further includes: The second spine node device performs cross-group routing announcement based on the routing information.

8. The method according to claim 7, wherein: The second spine node device performs cross-group routing notification according to the routing information, including: The second spine node device sends a cross-group routing announcement to other neighboring spine node devices except the first spine node device, wherein the cross-group routing announcement carries a next-hop address, and the next-hop address is the address of the corresponding second spine node device.

9. The method according to claim 8, wherein The inter-group routing advertisement also carries group identification information to which the leaf node device of the destination prefix belongs.

10. The method according to claim 8, wherein The cross-group routing announcement also carries the group identification information of the second spine node device.

11. The method according to claim 7, wherein: The number of transit hops of the inter-group routing advertisement is one hop.

12. The method according to claim 11, wherein The inter-group routing advertisement carries a preset field, wherein the preset field is used to limit the number of hops of the transit route to one hop.

13. The method according to claim 1, wherein The second spine node device performs a route advertisement to a second leaf node device in the second group according to the routing information, including: The second spine node device obtains forwarding path information of the destination address according to the routing information and selects available path information; The second spine node device performs routing announcement to the leaf node devices in the second group based on the available path information to complete intra-group routing announcement within the second group.

14. The method according to claim 13, wherein The intra-group routing advertisement includes at least one of the following: Destination prefix information; Routing metric / cost information; Node address information of the next-hop spine node device; Group identification information of the second spine node device; The group identification information of the leaf node device corresponding to the destination prefix.

15. The method according to claim 13, wherein: The second spine node device performs a route advertisement to the leaf node devices in the second group according to the available path information, including: In the case where multiple second spine node devices make routing announcements of the same target prefix to the same leaf node device, the leaf node device receives and stores multiple pieces of available path information.

16. The method according to claim 1, wherein After the second spine node device performs a routing advertisement to a second leaf node device in the second group according to the routing information, the method further includes: When the state of the path to the destination prefix changes, the routing information of the second leaf node device in the second group is updated.

17. The method according to claim 16, wherein The situation where the path status to the destination prefix changes includes at least one of the following: All forwarding path information of the second spine node device to the destination prefix does not meet the availability condition; A newly added routing advertisement path of the second spine node device, wherein the routing metric / cost of the newly added routing advertisement path is minimized; The forwarding path information corresponding to the minimum routing metric / cost of the second spine node device is not available.

18. The method according to claim 1, wherein After the second spine node device receives routing information from the first spine node device in the first group, the method further includes: The current second spine node device broadcasts a default route announcement to the second leaf node device and other spine node devices in the second group, wherein the default route announcement carries default prefix information, and the next hop indicated by the default prefix information is the second spine node device.

19. The method according to claim 18, wherein After the second spine node device receives routing information from the first spine node device in the first group, the method further includes: The current second spine node device calculates the routing information on other spine node devices in the second group and makes a prefix routing announcement based on the calculation result.

20. The method according to claim 19, wherein The performing prefix routing advertisement according to the calculation result includes at least one of the following: When the second spine node device has a better forwarding path than other spine node devices, the second spine node device advertises a prefix route to the second group, wherein the routing metric / cost of the prefix route advertisement is less than the routing metric / cost of the default route advertisement; When the current second spine node device has a better forwarding path than other spine node devices, the current second spine node device performs a prefix route announcement to the second group, wherein the prefix route announcement is used to announce that the forwarding route with the next hop being the current second spine node device is a non-optimal route or an unreachable route.

21. The method according to claim 19, wherein The second spine node device performs prefix routing notification according to the calculation result, including: The second spine node device performs a positive de-aggregation routing announcement or a negative de-aggregation routing announcement through the RIFT protocol according to the calculation result to implement the prefix routing announcement.

22. A message forwarding method, comprising: The leaf node device receives the data message and determines whether it is an inter-group data message according to the destination prefix address in the data message; In the case where the data message needs to cross groups, the leaf node device forwards the data message to the destination spine node device according to the locally stored forwarding path table entry.

23. The method according to claim 22, wherein The leaf node device forwards the data message to the destination spine node device according to the locally stored forwarding path table entry, including: The leaf node device determines the destination spine node device address based on the locally stored forwarding path table entry; The leaf node device determines a forwarding path based on the congestion status and routing metric / cost of the forwarding path to forward the data message to the destination spine node device.

24. The method according to claim 23, wherein The leaf node device determines a forwarding path according to the congestion status and routing metric / cost of the forwarding path to forward the data message to the destination spine node device, including: When the congestion status of multiple forwarding paths is not congested and the routing metrics / costs are equal, the data message is forwarded to the destination spine node device in accordance with the equal cost multi-path routing ECMP method.

25. The method according to claim 22, wherein After the leaf node device forwards the data traffic message to the destination spine node device according to the locally stored forwarding path table entry, the method further includes: The destination spine node device confirms the available forwarding path based on the path forwarding information and forwards the data message.

26. The method according to claim 22, wherein Before the leaf node device receives the data message, the method further includes: The correspondence between the data message and the group identification information of the destination group is obtained through pre-configuration or message interaction between leaf node devices of different groups.

27. The method according to claim 22, wherein The leaf node device forwards the data message to the destination spine node device, wherein the data message carries the group identification information of the destination group.

28. The method according to claim 27, wherein The group identification information is sent from the control device to the leaf node device and encapsulated in the data message.

29. The method according to claim 27, wherein The group identification information is encapsulated in an IPv6 extension header or a reserved field of the data message.

30. A computer-readable storage medium having a computer program stored therein, wherein: When the computer program is executed by a processor, the method according to any one of claims 1 to 29 is implemented.

31. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the method according to any one of claims 1 to 29 when executing the computer program.