Routing management methods, devices and readable storage media
By establishing an autonomous system topology in the network and using as-link messages to manage routing information, the problems of slow routing convergence rate and high resource consumption in existing technologies are solved, achieving the effects of fast convergence and resource saving.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2024-11-25
- Publication Date
- 2026-05-26
Smart Images

Figure CN122093300A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of network communication technology, and in particular to a routing management method, apparatus and readable storage medium. Background Technology
[0002] Border Gateway Protocol (BGP) is a routing protocol used to exchange Network Layer Reachability Information (NLRI) between routing domains. A routing domain is also known as an Autonomous System (AS). The modern Internet is a large network composed of multiple interconnected ASs, and BGP can be used both within a single AS and between different ASs. Different nodes in the Internet can establish BGP neighbor relationships and then exchange NLRIs through BGP update messages. Based on this, each node in the network can establish local routing information through the exchange of BGP messages and then perform data transmission based on this local routing information.
[0003] During data transmission, each node manages its local routing information based on real-time network conditions. For example, if a node detects a failure in a neighboring node while transmitting data, it can use a BGP update message to notify other neighboring nodes of the failure. These neighboring nodes, based on the BGP update message, then remove the faulty routing information from their local routing information, such as removing routing information indicating that the next-hop address corresponding to the address prefix of the data stream is the faulty node. This prevents other neighboring nodes from forwarding the data stream to the faulty node, thus avoiding data loss. However, current routing information management is implemented at the granularity of an address prefix carried in the BGP update message. Since a path failure may cause the next-hop addresses of multiple address prefixes to become unreachable, multiple BGP update messages are needed to cancel the routes one by one. This results in high communication resource consumption and low efficiency. Summary of the Invention
[0004] This application provides a routing management method, apparatus, and readable storage medium to solve the problems of slow routing convergence rate and high communication resource consumption in the prior art.
[0005] To achieve the above objectives, this application adopts the following technical solution:
[0006] Firstly, a routing management method is provided. This method is applied to a first node, and can also be applied to modules within the first node, such as chips or chip systems. The routing management method may include: the first node receiving a first message carrying information about the ASs it traverses during its transmission from upstream to the first node; the first node establishing a topology based on the AS information carried in the first message, which indicates the connection relationships between the ASs; and thus, the first node can manage local routing information according to the topology.
[0007] Based on this scheme, the first node can establish the AS topology according to the AS information traversed during the transmission of the first message. In this way, the first node can associate its local routing information with each AS. When the first node manages its local routing information, it can manage multiple routing information entries at the AS granularity. This results in faster route convergence and lower communication resource consumption.
[0008] In one possible implementation, the first message type can be an Autonomous System-Link (AS-Link) message, wherein the first message includes a first field indicating that the first message is a learning up message. Disseminating AS information through the transmission of up messages can adapt to complex and large-scale network architectures, enabling each node to learn the connection relationships between ASs in a timely manner.
[0009] In one possible implementation, the first message further includes a second field, which carries information about the AS that the first message passes through during its transmission from the upstream to the first node. This improves the scalability of the first message.
[0010] In one possible implementation, the first message further includes a third field, which carries information about the AS corresponding to the first node. Specifically, when sending the first message, the upstream neighbor node carries information about its downstream neighbor node, i.e., the AS corresponding to the first node, in the third field.
[0011] In one possible implementation, the first message further includes a fourth field, which carries information about the AS corresponding to the upstream neighbor node. For example, if the second node is an upstream neighbor node of the first node, when the second node sends the first message to the first node, it carries information about its local AS in the fourth field of the first message.
[0012] In one possible implementation, the first message further includes a fifth field, which carries information about the AS learned by the second node that sent the first message. For example, the fifth field carries information about the AS corresponding to the third node and the AS corresponding to the second node; wherein the third node is an upstream neighbor node of the second node, and the first message is transmitted from the third node to the second node, and then from the second node to the first node. In this way, the AS information can be quickly propagated through the transmission of the first message, enabling each node along the transmission path of the first message to quickly learn the AS information.
[0013] In one possible implementation, the as-link message also includes a sixth field, which indicates the type of information carried by the as-link message. For example, the sixth field can be used to determine whether the as-link message carries learning information, deletion information, or loop prevention information. This allows the first node to quickly identify the information type, thereby quickly determining the subsequent processing flow.
[0014] In one possible implementation, the first message may further include a seventh field and an eighth field, wherein the seventh field is used to indicate the AS corresponding to the source node of the first message, and the eighth field is used to indicate the device identifier of the source node of the first message.
[0015] In one possible implementation, the first node can also transmit the first message to other neighboring nodes, enabling the other neighboring nodes to also learn the AS information. For example, the fourth node is a downstream neighboring node of the first node. The first node generates a second message based on the first message, wherein the second message carries the AS information corresponding to the first node and the AS information corresponding to the fourth node, and then transmits the second message to the fourth node.
[0016] In one possible implementation, when transmitting messages, the first node needs to avoid AS loops and ensure that the AS corresponding to the downstream fourth node is different from the AS of the upstream second node.
[0017] In one possible implementation, after the first node establishes the topology, it can associate its local routing information with the ASs (Application Servers) within the topology. The local routing information includes an address prefix, a next-hop address, and AS information. Based on the AS information in its local routing information, the first node associates the address prefix, next-hop address, and ASs in the topology to obtain an association relationship. This association relationship represents the correspondence between ASs, address prefixes, and next-hop addresses. In this way, the first node can manage its local routing information according to the association relationship, achieving the goal of managing multiple routing information entries at the AS granularity at once.
[0018] In one possible implementation, when a link failure occurs, the second node sends a third message to the first node. This third message carries unreachable information, indicating that the first AS is unreachable. Upon receiving the third message, the first node determines the target route information in its local routing information. The address prefix corresponding to the target route information is the address prefix corresponding to the first AS in the association relationship, and the next-hop address corresponding to the target route information is the address of the second node that sent the third message. Then, the first node deletes the target route information. In this way, the first node can delete unusable addresses from the next-hop addresses corresponding to multiple address prefixes based on a single message, deleting multiple routing entries at the AS granularity at once, resulting in faster fault convergence.
[0019] In one possible implementation, the third message type can be an as-link message, wherein the third message includes a ninth field, which indicates that the third message is a deletion down message. Disseminating unreachable information through the transmission of down messages can adapt to complex and large-scale network architectures, enabling nodes to promptly detect faulty links.
[0020] In one possible implementation, the third message includes a tenth field, which carries unreachable information, thereby improving the scalability of the third message.
[0021] In one possible implementation, the third message also includes as-path information, which indicates the AS (Automatic Service) information traversed by the third message during its transmission from the upstream to the first node. The first node can transmit the third message based on the as-path information to avoid loops.
[0022] In one possible implementation, if the address prefix corresponding to the first AS has a usable next-hop address, the third message does not need to be propagated further, thus saving communication resources. If the address prefix corresponding to the first AS does not have a corresponding usable next-hop address, the first node sends the third message to its downstream neighboring nodes.
[0023] In one possible implementation, the first node avoids loops based on the AS-path information carried in the third message. Specifically, if the AS-path information does not include the AS corresponding to the fourth node, the first node forwards the third message to the fourth node.
[0024] In one possible implementation, before transmitting the first message, each node needs to negotiate its AS-link capability. The first node sends capability information to the node to which it wants to establish a neighbor relationship, indicating that the first node has the ability to send AS-link messages. If the node to which it wants to establish a neighbor relationship also has the ability to send AS-link messages, the two can establish a neighbor relationship and send AS-link messages to each other to learn AS information.
[0025] Secondly, a routing management method is provided. This method is applied to a second node, or to modules within the second node, such as chips or chip systems. The routing management method may include: the second node acquiring a first message carrying information about the ASs it traverses during transmission; the second node sending the first message to a first node, where the first node is a neighbor node of the second node; and the first node establishing a topology based on the AS information carried in the first message, which indicates the connection relationships between ASs; then, the first node can manage local routing information according to the topology. This allows the first node to manage multiple routing information entries at the AS granularity, resulting in faster route convergence and lower communication resource consumption.
[0026] In one possible implementation, the first message type can be an Autonomous System-Link (AS-Link) message, wherein the first message includes a first field indicating that the first message is a learning up message. Disseminating information between ASs through the transmission of up messages can adapt to complex and large-scale network architectures, enabling each node to learn the connection relationships between ASs in a timely manner.
[0027] In one possible implementation, the first message further includes a second field, which carries information about the AS that the first message passes through during its transmission from the upstream to the first node. This improves the scalability of the first message.
[0028] In one possible implementation, the first message further includes a third field, which carries information about the AS corresponding to the first node. Specifically, when sending the first message, the upstream neighbor node carries information about its downstream neighbor node, i.e., the AS corresponding to the first node, in the third field.
[0029] In one possible implementation, the first message also includes a fourth field, which carries information about the AS corresponding to the second node.
[0030] In one possible implementation, the first message further includes a fifth field, which carries information about the AS learned by the second node. For example, the fifth field carries information about the AS corresponding to the third node and the AS corresponding to the second node, where the third node is an upstream neighbor node of the second node. The first message is transmitted from the third node to the second node, and then from the second node to the first node. In this way, the AS information can be quickly propagated through the transmission of the first message, enabling each node along the transmission path of the first message to quickly learn the AS information.
[0031] In one possible implementation, the as-link message also includes a sixth field, which indicates the type of information carried by the as-link message. For example, the sixth field can be used to determine whether the as-link message carries learning information, deletion information, or loop prevention information. This allows the first node to quickly identify the information type, thereby quickly determining the subsequent processing flow.
[0032] In one possible implementation, the first message may further include a seventh field and an eighth field, wherein the seventh field is used to indicate the AS corresponding to the source node of the first message, and the eighth field is used to indicate the device identifier of the source node of the first message.
[0033] In one possible implementation, when the second node confirms the existence of a new neighbor node, the second node can send an up message to other neighbor nodes. The up message carries the AS information corresponding to the new neighbor node. Other nodes add the AS information corresponding to the new neighbor node to the topology relationship established locally based on the up message.
[0034] In one possible implementation, when the second node detects that the first AS is unreachable, the second node sends a third message to the first node. This third message carries unreachability information, indicating that the first AS is unreachable. Upon receiving the third message, the first node determines the target route information in its local routing information. The address prefix corresponding to the target route information is the address prefix corresponding to the first AS in the association relationship, and the next-hop address corresponding to the target route information is the address of the second node that sent the third message. Then, the first node deletes the target route information. In this way, the first node can delete unusable addresses from the next-hop addresses corresponding to multiple address prefixes based on a single message, deleting multiple routing entries at the AS granularity at once, resulting in a faster fault convergence rate.
[0035] In one possible implementation, the third message type can be an as-link message, wherein the third message includes a ninth field, which indicates that the third message is a deletion down message. Disseminating unreachable information through the transmission of down messages can adapt to complex and large-scale network architectures, enabling nodes to promptly detect faulty links.
[0036] In one possible implementation, the third message includes a tenth field, which carries unreachable information, thereby improving the scalability of the third message.
[0037] In one possible implementation, the third message also includes as-path information, which indicates the AS (Automatic Service) information traversed during the transmission of the third message from upstream to the first node. The second node can then transmit the third message to its downstream neighboring nodes based on the as-path information, thus avoiding loops.
[0038] In one possible implementation, when the second node confirms a neighbor node to be deleted, the second node can send a down message to other neighbor nodes. The down message carries the AS information corresponding to the neighbor node to be deleted. Other nodes delete the AS information corresponding to the neighbor node to be deleted in the topology relationship established locally according to the down message.
[0039] Thirdly, a routing forwarding device is provided, which serves as a first node and includes:
[0040] The receiving unit is used to: receive a first message, the first message carrying information about at least one Autonomous System (AS) that the first message passes through during transmission; the processing unit is used to: establish a topology based on the information of at least one AS, the topology including at least one AS; the topology is used by the first node to manage local routing information based on the topology.
[0041] In one possible implementation, the first message is of type Autonomous System-Link (AS-Link) message, and the AS-Link message includes a first field; the first field is used to indicate that the first message is a learning up message.
[0042] In one possible implementation, the first message also includes a second field; information of at least one AS is located in the second field.
[0043] In one possible implementation, the first message also includes a third field, which carries information about the AS corresponding to the first node.
[0044] In one possible implementation, the first message further includes a fourth field, which carries information about the AS corresponding to the second node; the second node is a neighboring node of the first node, and the first message is sent from the second node to the first node.
[0045] In one possible implementation, the first message further includes a fifth field, which carries information about the AS corresponding to the third node and the AS corresponding to the second node; the third node is a neighboring node of the second node, and the first message is sent from the third node to the second node.
[0046] In one possible implementation, the as-link message also includes a sixth field, which is used to indicate that the as-link message carries learning information, deletion information, or loop prevention information.
[0047] In one possible implementation, the first message further includes a seventh field and an eighth field, wherein the seventh field is used to indicate the AS corresponding to the source node of the first message; and the eighth field is used to indicate the device identifier of the source node of the first message.
[0048] In one possible implementation, the routing and forwarding device further includes a sending unit; the sending unit is used to send a second message obtained based on the first message to the fourth node; the second message includes information of the AS corresponding to the first node and information of the AS corresponding to the fourth node, the fourth node being a neighbor node of the first node.
[0049] In one possible implementation, the AS corresponding to the fourth node is different from the AS corresponding to the second node.
[0050] In one possible implementation, the processing unit is further configured to: obtain local routing information, the local routing information including an address prefix, a next-hop address, and AS information; and associate the address prefix and the next-hop address with at least one AS included in the topology according to the AS information of the local routing information to obtain an association relationship; the association relationship includes at least one AS, an address prefix, and a next-hop address.
[0051] In one possible implementation, the receiving unit is further configured to: receive a third message, the third message carrying unreachable information, the unreachable information including information of a first AS, the first AS being included in at least one AS; the processing unit is further configured to: delete target routing information in the local routing information; the address prefix corresponding to the target routing information is the address prefix corresponding to the first AS in the association relationship; the next-hop address corresponding to the target routing information is the address corresponding to the second node, the second node being a neighbor node of the first node, and the third message being sent from the second node to the first node.
[0052] In one possible implementation, the third message is of type as-link and includes a ninth field indicating that the third message is a delete down message.
[0053] In one possible implementation, the third message includes a tenth field, which carries unreachable information.
[0054] In one possible implementation, the third message also includes as-path information, which indicates information about at least one AS that the third message passes through during transmission.
[0055] In one possible implementation, the sending unit is further configured to: send a third message to a fourth node, where the fourth node is a neighbor node of the first node, if there is no corresponding available next-hop address for the address prefix corresponding to the first AS.
[0056] In one possible implementation, the sending unit is specifically used to: send a third message to the fourth node when the as-path information does not include the AS corresponding to the fourth node.
[0057] In one possible implementation, the sending unit is further configured to send capability information to the node to which the neighbor relationship is to be established, the capability information being used to indicate that the first node can send the first message.
[0058] Fourthly, a routing forwarding device is provided, which serves as a second node and includes:
[0059] The acquisition unit is used to: acquire a first message, the first message carrying information about at least one Autonomous System (AS) that the first message passes through during transmission, the first message being used by the first node to establish a topology based on the information of at least one AS, the topology including at least one AS, the topology being used by the first node to manage local routing information based on the topology; the sending unit is used to: send the first message to the first node, the first node being a neighbor node of the second node.
[0060] In one possible implementation, the first message is of type Autonomous System-Link (AS-Link) message, which includes a first field indicating that the first message is a learning-up message.
[0061] In one possible implementation, the first message also includes a second field, in which information of at least one AS is located.
[0062] In one possible implementation, the first message also includes a third field, which carries information about the AS corresponding to the first node.
[0063] In one possible implementation, the first message also includes a fourth field, which carries information about the AS corresponding to the second node.
[0064] In one possible implementation, the first message further includes a fifth field, which carries information about the AS corresponding to the third node and the AS corresponding to the second node. The third node is a neighboring node of the second node, and the first message is sent from the third node to the second node.
[0065] In one possible implementation, the as-link message also includes a sixth field, which is used to indicate that the as-link message carries learning information, deletion information, or loop prevention information.
[0066] In one possible implementation, the first message further includes a seventh field and an eighth field, wherein the seventh field is used to indicate the AS corresponding to the source node of the first message, and the eighth field is used to indicate the device identifier of the source node of the first message.
[0067] In one possible implementation, the routing and forwarding device further includes a processing unit, which is configured to: when the second node confirms the existence of a new neighbor node, establish a first message, the first message also carrying information of the AS corresponding to the new neighbor node, the first message being used to instruct the first node to add the AS corresponding to the new neighbor node in the topology.
[0068] In one possible implementation, the acquisition unit is further configured to: acquire a third message, the third message carrying unreachable information, the unreachable information including information of a first AS, the first AS being included in at least one AS; the third message is used by the first node to delete the target routing information in the local routing information according to the third message; the address prefix corresponding to the target routing information is the address prefix corresponding to the first AS in the association relationship; the next-hop address corresponding to the target routing information is the address corresponding to the second node; the sending unit is further configured to: send the third message to the first node.
[0069] In one possible implementation, the third message is of type as-link and includes a ninth field indicating that the third message is a delete down message.
[0070] In one possible implementation, the third message includes a tenth field, which carries unreachable information.
[0071] In one possible implementation, the third message also includes as-path information, which indicates information about at least one AS that the third message passes through during transmission.
[0072] In one possible implementation, the processing unit is further configured to: when the second node confirms the existence of a neighbor node to be deleted, establish a third message, the third message also carrying information of the AS corresponding to the neighbor node to be deleted, the third message being used to instruct the first node to delete the AS corresponding to the neighbor node to be deleted in the topology.
[0073] Fifthly, a routing and forwarding apparatus is provided, comprising: a processor; the processor is configured to be coupled to a memory, and after reading instructions from the memory, execute, according to the instructions, the routing management method as described in the first aspect and any possible implementation thereof.
[0074] In one possible implementation, the routing and forwarding device further includes a memory for storing computer instructions.
[0075] In one possible implementation, the routing and forwarding device further includes a communication interface for communicating with other devices. Exemplarily, this communication interface may be a transceiver, an input / output interface, an interface circuit, an output circuit, an input circuit, a pin, or related circuitry.
[0076] In one possible implementation, the routing forwarding device can be a chip or a chip system. When the routing forwarding device is a chip system, it can be composed of chips or may include chips and other discrete components.
[0077] In one possible implementation, when the routing and forwarding device is a chip or chip system, the aforementioned communication interface can be an input / output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip or chip system. The aforementioned processor can also be embodied as a processing circuit or logic circuit.
[0078] In a sixth aspect, a routing and forwarding apparatus is provided, comprising: a processor; the processor is configured to be coupled to a memory, and after reading instructions from the memory, execute, according to the instructions, the routing management method as described in the second aspect and any possible implementation thereof.
[0079] In one possible implementation, the routing and forwarding device further includes a memory for storing computer instructions.
[0080] In one possible implementation, the routing and forwarding device further includes a communication interface for communicating with other devices. Exemplarily, this communication interface may be a transceiver, an input / output interface, an interface circuit, an output circuit, an input circuit, a pin, or related circuitry.
[0081] In one possible implementation, the routing forwarding device can be a chip or a chip system. When the routing forwarding device is a chip system, it can be composed of chips or may include chips and other discrete components.
[0082] In one possible implementation, when the routing and forwarding device is a chip or chip system, the aforementioned communication interface can be an input / output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip or chip system. The aforementioned processor can also be embodied as a processing circuit or logic circuit.
[0083] In a seventh aspect, a computer-readable storage medium is provided, which stores instructions that, when executed on a computer, cause the computer to perform the routing management method described in the first aspect and any possible implementation thereof.
[0084] Eighthly, a computer-readable storage medium is provided that stores instructions which, when executed on a computer, cause the computer to perform the routing management method described in the second aspect and any possible implementation thereof.
[0085] Ninthly, a computer program product is provided, which, when run on a processor, causes the processor to execute the routing management method described in the first aspect and any possible implementation thereof.
[0086] In a tenth aspect, a computer program product is provided, which, when run on a processor, causes the processor to execute the routing management method described in the second aspect and any possible implementation thereof.
[0087] Eleventhly, a routing and forwarding system is provided, comprising a first node and a second node, wherein the first node and the second node are neighbor nodes to each other; wherein the first node executes the routing management method as described in the first aspect and any possible implementation thereof; and the second node executes the routing management method as described in the second aspect and any possible implementation thereof.
[0088] The technical effects of any of the design methods in aspects two through eleven can be found in the technical effects of different design methods in aspect one, and will not be repeated here. Attached Figure Description
[0089] Figure 1 This is a schematic diagram of the structure of a ridge lobe network provided in an embodiment of this application;
[0090] Figure 2A schematic diagram of a 5-Stage CLOS network architecture provided in an embodiment of this application;
[0091] Figure 3 A schematic diagram of another 5-Stage CLOS network architecture provided in this application embodiment;
[0092] Figure 4 A schematic diagram of a network architecture for a DF+ networking method provided in an embodiment of this application;
[0093] Figure 5 A flowchart illustrating a routing management method provided in an embodiment of this application;
[0094] Figure 6 Provided for the embodiments of this application Figure 2 The diagram shows the AS partitioning of each node in the network architecture shown.
[0095] Figure 7 Provided for the embodiments of this application Figure 3 The diagram shows the AS partitioning of each node in the network architecture shown.
[0096] Figure 8 Provided for the embodiments of this application Figure 4 The diagram shows the AS partitioning of each node in the network architecture shown.
[0097] Figure 9 A schematic diagram of a topology provided in an embodiment of this application;
[0098] Figure 10 A schematic diagram of yet another topology provided in the embodiments of this application;
[0099] Figure 11 A schematic diagram of yet another topology provided in the embodiments of this application;
[0100] Figure 12 A schematic diagram of yet another topology provided in the embodiments of this application;
[0101] Figure 13 A schematic diagram of yet another topology provided in the embodiments of this application;
[0102] Figure 14 A schematic diagram of yet another topology provided in the embodiments of this application;
[0103] Figure 15 A flowchart illustrating another routing management method provided in an embodiment of this application;
[0104] Figure 16 A schematic diagram illustrating an association relationship provided for an embodiment of this application;
[0105] Figure 17 A message format diagram of an as-link message provided in an embodiment of this application;
[0106] Figure 18 A format diagram of the link attribute value field of an as-link message provided in an embodiment of this application;
[0107] Figure 19 A diagram illustrating the format of the link attribute value field in another as-link message provided in this application embodiment;
[0108] Figure 20 A diagram illustrating the format of the link attribute value field in another as-link message provided in this application embodiment;
[0109] Figure 21 A schematic diagram illustrating yet another association relationship provided in an embodiment of this application;
[0110] Figure 22 A schematic diagram illustrating yet another association relationship provided in an embodiment of this application;
[0111] Figure 23 A schematic diagram illustrating yet another association relationship provided in an embodiment of this application;
[0112] Figure 24A A schematic diagram illustrating yet another association relationship provided in an embodiment of this application;
[0113] Figure 24B A schematic diagram illustrating yet another association relationship provided in an embodiment of this application;
[0114] Figure 25 This is a schematic diagram of the structure of a routing and forwarding device provided in an embodiment of this application;
[0115] Figure 26 This is a schematic diagram of another routing and forwarding device provided in an embodiment of this application;
[0116] Figure 27 This is a schematic diagram of another routing and forwarding device provided in an embodiment of this application;
[0117] Figure 28 This is a schematic diagram of another routing and forwarding device provided in an embodiment of this application. Detailed Implementation
[0118] Before introducing the embodiments of this application, some terms and related technologies involved in the embodiments of this application will be explained. It should be noted that the following explanations are for the purpose of making the embodiments of this application easier to understand, and should not be regarded as a limitation on the scope of protection claimed by the embodiments of this application.
[0119] BGP currently has five message types: open, update, notification, keepalive, and route refresh. The BGP message interaction process includes the following steps:
[0120] 1. Different routers first negotiate capabilities using open messages. After successful negotiation, they establish a BGP peer connection. Subsequently, BGP peers can exchange update, notification, keepalive, and route-refresh messages.
[0121] 2. BGP peers use update messages to exchange routing information and perform route advertising or revocation operations. Update messages contain routing information such as path attributes and NLRI (Non-Limited Routing Information). A router that receives an update message from one BGP peer will also forward the update message to other peers to propagate routing information.
[0122] 3. BGP peers request each other to resend routing information by publishing route-refresh messages. This allows for dynamic updates to the BGP routing table and the Internet Protocol (IP) routing table, and the execution of new routing policies, without interrupting the BGP connection.
[0123] 4. When the router detects an error state, it sends a notification message to its BGP peers and terminates the BGP connection.
[0124] 5. BGP peers maintain the validity of BGP connections by periodically sending keepalive messages.
[0125] A data center (DC) is a physical concept referring to a centralized space (such as a computer room) where information is processed, stored, transmitted, exchanged, and managed. Data centers include facilities such as servers, storage devices, switches, routers, and firewalls.
[0126] A point of delivery (POD) is the basic physical design unit of a data center. A physical data center can be divided into one or more physical partitions, each of which is called a POD. A data center can include multiple PODs.
[0127] Traditional data center networks consist of a core layer, an aggregation layer, and an access layer. Access switches in the access layer connect to servers, providing network access. Aggregation switches in the aggregation layer connect to the access switches in the access layer, providing interconnection within the access layer. Core switches in the core layer connect to the aggregation switches in the aggregation layer, providing interconnection within the aggregation layer. Additionally, core switches connect to the local area network (WAN) / core router, enabling communication between the data center and external networks.
[0128] With changing market demands and the development of network technology, data center networks are widely implemented using spine-leaf networks. A spine-leaf network consists of a spine layer and leaf layers. The leaf switches in the leaf layer are the access switches mentioned above, used to connect servers and provide network access. The spine switches in the spine layer are the aggregation switches mentioned above, connected in a full-mesh network with the leaf switches in the leaf layer, providing high-speed forwarding for the leaf switches. Additionally, some leaf switches can also connect to WAN routers or core routers to enable communication between the data center and external networks. In current network scenarios, traffic between different servers within the data center accounts for the majority, while traffic between servers within the data center and external networks is relatively small.
[0129] For example, Figure 1 This is a schematic diagram of a ridge lobe network provided in this application. Figure 1 As shown, the network includes m spine switches from spine switch 1 to spine switch m, and n leaf switches from leaf switch 1 to leaf switch n. The m spine switches and n leaf switches are connected in a full mesh, where m and n are positive integers greater than or equal to 2.
[0130] Optionally, in the data center network, Figure 1 In the spine-leaf network configuration shown, the vast majority of leaf switches in the spine-leaf network are used to connect to servers, while a smaller number of leaf switches are used to connect to the WAN router or core router. The number of leaf switches in the spine-leaf network is related to the number of access ports required, and the number of spine switches is related to the bandwidth required between the leaf switches. Typically, the number of spine switches is less than the number of leaf switches.
[0131] Figure 1The spine-leaf network shown is essentially a 3-stage CLOS network. The spine switch belongs to the middle layer of the 3-stage CLOS structure, the leaf switch connected to the transmitting device belongs to the input layer of the 3-stage CLOS structure, and the leaf switch connected to the receiving device belongs to the output layer of the 3-stage CLOS structure. Note that CLOS is named after Charles Clos, a researcher at Bell Labs.
[0132] Typically, a 3-Stage CLOS spine network can meet the networking requirements of a data center. However, in some hyperscale data center networking scenarios, a 3-Stage CLOS spine network may not meet the data center's expansion needs. As a possible implementation, multiple different 3-Stage CLOS spine networks can be interconnected through a core switch to expand into a 5-Stage CLOS network.
[0133] For example, Figure 2 This is a schematic diagram of a 5-Stage CLOS network provided in this application. Figure 2 As shown, the network includes x PODs, from POD1 to PODx; each POD comprises m spine switches and n leaf switches, with all m spine switches and n leaf switches connected in a mesh configuration. Taking any one POD as an example, POD i includes spine switches i-1 to spine switch im and leaf switches i-1 to leaf switch in, with all spine switches i-1 to spine switch im and leaf switches i-1 to leaf switch in connected in a mesh configuration, where i ranges from 1 to x. Additionally, the network includes core switches 1 to core switches y. The spine switches of each POD are connected to core switches 1 to core switches y. Based on... Figure 2 The network shown has each POD as a spine network with a 3-Stage CLOS structure, and multiple PODs are interconnected through a core switch to form a 5-Stage CLOS network.
[0134] exist Figure 2 In the 5-Stage CLOS network shown, each POD is a 3-Stage CLOS spine-leaf network. Different PODs are interconnected through a core switch, and traffic between different PODs can be reached through five hops: "leaf switch → spine switch → core switch → spine switch → leaf switch". The core switch used to interconnect different PODs can also be called a super spine switch or a core spine switch.
[0135] Alternatively, to simplify the connection complexity of the core switches, each core switch need not be connected to all the spine switches. As one possible implementation, the core switches can be divided into m groups, with each of the m spine switches in a POD connected to one of the m groups of core switches, and different spine switches in the same POD connected to different groups of core switches.
[0136] For example, Figure 3 A schematic diagram of another 5-Stage CLOS network provided in this application. (See diagram below.) Figure 3 As shown, the network includes x PODs, from POD1 to PODx. Figure 3 POD1 to PODx in Figure 2 The same applies to [the text], you can refer to [the text]. Figure 2 The description in the text will not be repeated here.
[0137] In addition, the network includes m groups of core switches, each group comprising y core switches. Taking any one of these groups as an example, the k-th group includes core switches k-1 to ky, where k ranges from 1 to m. Each POD contains m spine switches connected to the m groups of core switches. For instance, spine switch ik in POD i is connected to core switches k-1 to ky; similarly, spine switch 1-1 in POD1, spine switch 2-1 in POD2, ..., and spine switch x-1 in PODx are all connected to core switches 1-1 to 1-y.
[0138] Optionally, multiple PODs can be expanded using a Dragonfly (DF)+ networking approach. Specifically, the spine switches in multiple different PODs are directly connected, thereby expanding to form a larger-scale network.
[0139] For example, Figure 4 This is a schematic diagram of a DF+ networking method provided in this application. Figure 4 As shown, the data center includes x PODs, from POD1 to PODx. Figure 4 POD1 to PODx can be referenced. Figure 1 The description of PODs in the document will not be repeated here. Additionally, Figure 4The spine switches in different PODs are directly connected. For example, spine switch ik in POD i is directly connected to spine switches 1-k in POD 1 through xk in POD x. Similarly, spine switch 1-1 in POD 1 is directly connected to spine switches 2-1 in POD 2, 3-1 in POD 3, ..., and x-1 in POD x. Likewise, spine switch 1-m in POD 1 is directly connected to spine switches 2-m in POD 2, 3-m in POD 3, ..., and xm in POD x.
[0140] Using the above Figures 1 to 4 In the data center network shown, interconnected leaf switches and spine switches, as well as spine switches and core switches, can establish BGP neighbors using interface addresses, enabling communication between different switches based on BGP. Each leaf switch connects to a server, and the leaf switch can use BGP update messages to advertise the server's host route or network segment route to its neighboring nodes. These BGP update messages can be forwarded between BGP neighbors, allowing any switch in the network to obtain the server's host route or network segment route and learn the next-hop address corresponding to that route, thus establishing local routing information.
[0141] During data transmission, each switch manages its local routing information based on real-time network conditions. For example, when a communication link in the network fails, links from some switches to at least one server may become unavailable. After the failure, when these switches forward data to at least one server, they will find that the next-hop address corresponding to the host route or network segment route of at least one server is invalid. Consequently, these switches can notify upstream switches that the host route or network segment route of at least one server is unreachable. Currently, switches transmit unreachable information via update messages, and upstream switches cancel routing information at the granularity of the address prefix carried in the update message. However, a link failure may cause multiple address prefixes to become unreachable, which may require multiple update messages to cancel routes sequentially. This results in higher communication resource consumption and lower efficiency.
[0142] To address the aforementioned issues, this application provides a route management method capable of managing one or more routing information entries at a time at the AS (Automatic Service) granularity. This significantly improves the speed of route convergence and conserves communication resources.
[0143] The technical solutions of the embodiments of this application will be described below with reference to the accompanying drawings. In the description of this application, unless otherwise stated, " / " indicates that the objects before and after are in an "or" relationship. For example, A / B can represent A or B. "And / or" in this application is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone, where A and B can be singular or plural. Furthermore, in the description of this application, unless otherwise stated, "multiple" refers to two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple. Furthermore, to facilitate a clear description of the technical solutions in the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with substantially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and that "first" and "second" are not necessarily different. Meanwhile, in the embodiments of this application, words such as "exemplarily" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design scheme described as "exemplarily" or "for example" in the embodiments of this application should not be construed as being better or more advantageous than other embodiments or design schemes. Specifically, the use of words such as "exemplarily" or "for example" is intended to present related concepts in a concrete manner for ease of understanding. In addition, the network and business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions in the embodiments of this application and do not constitute a limitation on the technical solutions provided in the embodiments of this application. Those skilled in the art will understand that with the evolution of networks and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0144] Before introducing the routing management method provided in the embodiments of this application, the routing forwarding system to which the routing management method of this application is applied will be introduced first.
[0145] Optionally, the routing management method provided in this application applies to a routing and forwarding system including... Figure 1 , Figure 2 , Figure 3 or Figure 4 The network shown in this application includes leaf switches, spine switches, or core switches that can execute the routing management method provided in this application.
[0146] Optionally, BGP neighbors can be established between leaf switches and spine switches, and between spine switches and core switches, which are interconnected in the routing and forwarding system, and communication between various devices in the routing and forwarding system is based on BGP.
[0147] In one possible scenario, a leaf switch has a server connected to it. Any leaf switch can advertise the server's host routes and network segment routes to its connected spine switches via BGP messages. The spine switches can then forward these server routes and network segment routes to other leaf switches within the same Point of View (POD) via BGP messages. This allows both spine switches and leaf switches within the same POD to learn the server's host routes and network segment routes based on BGP. Additionally, the spine switches can forward the server's network segment routes to the core switch via BGP messages. The core switch can then forward these routes to devices in other PODs via BGP messages, enabling these devices to learn the server's network segment routes based on BGP. In other words, devices in the network can exchange host routes or network segment routes of servers connected to leaf switches via BGP messages.
[0148] In one possible implementation, different leaf switches belong to different ASs, multiple spine switches within the same POD belong to the same AS, spine switches in different PODs belong to different ASs, and multiple core switches belong to the same AS. It should be understood that grouping spine switches within the same POD to the same AS allows for one-hop routing between any two leaf switches within the POD. Furthermore, grouping all core switches to the same AS allows for one-hop routing between spine switches in different PODs.
[0149] It should be understood that the above Figures 1 to 4 The networks and devices illustrated are illustrative and do not constitute a limitation on the technical solutions provided in the embodiments of this application. Those skilled in the art will recognize that, with the evolution of network architecture and the emergence of new service scenarios, the technical solutions provided in the embodiments of this application are equally applicable to similar networks.
[0150] The routing management method provided in this application embodiment can be applied to... Figures 1 to 4 In the network shown, the following will combine Figures 1 to 4 The network shown describes the routing management method provided in the embodiments of this application.
[0151] Figure 5 A flowchart illustrating a routing management method provided in this application is shown below. Figure 5 As shown, the method may include the following steps S501 to S502.
[0152] S501, The first node receives the first message.
[0153] The first message is transmitted from the second node to the first node, and the second node is the upstream neighbor node of the first node.
[0154] The first message carries information about at least one AS that the first message passes through during its transmission from the source node to the first node. For example, the second node can be the source node of the first message, or it can be an intermediate node between the source node and the first node.
[0155] In one implementation, the routing management method provided in this application is applied to a spinal lobe network (e.g., Figure 1 The network shown) or a network extended from the ridge lobe network (e.g. Figures 2 to 4 In the network shown, the first and second nodes can be leaf switches, spine switches, or core switches in the network.
[0156] Applying routing management methods Figure 1 The network shown is an example:
[0157] Example 1: The second node is leaf switch 1, the first node is spine switch 1, and the first message is transmitted from leaf switch 1 to spine switch 1; the first message can carry information about the AS corresponding to leaf switch 1 → the AS corresponding to spine switch 1.
[0158] Example 2: The second node is spine switch 1, the first node is leaf switch 2, and the source node of the first message is leaf switch 1; the first message is transmitted from leaf switch 1 to spine switch 1, and then from spine switch 1 to leaf switch 2; then, the first message can carry information about the AS corresponding to leaf switch 1 → the AS corresponding to spine switch 1 → the AS corresponding to leaf switch 2.
[0159] Applying routing management methods Figure 2 The network shown is an example:
[0160] Example 3: The second node is leaf switch 1-1, the first node is spine switch 1-1, and the first message is transmitted from leaf switch 1-1 to spine switch 1-1; the first message can carry information about the AS corresponding to leaf switch 1-1 → the AS corresponding to spine switch 1-1.
[0161] Example 4: The second node is the spine switch 1-m, the first node is the core switch 1, and the source node of the first message is the leaf switch 1-1; the first message is transmitted from the leaf switch 1-1 to the spine switch 1-m, and then from the spine switch 1-m to the core switch 1; then, the first message can carry information about the AS corresponding to the leaf switch 1-1 → the AS corresponding to the spine switch 1-m → the AS corresponding to the core switch 1.
[0162] Example 5: The second node is core machine 1, the first node is spine switch 2-1, and the source node of the first message is leaf switch 1-1; the first message is transmitted from leaf switch 1-1 to spine switch 1-m, then from spine switch 1-m to core switch 1, and then from core switch 1 to spine switch 2-1; then the first message can carry information of AS corresponding to leaf switch 1-1 → AS corresponding to spine switch 1-m → AS corresponding to core switch 1 → AS corresponding to spine switch 2-1.
[0163] Example 6: The second node is core machine 1, the first node is spine switch 2-1, and the source node of the first message is leaf switch 1-1. The first message is transmitted from leaf switch 1-1 to spine switch 1-2, then from spine switch 1-2 to core switch y, and then from core switch y to spine switch 2-1. Therefore, the first message can carry information about the AS corresponding to leaf switch 1-1 → the AS corresponding to spine switch 1-2 → the AS corresponding to core switch y → the AS corresponding to spine switch 2-1. It is understandable that spine switch 1-m and spine switch 1-2 belong to the same POD, and their corresponding AS numbers are the same. The AS numbers corresponding to each core switch are also the same. Therefore, the information carried by the first message in Examples 5 and 6 is consistent.
[0164] Example 7: The second node is spine switch 2-1, the first node is leaf switch 2-1, and the source node of the first message is leaf switch 1-1; the first message is transmitted from leaf switch 1-1 to spine switch 1-m, then from spine switch 1-m to core switch 1, then from core switch 1 to spine switch 2-1, and then from spine switch 2-1 to leaf switch 2-1; then the first message can carry information of the AS corresponding to leaf switch 1-1 → AS corresponding to spine switch 1-m → AS corresponding to core switch 1 → AS corresponding to spine switch 2-1 → AS corresponding to leaf switch 2-1.
[0165] Applying routing management methods Figure 3 The network shown is an example:
[0166] Example 8: The second node is leaf switch 1-1, the first node is spine switch 1-1, and the first message is transmitted from leaf switch 1-1 to spine switch 1-1; the first message can carry information about the AS corresponding to leaf switch 1-1 → the AS corresponding to spine switch 1-1.
[0167] Example 9: The second node is the spine switch 1-m, the first node is the core switch my, and the source node of the first message is the leaf switch 1-1; the first message is transmitted from the leaf switch 1-1 to the spine switch 1-m, and then from the spine switch 1-m to the core switch my; therefore, the first message can carry information about the AS corresponding to the leaf switch 1-1 → the AS corresponding to the spine switch 1-m → the AS corresponding to the core switch my.
[0168] Example 10: The second node is core machine m-2, the first node is spine switch 2-1, and the source node of the first message is leaf switch 1-1; the first message is transmitted from leaf switch 1-1 to spine switch 1-m, then from spine switch 1-m to core switch m-2, and then from core switch m-2 to spine switch 2-1; then the first message can carry information of AS corresponding to leaf switch 1-1 → AS corresponding to spine switch 1-m → AS corresponding to core switch m-2 → AS corresponding to spine switch 2-1.
[0169] Example 11: The second node is spine switch 2-1, the first node is leaf switch 2-1, and the source node of the first message is leaf switch 1-1; the first message is transmitted from leaf switch 1-1 to spine switch 1-m, then from spine switch 1-m to core switch m-2, then from core switch m-2 to spine switch 2-1, and then from spine switch 2-1 to leaf switch 2-1; then the first message can carry information of the AS corresponding to leaf switch 1-1 → AS corresponding to spine switch 1-m → AS corresponding to core switch m-2 → AS corresponding to spine switch 2-1 → AS corresponding to leaf switch 2-1.
[0170] Applying routing management methods Figure 4 The network shown is an example:
[0171] Example 12: The second node is leaf switch 1-1, the first node is spine switch 1-1, and the first message is transmitted from leaf switch 1-1 to spine switch 1-1; the first message can carry information about the AS corresponding to leaf switch 1-1 → the AS corresponding to spine switch 1-1.
[0172] Example 13: The second node is spine switch 1-1, the first node is spine switch 2-1, and the source node of the first message is leaf switch 1-1. The first message is transmitted from leaf switch 1-1 to spine switch 1-1, and then from spine switch 1-1 to spine switch 2-1. Therefore, the first message can carry information about the AS corresponding to leaf switch 1-1 → the AS corresponding to spine switch 1-1 → spine switch 2-1. It should be understood that there could be more hop-based transmission paths between spine switch 1-1 and spine switch 2-1, but in practice, only one-hop direct or two-hop-based transmission paths are used. This is explained here.
[0173] Example 14: The second node is spine switch 2-1, the first node is leaf switch 2-1, and the source node of the first message is leaf switch 1-1; the first message is transmitted from leaf switch 1-1 to spine switch 1-1, then from spine switch 1-1 to spine switch 2-1, and then from spine switch 1-1 to leaf switch 2-1; then, the first message can carry information about the AS corresponding to leaf switch 1-1 → spine switch 1-1 → spine switch 2-1 → the AS corresponding to leaf switch 2-1.
[0174] S502, The first node establishes a topology based on at least one AS information included in the first message.
[0175] The topology includes at least one AS (Autonomous System) information to indicate the connectivity between ASs. This allows a first node to associate its local routing information with at least one AS in the topology, thereby managing local routing information at the AS level. For example, the AS information includes the AS number.
[0176] The first message carries information about at least one AS (Autonomous System) it traverses during transmission. In one possible implementation, the information about the at least one AS carried by the first message is arranged in the order of the message's transmission path. This allows the first node, upon receiving the first message, to determine the connection relationship between the AS corresponding to the source node of the first message and the AS corresponding to the first node. Thus, after receiving multiple first messages from multiple source nodes, the first node can establish its local AS topology.
[0177] As a possible AS planning approach, in Figures 1 to 4 In the network shown, the AS number of each node satisfies the following conditions: 1. Different leaf switches have different AS numbers; 2. The spine switches within the same Pod have the same AS number; 3. The spine switches of different Pods have different AS numbers; 4. The core switches have the same AS number; 5. The AS numbers of the leaf switches, spine switches, and core switches are different.
[0178] In one possible implementation, Figure 2 The AS partitioning of each node in the network shown is as follows: Figure 6 As shown. Among them, the AS numbers of leaf switches i-1 to leaf switch in in POD i are ASi.1 to Ai.n respectively, the AS number of all spine switches in POD i is ASi, and the AS number of all core switches is AS100.
[0179] In one possible implementation, Figure 3 The AS partitioning of each node in the network shown is as follows: Figure 7As shown. Among them, the AS numbers of leaf switches i-1 to leaf switch in in POD i are ASi.1 to Ai.n respectively, the AS number of all spine switches in POD i is ASi, and the AS number of all core switches is AS100.
[0180] In one possible implementation, Figure 4 The AS partitioning of each node in the network shown is as follows: Figure 8 As shown. Among them, the AS numbers of leaf switches i-1 to leaf switch in in POD i are ASi.1 to Ai.n respectively, and the AS number of all spine switches in POD i is ASi.
[0181] The following is combined Figure 5 The structure shown, taking leaf switch 1-1 as the first node, illustrates the process by which leaf switch 1-1 establishes its topology based on at least one AS information from the first message:
[0182] Assuming the source node of the first message is leaf switch 2-1, the transmission process of the first message from leaf switch 2-1 to leaf switch 1-1 sequentially passes through leaf switch 2-1, spine switch 2-1, core switch 1, spine switch 1-m, and leaf switch 1-1. The information of at least one AS carried in the first message can be AS2.1, AS2, AS100, AS1, and AS1.1. Thus, leaf switch 1-1 can confirm the connection relationships of each AS based on at least one AS information, including: It should be understood that since the AS number of spine switches 1-1 to 1-m is all AS1, and the AS number of core switches 1 to y is all AS100, the first message transmitted from leaf switch 2-1 to leaf switch 1-1 through different transmission paths carries the following AS numbers: AS2.1, AS2, AS100, AS1, and AS1.1. Therefore, the topology established by leaf switch 1-1 includes... Figure 9 The structure shown. (Reference) Figure 9 The topology of leaf switch 1-1 includes the following topological connections:
[0183] Assuming the source node of the first message is leaf switch 1-n, the transmission process of the first message from leaf switch 1-n to leaf switch 1-1 sequentially passes through leaf switch 1-n, spine switch 1-m, and leaf switch 1-1. The information of at least one AS carried by the first message can be AS1.n, AS1, and AS1.1. Thus, leaf switch 1-1 can confirm the connection relationships of each AS based on at least one AS information, including: Therefore, the topology established by leaf switch 1-1 includes: Figure 10The structure shown. (Reference) Figure 10 The topology established by leaf switch 1-1 includes the following topology connections:
[0184] In this way, leaf switch 1-1 can establish, based on the first message from different source nodes, the following: Figure 11 The topological relationships are shown. For example... Figure 11 As shown, AS1.1 is connected to AS1, and AS1 is also connected to AS1.2 to AS1.n; at the same time, AS1 is connected to AS100, and AS100 is also connected to AS2 to ASx; and any ASi is connected to ASi.1 to ASi.n.
[0185] Understandable. Figure 5 The process of other nodes establishing the topology in the structure shown can be referred to the process of leaf switch 1-1 establishing the topology above. Any node learns the connection relationship of each AS by receiving the first message transmitted by the neighboring node, thereby establishing the local topology of the AS. This will not be elaborated here.
[0186] Understandable. Figure 6 The structure shown is Figure 5 The structure shown differs only in the connection method between the spine switch and the core switch. Since the AS numbers of all core switches are the same, therefore... Figure 6 and Figure 5 The connection relationships of each AS in the structure shown are identical. Thus, Figure 6 The process of establishing the topology for each node in the structure shown can also refer to the process of establishing the topology for leaf switch 1-1 above, and will not be repeated here.
[0187] The following is combined Figure 7 The structure shown, taking leaf switch 1-1 as the first node, illustrates the process by which leaf switch 1-1 establishes its topology based on at least one AS information from the first message:
[0188] Assuming the source node of the first message is leaf switch 1-n, the transmission process of the first message from leaf switch 1-n to leaf switch 1-1 sequentially passes through leaf switch 1-n, spine switch 1-m, and leaf switch 1-1. The information of at least one AS carried by the first message can be AS1.n, AS1, and AS1.1. Thus, leaf switch 1-1 can confirm the connection relationships of each AS based on at least one AS information, including: Therefore, the topology established by leaf switch 1-1 includes: Figure 12 The structure shown. (Reference) Figure 12 The topology established by leaf switch 1-1 includes the following topology connections:
[0189] Assuming the source node of the first message is leaf switch xn, the transmission process of the first message from leaf switch xn to leaf switch 1-1 sequentially passes through leaf switch xn, spine switch xm, spine switch 1-m, and leaf switch 1-1. The information of at least one AS carried by the first message can be ASx.n, ASx, AS1, and AS1.1. Thus, leaf switch 1-1 can confirm the connection relationships of each AS based on at least one AS information, including: Therefore, the topology established by leaf switch 1-1 includes: Figure 13 The structure shown. (Reference) Figure 13 The topology established by leaf switch 1-1 includes the following topology connections:
[0190] In this way, leaf switch 1-1 can establish, based on the first message from different source nodes, the following: Figure 14 The topological relationships are shown. For example... Figure 14 As shown, AS1.1 is connected to AS1, and AS1 is also connected to AS1.2 to AS1.n; at the same time, AS1 is connected to AS2 to ASx, and any ASi is connected to ASi.1 to ASi.n.
[0191] Understandably, in the aforementioned spine-leaf network, each leaf switch has a server connected to it, and the server is used to publish host routes. The host route explicitly specifies how packets should be forwarded to a specific server. Therefore, in this spine-leaf network, each leaf switch corresponds to a different AS (Application Server) to distinguish different leaf switches. For example, leaf switches within the same POD (Point of View) can also be grouped into the same AS. However, to distinguish each leaf switch, in this case, when a leaf switch sends its first packet as a source node, it needs to carry its device identifier. In one implementation, multiple leaf switches within the same POD share the same AS number but have different device identifiers. Thus, when a leaf switch sends its first packet as a source node, it can carry both its corresponding AS number and device identifier. Upon receiving the first packet, other switches can determine the source node based on the AS number and device identifier of the leaf switch and establish a topology based on the source node and the AS through which the first packet passed. Understandably, the topology established by other switches includes both the AS number and the device identifier.
[0192] Optionally, there are multiple ways for the first message to carry information about at least one AS that it passes through during transmission, and this embodiment does not limit this. In the above example, the first message includes the AS number of the AS that it passes through sequentially during transmission. For example, the first message can also carry multiple AS connection indication information, which may include the AS number corresponding to the nodes at both ends of the directly connected link. Taking the above example as an illustration, assuming that the source node of the first message is leaf switch 2-1, the transmission process of the first message from leaf switch 2-1 to leaf switch 1-1 sequentially passes through leaf switch 2-1, spine switch 2-1, core switch 1, spine switch 1-m, and leaf switch 1-1. Then, the first message received by leaf switch 1-1, carrying information about at least one AS, can be in the form of AS2.1, AS2, AS100, AS1, AS1.1. It can also be [AS2.1, AS2], [AS2, AS100], [AS100, AS1], [AS1, AS1.1]. Among them, [AS2.1, AS2] are the AS pairs corresponding to the nodes at both ends of the direct link, leaf switch 2-1 and spine switch 2-1.
[0193] Optionally, the AS number or AS pair corresponding to the direct link carried in the first message is arranged according to the order of the nodes or direct links through which the first message passes. The order can be sequential or reversed, and this application does not impose any limitation on this.
[0194] In this embodiment, the type of the first message can be an Autonomous System-Connection (AS-Link) message. Specifically, the first message is an AS-Link type learning up message. The first message will be described in detail below in conjunction with the specific format of the AS-Link message, but will not be described here.
[0195] Based on the above steps, the first node can establish the AS topology according to the AS information traversed during the transmission of the first message. In this way, the first node can associate its local routing information with each AS. When the first node manages its local routing information, it can manage multiple routing information entries at the AS granularity. This results in faster route convergence and consumes fewer communication resources.
[0196] The process of the first node managing local routing information according to the topology is described in detail below. Figure 15 This is a flowchart illustrating another routing management method provided in an embodiment of this application. Figure 15 As shown, this route management method includes the following steps:
[0197] S1501, The first node receives the first message.
[0198] It is understandable that step S1501 can refer to the content described in step S501 above, and will not be repeated here.
[0199] S1502, The first node establishes a topology based on at least one AS information included in the first message.
[0200] It is understandable that step S1502 can refer to the content described in step S502 above, and will not be repeated here.
[0201] In one possible implementation, after receiving the first message, the first node can continue to propagate it. For example, the first node sends a second message to a fourth node, where the fourth node is a neighbor node of the first node. The second message is a message obtained based on the first message, and includes information about the AS corresponding to the first node and the AS corresponding to the fourth node.
[0202] For example, in Figure 6 In the illustrated structure, assuming the source node of the first message is leaf switch 2-1, the transmission process of the first message from leaf switch 2-1 to spine switch 1-m sequentially passes through leaf switch 2-1, spine switch 2-1, core switch 1, and spine switch 1-m. Taking spine switch 1-m as the first node, the information of at least one AS carried in the first message received by spine switch 1-m can be AS2.1, AS2, AS100, and AS1. Spine switch 1-m can establish a topology based on the information of at least one AS carried in the first message. Simultaneously, spine switch 1-m can also propagate the first message to downstream leaf switches 1-1 to 1-n. Taking leaf switch 1-1 as the fourth node, spine switch 1-m adds the AS number corresponding to leaf switch 1-1 to the information of at least one AS carried in the first message to obtain the second message, which includes AS2.1, AS2, AS100, AS1, and AS1.1; spine switch 1-m then transmits the second message to leaf switch 1-1. In this way, leaf switch 1-1 can establish local topology relationships based on at least one AS information carried in the second message.
[0203] For example, in Figure 7In the illustrated structure, assuming the source node of the first message is leaf switch 1-n, the first message is transmitted from leaf switch 1-n to spine switch 1-m. Taking spine switch 1-m as the first node, the information of at least one AS carried by the first message received by spine switch 1-m includes AS1.n and AS1. Spine switch 1-m establishes a topology based on the first message. Simultaneously, spine switch 1-m can propagate the first message to leaf switches 1-1 through 1-n. Taking leaf switch 1-1 as the fourth node, spine switch 1-m adds the AS number corresponding to leaf switch 1-1 to the information of at least one AS carried in the first message to obtain the second message, which includes AS1.n, AS1, and AS1.1. Spine switch 1-m transmits the second message to leaf switch 1-1, and leaf switch 1-1 establishes a local topology based on the information of at least one AS carried in the second message.
[0204] Optionally, the first node may also perform loop prevention processing when propagating the first message. For example, the first node receives the first message sent by the second node and sends a second message based on the first message to the fourth node; wherein the second node and the fourth node are both neighboring nodes of the first node, and the AS corresponding to the second node and the fourth node are different. In one possible implementation, when the first node sends the second message to the fourth node, if at least one AS information included by the first node includes information about the AS corresponding to the fourth node, then the first node may discard the second message due to an AS loop; if at least one AS information included by the first node does not include information about the AS corresponding to the fourth node, then the first node sends the second message to the fourth node.
[0205] S1503, The first node obtains local routing information.
[0206] The local routing information of the first node includes multiple routing information entries, each of which includes an address prefix, a next-hop address, and AS information; for example, the AS information is the Autonomous System-Path as-path attribute information.
[0207] S1504. The first node associates the address prefix and next-hop address with at least one AS included in the topology based on the AS information of the local routing information to obtain the association relationship.
[0208] The first node can associate the address prefix and next-hop address of multiple routing information entries with the AS in the topology based on the AS information of each routing information entry, thus obtaining the association relationship. For example, if the as-path attribute information of a routing information entry is 100, 1, 1.1, and this routing information indicates the transmission path from leaf switch 1-1 to the core switch, then the first node can associate the address prefix and next-hop address in this routing information with AS1.1 in the topology.
[0209] In one example, based on Figure 11 The topology shown shows the associations established by leaf switch 1-1 as follows: Figure 16 As shown. Each AS corresponds to at least one address prefix and / or next-hop address. ASj corresponds to n address prefixes, Pj-1 to Pj-n. These n address prefixes correspond to k next-hop addresses, S1-1 to S1-k; where S1-1 to S1-k indicate the addresses of spine switches 1-1 to 1-k directly connected to leaf switch 1-1, and k takes a value between 1 and m. For example, AS1.2 corresponds to address prefixes P1.2-1 to P1.2-n, and the next-hop addresses corresponding to address prefixes P1.2-1 to P1.2-n are S1-1 to S1-k; similarly, AS100 corresponds to next-hop addresses S1-1 to S1-k; and Ax.n corresponds to address prefixes Px.n-1 to Px.nn, and the next-hop addresses corresponding to address prefixes Px.n-1 to Px.nn are S1-1 to S1-k. This is understandable; the other nodes are similar and will not be elaborated upon here.
[0210] S1505, The first node receives the third message.
[0211] The third message is sent from the second node to the first node, and the second node is the neighbor node of the first node.
[0212] The third message carries unreachable information, including information about the first AS, indicating that the first AS is unreachable. Understandably, a link or node failure in the network will cause disconnections between neighboring nodes. When a node in the network detects that a neighboring node is disconnected, it can send a third message to inform other nodes.
[0213] The unreachability information carried in the third message can be the AS number of the AS corresponding to the unreachable node, for example, in the above... Figures 2-4 In the network structure shown, the third message from spine switch 1-2 includes AS1.2, which indicates that the link between spine switch 1-2 and leaf switch 1-2 is unreachable.
[0214] For example, the third message may also carry the AS number corresponding to the node that senses the unreachable node. Taking the above example, if the spine switch 1-2 senses that the leaf switch 1-2 is unreachable, then the spine switch 1-2 establishes a third message, which includes [AS1, AS1.2], indicating that the link between the spine switch 1-2 and the leaf switch 1-2 is unreachable.
[0215] For example, the third message also includes as-path information, which indicates the AS information traversed during the transmission of the third message. For instance, in the example above, the third message from leaf switch 1-2 is transmitted to leaf switch 1-4, and the as-path information included in the third message received by leaf switch 1-4 is AS1.2, AS1, and AS1.4; the as-path information can prevent third message loops.
[0216] S1506. The first node deletes the target routing information from the local routing information based on the third message.
[0217] The destination routing information refers to routing information where the address prefix is the address prefix corresponding to the first AS, and the next-hop address is the address corresponding to the second node (the node that forwards the third packet to the first node). For example, in the above... Figures 2-4 In the network structure shown, the first node is leaf switch 1-3, the second node is spine switch 1-2, and the third packet includes AS1.2. Therefore, the target routing information confirmed by leaf switch 1-3 is routing information with the address prefix corresponding to AS1.2 in the association relationship and the next hop being spine switch 1-2. However, if the first node is leaf switch 2-1, the second node is spine switch 2-1, and the third packet includes AS1.2, then the target routing information confirmed by leaf switch 2-1 is routing information with the address prefix corresponding to AS1.2 in the association relationship and the next hop being spine switch 2-1.
[0218] For example, if the third message also carries the AS number corresponding to the node that is aware of the unreachable node, then before the first node filters the target routing information, it first determines whether there is a connection structure between two ASs in the topology. If not, the first node does not process the third message. If it does, the first node then filters the target routing information in its local routing information. It is understandable that the topology established by each node usually only retains the shortest path between ASs, while the network structure usually contains detour paths. Therefore, when the first node confirms an unreachable AS based on the third message, it first determines whether there is an AS that is aware of the unreachable node and a connection between the unreachable AS in its local topology. If so, it removes the target routing information; otherwise, it does not process it.
[0219] The first node deletes the target route information from its local routing information to achieve fast route convergence. (As described above...) Figure 16Taking the association relationship shown as an example, if the first node receives a third message from spine switch 1-2, and the third message includes [AS1, AS1.2], then the first node will delete S1-2 (the address corresponding to spine switch 1-2) from the next-hop address of the address prefix corresponding to AS1.2 in the association relationship, and the first node will delete all routing information in its local routing information that indicates that the next hop of the address prefix (P1.2-1 to P1.2-n) corresponding to AS1.2 is S1-2.
[0220] For example, the third message is a delete down message of type as-link. The third message will be described in detail below in conjunction with the specific format of the as-link message, but will not be explained here.
[0221] For example, after the first node deletes the target routing information, if a usable next-hop address still exists for the address prefix corresponding to the first AS, the first node will not transmit the third message. However, if no usable next-hop address exists for the address prefix corresponding to the first AS, the first node will send the third message to other neighboring nodes. Taking the fourth node as a neighboring node of the first node as an example, if the first node determines that no usable next-hop address exists for the address prefix corresponding to the first AS, the first node will send the third message to the fourth node. Optionally, when the first node sends the third message to the fourth node, to prevent loops, it can also check whether the AS-path information included in the third message contains information about the AS corresponding to the fourth node. If it does, the message will not be sent; otherwise, it will be sent.
[0222] Understandably, the first node can delete unusable addresses in the next-hop addresses corresponding to multiple address prefixes based on a third message. In this way, it can achieve the goal of deleting multiple routing entries at the AS granularity at one time, and its fault convergence rate is faster.
[0223] For example, based on the above Figure 5 and Figure 6 In the illustrated embodiment, when a node in the spine network detects that the AS of a neighboring node is being updated, it can notify other neighboring nodes by sending a first message or a third message. For example, when the second node detects that a neighboring node is reconfiguring its AS number, it can first send a third message to other neighboring nodes. This third message carries the original AS number of the neighboring node, instructing the other neighboring nodes to delete the original AS number from their local topology. Then, the second node sends a first message to the other neighboring nodes. This first message carries the new AS number corresponding to the neighboring node, instructing the other neighboring nodes to associate the new AS number with their local topology.
[0224] Based on the above description, the routing management method provided in the embodiments of this application will be explained below in conjunction with the as-link message:
[0225] Figure 17 This is a message format diagram of an as-link message provided for an embodiment of this application. For example... Figure 17 As shown, the as-link message is a new type of BGP message defined in this application embodiment, which differs from the existing five types of BGP messages: open, update, notification, keepalive, and route-refresh. The as-link message may include a BGP message header, a source node field, a link-state field, and link attribute fields, etc.
[0226] Optionally, the BGP header includes a marker field, a length field, and a type field; the marker and length fields in the BGP header can be found in relevant descriptions in the art, and will not be repeated here. The type field in the BGP header can be a type value newly defined in this application.
[0227] Optionally, the source node field includes a source-autonomous system (origin-AS) field and a source-device identifier (originrouter-id) field. The origin-AS field carries the AS corresponding to the source node of the as-link message; the origin router-id field is used to carry the device identifier of the source node of the as-link message.
[0228] Optionally, the link status field is used to indicate the purpose of the as-link message. When the link status field is the first field, the as-link message is a learning up message, which is the first message in this embodiment of the application. The up message is used to establish the topology. When the link status field is the second field, the as-link message is a deletion down message, which is the second message in this embodiment of the application. The down message is used for the convergence of link faults.
[0229] The link attribute fields include a total link attribute length field and a link attribute TLV. The total link attribute length indicates the total length of the link attribute fields. The link attribute TLV includes a link attribute type field, a link attribute length field, and a link attribute value field. The link attribute type field indicates the type of information carried by the link attribute value field, which can be learning information, deletion information, or loop prevention information.
[0230] For example, when the as-link message is an up message, the link attribute type field indicates that the information carried by the link attribute value field is learning information, and the format of the link attribute value field is as follows: Figure 18 As shown in the diagram. The link attribute value fields include a neighbor-autonomous system (neighbor-AS) field, a local-autonomous system (local-AS) field, and a receive (recv) field. The neighbor-AS field indicates the AS corresponding to the neighboring node of the node sending the up message, the local-AS field indicates the AS corresponding to the node sending the up message, and the recv field indicates information about the AS traversed during the up message's transmission. Taking the above embodiment as an example, the first node receives a first message sent by the second node. The neighbor-AS field of the first message indicates the AS corresponding to the first node, the local-AS field indicates the AS corresponding to the second node, and the recv field includes the AS corresponding to the third node. The third node is an upstream neighbor node of the second node. The first message is transmitted from the third node to the second node, and then from the second node to the third node.
[0231] For example, when the as-link message is a down message, the link attribute type field indicates that the information carried by the link attribute value field is deletion information, and the format of the link attribute value field is as follows: Figure 19 As shown. The link attribute value field includes a local-autonomous system (local-AS) field and an err-autonomous system (err-AS) field. The local-AS field indicates the AS corresponding to a node that has detected that its neighbor nodes are unreachable, and the err-AS field indicates the AS corresponding to an unreachable neighbor node.
[0232] For example, when the as-link message is a down message, the link attribute type field indicates that the information carried by the link attribute value field is anti-loop information, and the format of the link attribute value field is as follows: Figure 20 As shown. Among them, the link attribute value field includes the Autonomous System-Path (as-path) field. The as-path field is used to carry information about the AS that the down message passes through during transmission. The as-path field can prevent down message loops.
[0233] Based on the above as-link message, Figure 2 Taking the network shown as an example, assuming the up message is transmitted from leaf switch 2-1 to leaf switch 1-1, the processing of each node along the transmission path of the up message is as follows:
[0234] 1. Leaf switch 2-1 generates an up message and sends it to spine node 2-1. The content of the up message sent by leaf switch 2-1 is shown in Table 1:
[0235] Table 1
[0236]
[0237] Referring to Table 1, the origin-AS field indicates the AS number (AS2.1) of the AS corresponding to leaf switch 1-1; the originrouter-id field indicates the device identifier (leaf2.1) of the device corresponding to leaf switch 1-1; the link-state field indicates that the as-link message is an up message; the link attribute type field indicates that the up message carries learning information; the neighbor-AS field indicates the AS number (AS2) of the AS corresponding to spine switch 2-1; the local-AS field indicates the AS number (AS2.1) of the AS corresponding to leaf switch 2-1; and the recv field indicates the AS information that the up message passes through from leaf switch 2-1 to spine node 2-1.
[0238] 2. Spine switch 2-1 modifies the link attribute value field in the up packet and transmits the modified up packet to the core switch. Specifically, spine switch 2-1 changes the neighbor-AS field to the AS number of the AS corresponding to the core switch (AS100); changes the local-AS field to the AS number of the AS corresponding to spine switch 2-1 (AS2); and adds information about the ASs traversed during the transmission of the up packet from spine switch 2-1 to the core switch [AS100, AS2] to the recv field. The up packet sent by spine switch 1-1 may include the content shown in Table 2.
[0239] Table 2
[0240]
[0241] 3. Upon receiving an up packet, any one of the core switches (1 through y) modifies the link attribute value field in the up packet and transmits the modified up packet to spine switch 1-1. Specifically, the core switch modifies the neighbor-AS field to the AS number (AS1) of the spine switch 1-1; modifies the local-AS field to the AS number (AS100) of the core switch; and adds information about the ASs the up packet traversed during its transmission from the core switch to spine switch 1-1 [AS1, AS100] to the recv field. The up packet sent by the core switch may include the content shown in Table 3.
[0242] Table 3
[0243]
[0244]
[0245] 4. After receiving the up message, spine switch 1-1 modifies the link attribute value field in the up message and transmits the modified up message to leaf switch 1-1. Specifically, spine switch 1-1 modifies the neighbor-AS field to the AS number of the corresponding AS of leaf switch 1-1 (AS1.1); modifies the local-AS field to the AS number of the corresponding AS of spine switch 1-1 (AS1); and adds information about the ASs traversed during the transmission of the up message from spine switch 1-1 to leaf switch 1-1 [AS1.1, AS1] to the recv field. The up message sent by spine switch 1-1 may include the content shown in Table 4.
[0246] Table 4
[0247]
[0248] 5. After receiving an up message containing the information shown in Table 4, leaf switch 1-1 can determine the topology based on the up message as follows: Figure 9 As shown.
[0249] Understandably, leaf switch 1-1 can receive up messages from multiple nodes, and a connection can be established based on these multiple up messages. Figure 11 The topology shown.
[0250] Based on the above as-link message, Figure 2 Taking the network shown as an example, the down message is generated by spine switch 2-1. The processing of the down message at each node along its transmission path is as follows:
[0251] As an example, assuming a link failure between spine switch 2-1 and leaf switch 2-1, the routing convergence process in the network is as follows:
[0252] 1. When the spine switch 2-1 detects that the leaf switch 2-1 is unreachable, it sends a down message to the neighboring nodes (including leaf switches 2-2 to leaf switches 2-n, and core switches 1 to core switches y). The down message may include the contents shown in Table 5.
[0253] Table 5
[0254]
[0255] Referring to Table 5, the origin-AS field indicates the AS number (AS2) of the AS corresponding to spine switch 2-1; the originrouter-id field indicates the device identifier (spine2.1) of the spine switch 2-1; the link-state field indicates that the as-link message is a down message; the link attribute type field indicates that the down message carries deletion information and / or loop prevention information; the local-AS field indicates the AS number (AS2) of the AS corresponding to the spine switch 2-1 that detected the fault; the err-AS field indicates the AS number (AS2.1) of the AS corresponding to the unreachable leaf switch 2-1; and the as-path field indicates the AS information that the down message passes through when it is transmitted from spine switch 2-1.
[0256] 2. Leaf switches 2-2 to 2-n receive a down message from spine switch 2-1. Based on the down message, they delete the address of spine2.1 from the next-hop address of the address prefix corresponding to AS2.1 in the association relationship. They also delete the destination routing information from the local routing information. The destination routing information refers to the address whose address prefix is the address prefix corresponding to AS2.1 in the association relationship and whose next-hop address is spine2.1.
[0257] For example, taking leaf switch 2-2 as an example, the association relationship established by leaf switch 2-2 is as follows: Figure 21 As shown, AS2.1 corresponds to n address prefixes, namely P2.1-1 to P2.1-n; P2.1-1 to P2.1-n correspond to k next-hop addresses, namely S2-1 to S2-k; where S2-1 to S2-k indicate the addresses corresponding to spine switches 2-1 to 2-k, and the value of k is between 1 and m. After receiving the above down message, the leaf switch deletes S2-1 from the next-hop addresses corresponding to P2.1-1 to P2.1-n, and deletes the corresponding destination route information from its local routing information.
[0258] For example, if leaf switches 2-2 to 2-n determine that the address prefix corresponding to AS2.1 still has a usable next hop after deleting the address of spine2.1, then they will no longer propagate down packets. However, if there is no usable next hop, then they need to propagate down packets to neighboring nodes. Optionally, to avoid loops, the propagation method can be determined based on the as-path field in the down packet when propagating down packets to neighboring nodes. For instance, if leaf switch 2-2 determines that the address prefix corresponding to AS2.1 has no usable next hop address, it will propagate down packets to neighboring nodes spine switches 2-1 to 2-m; however, if the as-path field of the down packet already includes the AS number (AS2) of the AS corresponding to spine switches 2-1 to 2-m, then leaf switch 2-2 will discard the down packet due to a loop.
[0259] It should be understood that the behavior of each leaf switch from leaf switch 2-2 to leaf switch 2-n can be described with reference to the example of leaf switch 2-2 above, and will not be repeated here.
[0260] 3. Core switches 1 through y receive a down message from spine switch 2-1. Based on the down message, they delete the address of spine2.1 from the next-hop address of the address prefix corresponding to AS2.1 in the association relationship. They also delete the destination routing information from the local routing information. The destination routing information refers to the address whose address prefix is the address prefix corresponding to AS2.1 in the association relationship and whose next-hop address is spine2.1.
[0261] For example, taking core switch 1 as an example, the associations established by core switch 1 are as follows: Figure 22 As shown, AS2.1 corresponds to n address prefixes, namely P2.1-1 to P2.1-n; P2.1-1 to P2.1-n correspond to k next-hop addresses, namely S2-1 to S2-k; where S2-1 to S2-k indicate the addresses corresponding to spine switches 2-1 to 2-k, and the value of k is between 1 and m. After receiving the above down message, the leaf switch deletes S2-1 from the next-hop addresses corresponding to P2.1-1 to P2.1-n, and deletes the corresponding destination route information from its local routing information.
[0262] For example, if k is 1, the only next-hop address for the address prefix corresponding to AS2.1 is S2-1. After core switch 1 deletes the address of spine2.1, the address prefix corresponding to AS2.1 has no available next hop. Therefore, core switch 1 propagates a down message to its neighboring nodes. Understandably, the neighboring nodes of core switch 1 include all spine switches. When core switch 1 propagates a down message to spine switches 2-1 to 2-m, leaf switch 2-2 will discard the down message due to a loop because the as-path field of the down message already includes the AS number (AS2) of the ASs corresponding to spine switches 2-1 to 2-m. Thus, core switch 1 will pass the down message to other spine switches besides spine switches 2-1 to 2-m, such as spine switch 1-1.
[0263] For example, when core switch 1 sends a down message to other spine switches, it adds the AS number of the AS corresponding to core switch 1 to the as-path field of the down message.
[0264] It should be understood that the behavior of each leaf switch from leaf switch 2 to leaf switch y can be referred to the example description of leaf switch 2 above, and will not be repeated here.
[0265] 4. Spine switch 1-1 receives a down message sent by core switch 1 to core switch y. The down message includes the contents shown in Table 6:
[0266] Table 6
[0267]
[0268] Spine switch 1-1 deletes the address of the core switch in the next-hop address of the address prefix corresponding to AS2.1 in the association relationship according to the down message, and deletes the target routing information in the local routing information. The target routing information refers to the address prefix corresponding to AS2.1 in the association relationship and the next-hop address is the address of the core switch.
[0269] For example, taking the case where spine switch 1-1 receives a down message from core switch 1, the association established by spine switch 1-1 is as follows: Figure 23As shown, AS2.1 corresponds to n address prefixes, namely P2.1-1 to P2.1-n; P2.1-1 to P2.1-n correspond to k next-hop addresses, namely C1 to Ck; where C1 to Ck indicate the addresses corresponding to core switch 1 to core switch k, and the value of k is between 1 and m. After receiving the above down message, spine switch 1-1 deletes C1 from the next-hop addresses corresponding to P2.1-1 to P2.1-n, and deletes the corresponding destination route information in its local routing information.
[0270] For example, spine switch 1-1 can also receive down packets from other core switches. Spine switch 1-1 can delete the next-hop address of the address prefix corresponding to AS2.1 based on multiple down packets. If spine switch 1-1 determines that there is no available next hop for the address prefix corresponding to AS2.1, core switch 1 propagates the down packet to its neighboring nodes. Understandably, the neighboring nodes of core switch 1 include all spine switches, and spine switch 1-1 sends down packets to leaf switches 1-1 to leaf switches 1-n. Understandably, spine switch 1-1 can also send down packets to core switches 1 to y. Since the as-path field of the down packet already includes the AS number (AS100) of the ASs corresponding to core switches 1 to y, spine switch 1-1 will discard the down packet due to a loop.
[0271] For example, when spine switch 1-1 sends a down message to leaf switch 1-1 to leaf switch 1-n, the AS number of the AS corresponding to spine switch 1-1 is added to the as-path field of the down message.
[0272] 5. Leaf switch 1-1 receives a down message from spine switch 1-1. This down message includes the contents shown in Table 7:
[0273] Table 7
[0274]
[0275] Leaf switch 1-1 deletes the address of spine switch 1-1 from the next-hop address of the address prefix corresponding to AS2.1 in the association relationship based on the down message, and deletes the target routing information in the local routing information. The target routing information refers to the address prefix corresponding to AS2.1 in the association relationship and the next-hop address is the address of spine switch 1-1.
[0276] For example, the association established by leaf switch 1-1 is as follows: Figure 22As shown, AS2.1 corresponds to n address prefixes, namely P2.1-1 to P2.1-n; P2.1-1 to P2.1-n correspond to k next-hop addresses, namely S1-1 to S1-k; where S1-1 to S1-k indicate the addresses corresponding to spine switch 1-1 to spine switch 1-k, and the value of k is between 1 and m. After receiving the above down message, leaf switch 1-1 deletes S1-1 from the next-hop addresses corresponding to P2.1-1 to P2.1-n, and deletes the corresponding destination route information in its local routing information.
[0277] For example, if leaf switch 1-1 determines that there is no available next hop for the address prefix corresponding to AS2.1, leaf switch 1-1 propagates a down message to its neighboring nodes. Understandably, when leaf switch 1-1 sends down messages to spine switches 1-1 to 1-m, since the as-path field of the down message already includes the AS number (AS100) of the AS corresponding to spine switches 1-1 to 1-m, spine switch 1-1 will discard the down message due to a loop.
[0278] Based on the above as-link message, Figure 4 Taking the network shown as an example, the down message is generated by spine switch 1-1. The processing of the down message at each node along its transmission path is as follows:
[0279] As an example, assuming a link failure between spine switch 1-1 and spine switch 2-1, the routing convergence process in the network is as follows:
[0280] 1. When spine switch 1-1 detects that spine switch 2-1 is unreachable, it sends a down message to its neighboring nodes (including leaf switches 2-2 to leaf switches 2-n and its spine switch i-1). The down message may include the contents shown in Table 8.
[0281] Table 8
[0282]
[0283] Referring to Table 8, the origin-AS field indicates the AS number (AS1) of the AS corresponding to spine switch 1-1; the originrouter-id field indicates the device identifier (spine1.1) of the spine switch 1-1; the link-state field indicates that the as-link message is a down message; the link attribute type field indicates that the down message carries deletion information and / or anti-loop information; the local-AS field indicates the AS number (AS1) of the AS corresponding to the spine switch 1-1 that detected the fault; the err-AS field indicates the AS number (AS2) of the AS corresponding to the unreachable spine switch 1-1; and the as-path field indicates the AS information that the down message passes through when it is transmitted from spine switch 2-1.
[0284] For example, the link attribute value field also includes a down-link field, which is used to carry AS pairs of the AS corresponding to the spine switch 2-1 and the AS corresponding to the unreachable leaf switch 2-1 [1, 2].
[0285] 2. Leaf switches 1-1 to 1-n receive a down message from spine switch 2-1. Based on the down message, they delete the address of spine1.1 from the next-hop address of the address prefix corresponding to AS2 in the association relationship. They also delete the destination routing information from the local routing information. The destination routing information refers to the address whose address prefix is the address prefix corresponding to AS2 in the association relationship and whose next-hop address is spine1.1.
[0286] For example, taking leaf switch 1-1 as an example, the association relationship established by leaf switch 1-1 is as follows: Figure 24A As shown, the address prefix corresponding to AS2 corresponds to k next-hop addresses, namely S1-1 to S1-k; where S1-1 to S1-k indicate the addresses corresponding to spine switch 1-1 to spine switch 1-k, and the value of k is between 1 and m. After receiving the above down message, leaf switch 1-1 can match the topology relationship established by leaf switch 1-1 according to [1, 2] to determine whether there is a connection structure between AS1 and AS2 in the topology relationship. If it exists, it deletes S1-1 from the next-hop address corresponding to AS2 and deletes the corresponding target route information in the local routing information.
[0287] It should be understood that the behavior of each leaf switch from leaf switch 1-2 to leaf switch 1-n can be described with reference to the example of leaf switch 1-1 above, and will not be repeated here.
[0288] 3. When spine switch 3-1 to leaf switch 3-n receives a down message from spine switch 1-1, they delete the address of spine1.1 from the next-hop address of the address prefix corresponding to AS2 in the association relationship according to the down message. They also delete the destination route information in the local routing information, where the destination route information refers to the address whose address prefix is the address prefix corresponding to AS2 in the association relationship and whose next-hop address is spine1.1.
[0289] For example, taking spine switch 3-1 as an example, the association relationship established by spine switch 3-1 is as follows: Figure 24B As shown, the address prefix corresponding to AS2 corresponds to k next-hop addresses, namely S2-1 to S2-k; where S2-1 to S2-k indicate the addresses corresponding to spine switch 2-1 to spine switch 2-k, and the value of k is between 1 and m. After receiving the above down message, leaf switch 1-1 can match the topology relationship established by leaf switch 1-1 according to [1, 2] to determine whether there is a connection structure between AS1 and AS2 in the topology relationship. Since there is no connection structure between AS1 and AS2 in the topology structure, spine switch 3-1 does not process the above down message.
[0290] Understandably, before forwarding as-link messages, nodes in a ridge leaf network need to negotiate as-link capabilities. For example, when establishing BGP neighbors in a ridge leaf network, nodes can add as-link capability information to the open message. This as-link capability information indicates that the node has the ability to send as-link messages. When all nodes to be established as neighbors have as-link capabilities, the neighbor relationship between the nodes is successfully established.
[0291] The above mainly describes the solution provided by the embodiments of this application from the perspective of the interaction between the first node and the second node. It is understood that, in order to achieve the above functions, the first node and the second node include corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should readily recognize that, in conjunction with the units and algorithm steps of the various examples described in the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0292] This application embodiment can divide the first node and the second node into functional modules according to the above method example. For example, each function can be divided into its own functional modules, or two or more functions can be integrated into one module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods. The following description uses the division of functional modules according to each function as an example.
[0293] When using integrated units, Figure 25 A schematic diagram of a routing and forwarding device involved in the above embodiments is shown. The device can be a first node or a chip applied to a first node, and includes a receiving unit 2501, a processing unit 2502, and a sending unit 2503. In one possible embodiment, the receiving unit 2501 supports the device in executing S501 of the above method embodiments, and the processing unit 2502 supports the device in executing S502 of the above method embodiments. In another possible embodiment, the receiving unit 2501 supports the device in executing S1501 and S1505 of the above method embodiments, and the processing unit 2502 supports the device in executing S1502, S1503, S1504, and S1506 of the above method embodiments.
[0294] All relevant content of each step involved in the above method embodiments can be referenced from the functional description of the corresponding functional module, and will not be repeated here in the embodiments of this application.
[0295] Based on hardware implementation, the receiving unit 2501 in this application embodiment can be the receiver of the device, the processing unit 2502 can be the processor of the device, and the sending unit 2503 can be the transmitter of the device. The transmitter can usually be integrated with the receiver as a transceiver. The specific transceiver can also be called a communication interface or interface circuit.
[0296] like Figure 26 The diagram shown is a structural schematic of another message forwarding device involved in the above embodiments provided in this application. The device can be used as a routing forwarding device or a chip applied to a routing forwarding device. The device includes a processor 2612 and a transceiver 2613. Furthermore, the device also includes a memory 2611 and a bus 2614. The processor 2612, the memory 2611 and the transceiver 2613 are connected through the bus 2614.
[0297] The processor 2612 is used to control and manage the operation of the device. In one possible embodiment, the processor 2612 is used to support the device in executing S501 of the above method embodiment, and / or other technical processes described herein. In another possible embodiment, the processor 2612 is used to support the device in executing S502 of the above method embodiment, such as establishing a topology based on at least one AS information, and / or other technical processes described herein. The transceiver 2613 is used to support the device in communication, such as supporting the device in communicating with a second node.
[0298] In this embodiment, the processor 2612 may be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processor may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a digital signal processor and a microprocessor, etc. The bus 2614 may include an address bus, a data bus, a control bus, etc.
[0299] When using integrated units, Figure 27 A schematic diagram of another routing and forwarding device involved in the above embodiments is shown. This device can be a second node or a chip applied to a second node, and includes: a receiving unit 2701, a processing unit 2702, and a transmitting unit 2703. All relevant content of each step involved in the above method embodiments can be referenced to the functional description of the corresponding functional module, and will not be repeated here.
[0300] Based on hardware implementation, the receiving unit 2701 in this application embodiment can be the receiver of the device, the processing unit 2702 can be the processor of the device, and the sending unit 2703 can be the transmitter of the device. The transmitter can usually be integrated with the receiver as a transceiver. The specific transceiver can also be called a communication interface or interface circuit.
[0301] like Figure 28 The diagram shown is a structural schematic of another message forwarding device involved in the above embodiments provided in this application. The device can be used as a routing forwarding device or a chip applied to a routing forwarding device. The device includes a processor 2812 and a transceiver 2813. Furthermore, the device also includes a memory 2811 and a bus 2814. The processor 2812, the memory 2811 and the transceiver 2813 are connected through the bus 2814.
[0302] The processor 2812 is used to control and manage the operation of the device. In one possible embodiment, the processor 2812 is used to support the device in executing the relevant steps performed by the second node in the above method embodiment. The transceiver 2813 is used to support the device in communication, such as supporting the device in communicating with the first node.
[0303] In this embodiment, the processor 2812 may be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processor may also be a combination that implements computational functions, such as a combination of one or more microprocessors, a combination of a digital signal processor and a microprocessor, etc. The bus 2814 may include an address bus, a data bus, a control bus, etc.
[0304] In another embodiment of this application, a routing and forwarding system is provided, which includes a first node and a second node; wherein the first node may be or include the aforementioned... Figure 25 or Figure 26 The provided apparatus is used to perform the steps of the first node in the above-described method embodiment; the second node may be or include the steps described above. Figure 27 or Figure 28 The provided apparatus is used to perform the steps of the second node in the above-described method embodiments.
[0305] It is understood that all relevant content of each step involved in the above method embodiments can be referenced in the embodiments of the message forwarding device and the embodiments of the routing forwarding system, and will not be repeated here.
[0306] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of modules or units is merely a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another apparatus, or some features may be ignored or not executed.
[0307] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0308] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. This readable storage medium may include various media capable of storing program code, such as a USB flash drive, external hard drive, read-only memory, random access memory, magnetic disk, or optical disk. Based on this understanding, the technical solution of the embodiments of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product.
[0309] In another embodiment of this application, a chip is provided, which includes a processor and an interface circuit. The processor and the interface circuit are used to support the chip in performing one or more steps executed by the first node in the method embodiments provided above.
[0310] In another embodiment of this application, a different chip is provided, which includes a processor and an interface circuit. The processor and the interface circuit are used to support the chip in performing one or more steps of the second node in the method embodiments provided above.
[0311] In another embodiment of this application, a computer-readable storage medium is provided, which stores a computer program or instructions that, when executed, implement one or more steps performed by the first node in the method embodiment provided above.
[0312] In another embodiment of this application, a different computer-readable storage medium is provided, which stores a computer program or instructions that, when executed, implement one or more steps performed by the second node in the method embodiments provided above.
[0313] In another embodiment of this application, a computer program product is provided, comprising: a computer program (or code, or instructions) that, when run, causes a computer to perform one or more steps as performed by the first node in the method embodiments provided above.
[0314] In another embodiment of this application, a computer program product is provided, comprising: a computer program (or code, or instructions) that, when run, causes a computer to perform one or more steps as performed by the second node in the method embodiments provided above.
[0315] Finally, it should be noted that the above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A routing management method, characterized in that, The method includes: The first node receives the first message, which carries information about at least one Autonomous System (AS) that the first message passes through during its transmission. The first node establishes a topology based on the information of the at least one AS, the topology including the at least one AS; the topology is used by the first node to manage local routing information.
2. The method according to claim 1, characterized in that, The first message is of type Autonomous System-Link (AS-Link) message, and the AS-Link message includes a first field; the first field is used to indicate that the first message is a learning up message.
3. The method according to claim 2, characterized in that, The first message also includes a second field; the information of the at least one AS is located in the second field.
4. The method according to claim 2 or 3, characterized in that, The first message also includes a third field, which is used to carry information about the AS corresponding to the first node.
5. The method according to any one of claims 2 to 4, characterized in that, The first message also includes a fourth field, which is used to carry information about the AS corresponding to the second node; the second node is a neighbor node of the first node, and the first message is sent from the second node to the first node.
6. The method according to claim 5, characterized in that, The first message also includes a fifth field, which is used to carry information about the AS corresponding to the third node and information about the AS corresponding to the second node; The third node is a neighbor node of the second node, and the first message is sent from the third node to the second node.
7. The method according to any one of claims 2 to 6, characterized in that, The as-link message also includes a sixth field, which is used to indicate that the as-link message carries learning information, deletion information, or loop prevention information.
8. The method according to any one of claims 2 to 7, characterized in that, The first message also includes a seventh field and an eighth field, wherein the seventh field is used to indicate the AS corresponding to the source node of the first message; and the eighth field is used to indicate the device identifier of the source node of the first message.
9. The method according to any one of claims 5 to 8, characterized in that, The method further includes: The first node sends a second message obtained based on the first message to the fourth node; the second message includes information about the AS corresponding to the first node and information about the AS corresponding to the fourth node; the fourth node is a neighbor node of the first node.
10. The method according to claim 9, characterized in that, The AS corresponding to the fourth node is different from the AS corresponding to the second node.
11. The method according to any one of claims 1 to 10, characterized in that, The method further includes: The first node obtains local routing information; the local routing information includes address prefix, next-hop address, and AS information. The first node associates the address prefix, the next-hop address, and the at least one AS included in the topology with the AS information in the local routing information to obtain an association relationship; the association relationship includes the at least one AS, the address prefix, and the next-hop address.
12. The method according to any one of claims 1 to 11, characterized in that, The method further includes: The first node receives a third message, the third message carrying unreachable information; the unreachable information includes information of a first AS, the first AS being included in the at least one AS; The first node deletes the target routing information from the local routing information; the address prefix corresponding to the target routing information is the address prefix corresponding to the first AS in the association relationship; the next-hop address corresponding to the target routing information is the address corresponding to the second node, the second node is the neighbor node of the first node, and the third message is sent from the second node to the first node.
13. The method according to claim 12, characterized in that, The third message is of type as-link and includes a ninth field, which indicates that the third message is a delete down message.
14. The method according to claim 13, characterized in that, The third message includes a tenth field, which carries the unreachable information.
15. The method according to claim 13 or 14, characterized in that, The third message also includes as-path information, which is used to indicate information about at least one AS that the third message passes through during transmission.
16. The method according to any one of claims 12 to 15, characterized in that, The method further includes: If there is no available next-hop address corresponding to the address prefix of the first AS, the first node sends the third message to the fourth node, which is a neighbor node of the first node.
17. The method according to claim 16, characterized in that, The first node sends the third message to the fourth node, including: If the AS-path information does not include the AS corresponding to the fourth node, the first node sends the third message to the fourth node.
18. The method according to any one of claims 1 to 17, characterized in that, The method further includes: The first node sends capability information to the node to which a neighbor relationship is to be established, the capability information being used to indicate that the first node can send the first message.
19. A routing management method, characterized in that, The method includes: The second node obtains a first message, which carries information about at least one Autonomous System (AS) that the first message passes through during its transmission. The first message is used by the first node to establish a topology based on the information of the at least one AS, and the topology includes the at least one AS. The topology is used by the first node to manage local routing information based on the topology. The second node sends the first message to the first node, where the first node is a neighbor node of the second node.
20. The method according to claim 19, characterized in that, The first message is of type Autonomous System-Link (AS-Link) message, and the AS-Link message includes a first field; the first field is used to indicate that the first message is a learning up message.
21. The method according to claim 20, characterized in that, The first message also includes a second field; the information of the at least one AS is located in the second field.
22. The method according to claim 20 or 21, characterized in that, The first message also includes a third field, which is used to carry information about the AS corresponding to the first node.
23. The method according to any one of claims 20 to 22, characterized in that, The first message also includes a fourth field, which is used to carry information about the AS corresponding to the second node.
24. The method according to any one of claims 19 to 23, characterized in that, The first message also includes a fifth field, which is used to carry information about the AS corresponding to the third node and information about the AS corresponding to the second node; The third node is a neighbor node of the second node, and the first message is sent from the third node to the second node.
25. The method according to any one of claims 20 to 24, characterized in that, The as-link message also includes a sixth field, which is used to indicate that the as-link message carries learning information, deletion information, or loop prevention information.
26. The method according to any one of claims 20 to 25, characterized in that, The first message also includes a seventh field and an eighth field, wherein the seventh field is used to indicate the AS corresponding to the source node of the first message; and the eighth field is used to indicate the device identifier of the source node of the first message.
27. The method according to any one of claims 19 to 26, characterized in that, The second node obtains the first message, including: When the second node confirms the existence of a new neighbor node, the second node establishes the first message. The first message also carries information about the AS corresponding to the new neighbor node. The first message is used to instruct the first node to add the AS corresponding to the new neighbor node in the topology.
28. The method according to any one of claims 19 to 27, characterized in that, The method further includes: The second node obtains a third message, which carries unreachable information; the unreachable information includes information about a first AS, which is included in the at least one AS; the third message is used by the first node to delete the target route information in the local routing information; the address prefix corresponding to the target route information is the address prefix corresponding to the first AS in the association relationship; the next-hop address corresponding to the target route information is the address corresponding to the second node. The second node sends the third message to the first node.
29. The method according to claim 28, characterized in that, The third message is of type as-link and includes a ninth field, which indicates that the third message is a delete down message.
30. The method according to claim 29, characterized in that, The third message includes a tenth field, which carries the unreachable information.
31. The method according to claim 29 or 30, characterized in that, The third message also includes as-path information, which is used to indicate information about at least one AS that the third message passes through during transmission.
32. The method according to any one of claims 28 to 31, characterized in that, The method further includes: When the second node confirms the existence of a neighbor node to be deleted, the second node establishes the third message, which also carries information about the AS corresponding to the neighbor node to be deleted. The third message is used to instruct the first node to delete the AS corresponding to the neighbor node to be deleted in the topology.
33. A routing and forwarding device, characterized in that, The routing and forwarding device includes: a processor and a memory; The memory is used to store program instructions, which, when executed by the processor, cause the routing forwarding device to perform the routing management method as described in any one of claims 1-18.
34. A routing and forwarding device, characterized in that, The routing and forwarding device includes: a processor and a memory; The memory is used to store program instructions, which, when executed by the processor, cause the routing forwarding device to perform the routing management method as described in any one of claims 19-32.
35. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores instructions that, when executed on a computer, cause the computer to perform the routing management method according to any one of claims 1-18 or 19-32.