Routing method, communication equipment and related device
By introducing the concept of fault domain in the communication network, link fault notifications are only transmitted in the fault domain, the problem of routing equipment pressure caused by link failure is solved, and the effect of reducing routing computing overhead and improving network stability is achieved.
Patent Information
- Application Number
- CN202311096162.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-28
- Publication Date
- 2025-02-28
AI Technical Summary
In a communication network, as the number of routing devices and links increases, the probability of link failure also increases, resulting in the intensification of LSA flood pressure and routing computing pressure of each routing device in the routing domain.
By introducing the fault domain concept in the routing device, link fault notifications are only delivered within the fault domain, avoiding broadcasting throughout the routing domain, thereby reducing the routing computing overhead of the routing device.
It reduces the routing computing and network overhead of network devices, reduces the pressure on routing devices in the domain caused by link failure, and improves the stability and efficiency of the network.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a routing method, communication equipment and related devices. Background Art
[0002] In a communication network, there are multiple factors that can cause the state of a routing device or port to change, which in turn causes a link failure in the communication network. For example, due to the influence of the solar eclipse phenomenon, a routing device needs to be shut down for a short period of time, causing the link associated with the routing device to fail.
[0003] When a routing device senses a link failure, it encapsulates the link failure into a link state advertisement (LSA) and floods it throughout the routing domain where the routing device is located. After receiving the LSA, each router in the routing domain updates the network topology and recalculates and generates the routing table.
[0004] As the number of routing devices and links in a routing domain increases, the probability of link failure in the routing domain also increases. Each time a link failure occurs, each routing device in the routing domain needs to perform LSA flooding and route calculation, which increases the LSA flooding pressure and route calculation pressure of each routing device in the routing domain. Summary of the invention
[0005] The present application provides a routing method, a communication device and related apparatus for reducing the routing calculation overhead of a network device.
[0006] In the first aspect, the present application provides a routing method. A routing domain includes N network devices and links between the N network devices, where N is an integer greater than or equal to 3. After a network device in the routing domain determines that a link (i.e., a first link) fails, the network device can be used as a first network device to execute the routing method in the present application. In other words, the first network device comes from a fault domain, which includes N network devices including the first network device and links between the N network devices.
[0007] Specifically, the first network device can determine that the first link fails in multiple ways. For example, if the first network device is a directly connected node (source node or destination node) of the first link, then when the first link fails, the first network device can perceive the failure of the first link; for another example, if the first network device is not a directly connected node (source node or destination node) of the first link, then the directly connected node of the first link can notify the first network device of the failure of the first link.
[0008] After the first network device determines that the first link has failed, it will not notify the network devices in the entire routing domain that the first link has failed. The first network device first determines the fault domain to which the first link belongs. Among them, the routing domain to which the first network device belongs is determined by the topological structure between the first network device and other network devices. As can be seen from the above, the routing domain includes N network devices and links between N network devices. The fault domain to which the first link belongs in the present application is calculated by the first network device based on the link status of the first link (such as link failure or link recovery) and the topological structure between the first network device and other network devices. The fault domain includes M network devices in the routing domain to which the first network device belongs and the links between the M network devices, where M is an integer greater than or equal to 2 and less than N. Among them, the links between the M network devices in the fault domain include faulty links and connected links. In other words, the first network device can perceive all faulty links and connected links in the fault domain.
[0009] In the present application, a network device and a link can only be divided into one fault domain. Therefore, when any node (network device) in the fault domain calculates the fault domain to which the first link belongs, it will be consistent with the fault domain to which the first link belongs calculated by other nodes in the fault domain.
[0010] The second network device is the network device of the next hop of the first network device. In the entire routing domain, the number of second network devices is one or more. The first network device only sends a link fault notification to the second network device in the fault domain, and does not send a link fault notification to the second network device that is not in the fault domain. In summary, in the present application, the network device only transmits the link fault notification to the next hop network device in the fault domain. In other words, the link fault notification corresponding to the faulty link is only transmitted within the fault domain to which the faulty link belongs. Therefore, the link fault notification will not be transmitted between all network devices in the entire routing domain, reducing the network overhead of the network device. On the other hand, it is not necessary for all network devices to perform routing calculations for each link failure, reducing the computing power overhead of the network device.
[0011] Based on the first aspect, in an optional implementation, the first network device re-calculates the route for the failure of the first link to obtain a second link in the fault domain, and the second link is used to connect the source node and the destination node of the first link. In the present application, since the link failure notification is only transmitted within the fault domain, the route calculation for the faulty link is only performed on the network devices within the fault domain. Specifically, each network device within the fault domain will determine a new link within the fault domain that does not pass through the faulty link based on the network topology of the routing domain and the calculated fault domain. Other network devices outside the fault domain cannot perceive the link failure because they have not received the link failure notification, and will not perform route calculation, thereby reducing the computing power overhead of network devices outside the fault domain.
[0012] Based on the first aspect, in an optional implementation, the first network device is not a directly connected node of the first link, and the third network device is a directly connected node of the first link. The third network device first senses that the first link has failed, then calculates the fault domain to which the first link belongs, and a link fault notification is generated by the third network device. Since the link fault notification corresponding to the faulty link is only transmitted within the fault domain to which the faulty link belongs. Therefore, the third network device and the first network device should both come from the fault domain to which the first link belongs, so that the link fault notification can be transmitted to the first network device. After the first network device subsequently receives the link fault notification, it determines that the first link indicated by the link fault notification has failed, and calculates the fault domain to which the first link belongs, so as to continue to transmit the link fault notification within the fault domain. Among them, the range of the fault domain calculated by the first network device is consistent with the range of the fault domain calculated by the third network device.
[0013] Based on the first aspect, in an optional implementation, the fault domain to which the first link belongs includes multiple fault links including the first link. Therefore, when the first network device calculates the fault domain of the first link, it will also combine other fault links to uniquely determine a fault domain. Thus, the fault domain to which the first link belongs can be combined with other fault links, so that multiple fault links can be bypassed during subsequent route calculation, thereby improving the efficiency of route calculation. For example, if the first network device has calculated a unique fault domain for other fault links before determining that the first link has failed, it means that the first network device has been divided into a fault domain together with other fault links. After the first network device determines that the first link has failed, the first network device will combine the first link and the existing fault links to uniquely determine a fault domain (equivalent to updating the existing fault domain); for another example, if the first network device is not divided into any fault domain before determining that the first link has failed, the first network device will calculate the fault domain based on the first link. If there are other newly added fault links later, the first network device will update the fault domain based on the combination of the first link and the other newly added fault links.
[0014] Based on the first aspect, in an optional implementation, if the link in the fault domain has been restored to connectivity, the link recovery notification for the link is also only transmitted within the fault domain. Specifically, after the first network device determines that the fault of the first link has been restored to connectivity, the first network device also only sends a link recovery notification to the second network device in the fault domain, and the link recovery notification is used to indicate that the first link is connected and the fault has been restored. Therefore, the link failure notification is only transmitted within the fault domain to which the first link belongs. Similarly, the link recovery notification is only transmitted within the fault domain to which the first link belongs, further reducing the network overhead of network devices outside the fault domain.
[0015] Based on the first aspect, in an optional implementation, the link fault notification in the present application includes a target field. After receiving the link fault notification, the network device parses and identifies that the link fault notification carries the target field, and determines that the link fault notification belongs to the special link fault notification in the present application. The network device then transmits the link fault notification only within the fault domain. In other words, when the target field is carried in the link fault notification, the target field is used to indicate that the link fault notification is only transmitted within the fault domain. In this way, by carrying the target field on the basis of the traditional link fault notification, it is only necessary to expand the existing protocol message, thereby improving the transmission efficiency of the link fault notification in the present application.
[0016] Based on the first aspect, in an optional implementation, the link recovery announcement in the present application includes a target field. After the network device receives the link recovery announcement, it parses and identifies that the link recovery announcement carries the target field, and determines that the link recovery announcement belongs to the special link recovery announcement in the present application. The network device then transmits the link recovery announcement only within the fault domain. In other words, when the target field is carried in the link recovery announcement, the target field is used to indicate that the link recovery announcement is only transmitted within the fault domain. In this way, by carrying the target field on the basis of the traditional link recovery announcement, it is only necessary to expand the existing protocol message, thereby improving the transmission efficiency of the link recovery announcement in the present application.
[0017] Based on the first aspect, in an optional implementation, in a link state notification message (including a link failure notification and a link recovery notification) of the BGP protocol, a new network layer reachability information (Network Layer Reachability Information, NLRI) can be defined as the first NLRI in the present application, the first NLRI includes the reachability information of the link corresponding to the link state notification (i.e., the first link in the present application), and the first NLRI is also used to carry a target field, for example, the target field can be a type value of the first NLRI. Since the first NLRI in the link state notification carries a target field, and the target field is used to indicate that the link state notification is only transmitted within the fault domain, the link state notification including the first NLRI is only transmitted within the fault domain. Further, in the BGP protocol, the first path attribute is an optional path attribute in the link state notification, and the first path attribute is used to indicate that a link failure has occurred. If the link state notification carries the first path attribute, it means that the link state notification is a link failure notification; if the link state notification does not carry the first path attribute, it means that the link state notification is a link recovery notification. Therefore, the link failure notification in the present application may include the above-mentioned first NLRI and the above-mentioned first path attribute, wherein the first path attribute is used to indicate that a link failure has occurred, the first NLRI includes the reachability information of the first link, and the target field is carried in the first NLRI. The network device can determine that a link failure has occurred through the first path attribute, and through the reachability information of the first link in the first NLRI, it can be determined that the link indicated by the first path attribute that the link failure has occurred is the first link, and through the target field in the first NLRI, it can be determined that the link failure notification is only transmitted within the fault domain.
[0018] Based on the first aspect, in an optional implementation, the link recovery announcement in the present application includes the above-mentioned first NLRI, the first NLRI includes the reachability information of the first link, and the target field is carried in the first NLRI. Therefore, the network device can determine that the link on which the link recovery has occurred is the first link through the reachability information of the first link in the first NLRI, and can determine that the link recovery announcement is only transmitted within the fault domain through the target field in the first NLRI.
[0019] The present application adds a new NLRI type (i.e., the first NLRI), which is different from the traditional NLRI, so that the first NLRI is more independent in receiving, storing, changing, revoking and publishing logic, reducing the impact and dependence on the original BGP protocol standard message processing process.
[0020] Based on the first aspect, in an optional implementation, in the link state notification message (including link failure notification and link recovery notification) of the BGP protocol, a new path attribute can be defined as the second path attribute in the present application. The second path attribute is used to carry the target field, for example, the second path attribute can carry a specific identifier as the target field in the present application. Since the second path attribute in the link state notification carries the target field, and the target field is used to indicate that the link state notification is only transmitted within the fault domain, the link state notification including the second path attribute is only transmitted within the fault domain. Further, in the BGP protocol, the first path attribute is an optional path attribute in the link state notification, and the first path attribute is used to indicate that a link failure has occurred. If the link state notification carries the first path attribute, it means that the link state notification is a link failure notification; if the link state notification does not carry the first path attribute, it means that the link state notification is a link recovery notification. Therefore, the link failure notification in the present application includes the second NLRI, the above-mentioned first path attribute and the above-mentioned second path attribute. Among them, the first path attribute is used to indicate that a link failure has occurred, the second path attribute is used to carry a target field, and the second NLRI includes the reachability information of the first link. Therefore, the network device can determine that a link failure has occurred through the first path attribute, and through the reachability information of the first link in the second NLRI, it can be determined that the link where the link failure has occurred indicated by the first path attribute is the first link, and through the target field in the second path attribute, it can be determined that the link failure notification is only transmitted within the fault domain.
[0021] Based on the first aspect, in an optional implementation, the link recovery notification in the present application includes a second NLRI and a second path attribute, the second NLRI includes the reachability information of the first link, and the second path attribute carries a target field. Therefore, the network device can determine that the link on which the link recovery has occurred is the first link through the reachability information of the first link in the second NLRI, and can determine that the link recovery notification is only transmitted within the fault domain through the target field in the second path attribute.
[0022] A new path attribute type (i.e., the second path attribute) is added in the present application to distinguish it from the traditional path attribute, so that the second path attribute is more independent in receiving, storing, changing, revoking and publishing logic, thereby reducing the impact and dependence on the original BGP protocol standard message processing process.
[0023] Based on the first aspect, in an optional implementation, the link failure notification in the present application includes a second NLRI and the above-mentioned first path attribute. Among them, the first path attribute is used to indicate that a link failure has occurred, and the first path attribute also carries a target field, and the second NLRI includes the reachability information of the first link. Therefore, the network device can determine that a link failure has occurred through the first path attribute, and through the target field in the first path attribute, it can be determined that the link failure notification is only transmitted within the fault domain, and through the reachability information of the first link in the second NLRI, it can be determined that the link indicated by the first path attribute where the link failure has occurred is the first link. On the basis of using the existing first path attribute, only a valid value definition is added to the first path attribute, so that the changes to the BGP protocol are relatively small, and the transmission efficiency of the link failure notification is relatively high.
[0024] In a second aspect, the present application provides a first network device, including:
[0025] A processing unit, configured to determine that a first link fails, wherein the first network device is from a failure domain, the failure domain includes N network devices and links between N network devices, where N is an integer greater than or equal to 3;
[0026] The processing unit is further configured to determine a fault domain to which the first link belongs, the fault domain including M network devices in the routing domain and links between the M network devices, wherein the fault domain includes the first network device and the first link, and M is an integer greater than or equal to 2 and less than N;
[0027] The transceiver unit is used to send a link failure notification only to the second network device in the failure domain, where the link failure notification indicates that the first link is a failed link in the failure domain and the second network device is a next-hop network device of the first network device.
[0028] Based on the second aspect, in an optional implementation, the processing unit is further used to determine a second link in the fault domain, where the second link is used to connect a source node and a destination node of the first link.
[0029] Based on the second aspect, in an optional implementation manner, the processing unit is specifically configured to:
[0030] receiving a link failure notification from a third network device, the link failure notification indicating that a failure occurs on the first link, wherein the third network device is from a failure domain;
[0031] The first network device determines that a first link indicated by the link failure notification fails.
[0032] Based on the second aspect, in an optional implementation manner, the processing unit is specifically configured to determine a fault domain according to multiple faulty links including the first link.
[0033] Based on the second aspect, in an optional implementation manner, the processing unit is further configured to determine that the failure of the first link has been restored;
[0034] A link recovery notification is sent only to the second network device in the fault domain, and the link recovery notification indicates that the fault of the first link has been recovered.
[0035] Based on the second aspect, in an optional implementation manner, the link failure notification includes a target field, where the target field is used to indicate that the link failure notification is only transmitted within the fault domain.
[0036] Based on the second aspect, in an optional implementation, the link recovery announcement includes a target field, and the target field is used to indicate that the link recovery announcement is only transmitted within the fault domain.
[0037] Based on the second aspect, in an optional implementation, the link failure notification includes first network layer reachability information NLRI and a first path attribute, the first path attribute is used to indicate that a link failure has occurred, the first NLRI includes reachability information of the first link, wherein the target field is carried in the first NLRI.
[0038] Based on the second aspect, in an optional implementation, the link recovery announcement includes first network layer reachability information NLRI, wherein the first NLRI includes reachability information of the first link, wherein the target field is carried in the first NLRI.
[0039] Based on the second aspect, in an optional implementation, the link failure notification includes a second NLRI, a first path attribute, and a second path attribute, the first path attribute is used to indicate that a link failure has occurred, the second path attribute is used to carry a target field, and the second NLRI includes reachability information of the first link.
[0040] Based on the second aspect, in an optional implementation manner, the link recovery announcement includes a second NLRI and a second path attribute, the second NLRI includes reachability information of the first link, and the second path attribute is used to carry a target field.
[0041] Based on the second aspect, in an optional implementation, the link failure notification includes a second NLRI and a first path attribute, the second NLRI includes reachability information of the first link, the first path attribute is used to indicate that a link failure has occurred, and the first path attribute is used to carry a target field.
[0042] The information interaction and execution process and other contents of the embodiment shown in this aspect are based on the same concept as the embodiment shown in the first aspect. Therefore, for the description of the beneficial effects shown in this aspect, please refer to the above-mentioned first aspect, and the details will not be repeated here.
[0043] In a third aspect, an embodiment of the present application provides a network device, comprising: a processor, the processor is coupled to a memory, the memory is used to store instructions, when the instructions are executed by the processor, the network device implements the method in the above-mentioned first aspect, or any possible implementation of the first aspect.
[0044] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium having instructions stored thereon, which, when executed, causes a computer to execute the method in the above-mentioned first aspect, or any possible implementation of the first aspect.
[0045] In a fifth aspect, an embodiment of the present application provides a computer program product, which includes a computer program code. When the computer program code runs on a computer, it enables the computer to execute the method in the above-mentioned first aspect or any possible implementation manner of the first aspect.
[0046] In a sixth aspect, an embodiment of the present application provides a chip, comprising: a processor, the processor is coupled to a memory, the memory is used to store instructions, and when the instructions are executed by the processor, the chip implements the method in the above-mentioned first aspect, or any possible implementation of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.
[0048] Figure 1 A possible scenario diagram of LSA flooding caused by link failure.
[0049] Figure 2 A possible, non-limiting schematic diagram of a communication system architecture of a routing method in an embodiment of the present application;
[0050] Figure 3 A schematic diagram of a flow chart of a routing method in an embodiment of the present application;
[0051] Figure 4 A schematic diagram of a scenario in which a network device calculates a fault domain in an embodiment of the present application;
[0052] Figure 5 A schematic diagram of a scenario in which a link fault notification is transmitted within a fault domain in an embodiment of the present application;
[0053] Figure 6 A possible open message schematic diagram provided in an embodiment of the present application;
[0054] Figure 7 A possible structural diagram of the first NLRI in an embodiment of the present application;
[0055] Figure 8 A possible structural diagram of the second path attribute in an embodiment of the present application;
[0056] Fig. 9 A possible structural diagram of the first path attribute in an embodiment of the present application;
[0057] Fig.10 This is a schematic diagram of the Opaque Information field;
[0058] Fig.11 The figure is a schematic diagram of the LSA function code;
[0059] Fig.12 A schematic diagram of the LSP field format;
[0060] Fig.13 A schematic diagram of the structure of a communication device provided in an embodiment of the present application;
[0061] Fig.14 A schematic diagram of the structure of a network device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0062] The embodiments of the present application provide a routing method, a communication apparatus and a communication device for reducing the routing calculation overhead of a network device.
[0063] The embodiments of the present application are described below in conjunction with the drawings in the embodiments of the present application. The terms used in the implementation mode of the present application are only used to explain the specific embodiments of the present application, and are not intended to limit the embodiments of the present application. It is known to those skilled in the art that with the development of technology and the emergence of new scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
[0064] In the embodiments of the present application, "at least one" refers to one or more, and "more than one" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items 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, c can be single or multiple.
[0065] The terms "first", "second", "third", "fourth", etc. (if any) in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can, for example, be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0066] Some nouns or terms used in the embodiments of the present application are explained below, and these nouns or terms are also considered as part of the content of the invention.
[0067] Single particle: There are a large number of high-energy charged particles in the space environment. The electronic components in the computer are exposed to the earth's magnetic field or cosmic rays, causing the potential state to jump, for example, from "0" to "1", or from "1" to "0", but generally does not cause physical damage to the device.
[0068] Solar eclipse: When the sun passes through the equator, it is located above the earth's equator and emits strong electromagnetic radiation. Since communication satellites are mostly fixed above the equator, during this period, if the sun, communication satellite and ground satellite receiving antenna happen to be in a straight line, the strong electromagnetic radiation from the sun will cause strong interference to the satellite downlink signal. This phenomenon is called solar eclipse. In the case of solar eclipse, in order to avoid damage to communication electronic devices, you can choose to turn off the laser device, resulting in a disconnection of the network link.
[0069] Link state advertisement (LSA): Open Shortest Path First (OSPF) is widely deployed in enterprise data center networks and operator metropolitan area networks because of its simple deployment. In an autonomous system, each network device running OSPF collects its own interface / adjacent information called link state (LS). Through link state advertisement (LSA), it can broadcast its own link state in the entire system, so that a synchronized link state database (LSDB) is maintained in the entire system.
[0070] Each network device establishes and maintains an adjacency relationship by periodically sending Hello messages. The network devices that form an adjacency relationship spread LSAs by flooding, so that each network device eventually forms the same LSDB. Specifically, a network device sends LSAs to all adjacent network devices that have an adjacency relationship with the network device. Each adjacent network device will save a copy of LSA and send LSAs to all adjacent network devices that have an adjacency relationship with it. The header format of LSA contains LSAge field, options field, link state type (LStype) field, link state identifier (LSID) field, advertising router identifier (AdvertisingRouterID) field, link state sequence number (LSsequencenumber) field, link state checksum (LSchecksum) field and length (Length) field.
[0071] Fault domain: The minimum connected domain defined by calculation in the network based on link fault status information, referred to as the fault domain for short.
[0072] Next, possible scenarios involved in the implementation of this application are introduced.
[0073] In a communication network, there are multiple factors that can cause the state of a routing device or port to change, which in turn causes a link failure in the communication network. For example, due to the influence of the solar eclipse phenomenon, a routing device needs to be shut down for a short period of time, causing the link associated with the routing device to fail.
[0074] When a routing device senses a link failure, it encapsulates the link failure into a link state advertisement (LSA) and floods it throughout the routing domain where the routing device is located. After receiving the LSA, each router in the routing domain updates the network topology and recalculates and generates the routing table.
[0075] As the number of routing devices and links in a routing domain increases, the probability of link failure in the routing domain also increases. Each time a link failure occurs, each routing device in the routing domain needs to perform LSA flooding and route calculation, which increases the LSA flooding pressure and route calculation pressure of each routing device in the routing domain.
[0076] For example, see Figure 1 , Figure 1 Figure 1 is a possible scenario diagram of LSA flooding caused by link failure. Figure 1 As shown, taking the failure of the link between network device 2-3 and network device 3-3 as an example, when network device 2-3 or network device 3-3 senses the link failure, it encapsulates the link failure into a link state advertisement (link state advertisement, LSA) and Figure 1 The LSA is flooded in the entire routing domain as shown. After receiving the LSA, the network devices in the routing domain update the network topology and recalculate and generate the routing table.
[0077] When the number of network devices (nodes) and links in the routing domain increases, the probability of link failure in the routing domain also increases, exacerbating the flooding of nodes in the routing domain and the pressure of routing calculation. In some special environments, the impact of this pressure will be further amplified. For example, in satellite networks, link interruption events caused by solar eclipse suppression or single particle events occur every tens of seconds. Figure 1 The method of flooding LSAs in the entire routing domain will bring huge resource overhead to network devices. Frequent routing calculations will also make it difficult for network devices to converge routing calculations.
[0078] In view of this, the embodiments of the present application provide a routing method, a communication device and a communication equipment for reducing the routing calculation overhead of network equipment. For ease of understanding, first, a possible, non-restrictive system architecture of the routing method in the embodiments of the present application is introduced. Figure 2 , Figure 2FIG. 1 is a possible, non-limiting communication system architecture diagram of the routing method in the embodiment of the present application. Figure 2 As shown, the routing method in the embodiment of the present application can be applied to a communication system, the communication system includes multiple network devices, and the network devices in the communication system are connected to each other to form at least one routing domain. Figure 2 The communication systems shown include, but are not limited to, satellite communications, fifth generation (5G) systems or new radio (NR), long term evolution (LTE) systems, LTE frequency division duplex (FDD) systems, LTE time division duplex (TDD), universal mobile telecommunication systems (UMTS), mobile communication systems after 5G networks (e.g., 6G mobile communication systems), or vehicle to everything (V2X) communication systems, etc.
[0079] The network device in the embodiment of the present application is an entity for sending signals, or receiving signals, or sending and receiving signals. The network device may be a device deployed in a radio access network (RAN) to provide wireless communication functions for a terminal, for example, a transmission reception point (TRP), a base station (evolved NodeB, eNB or eNodeB), a next generation base station node (next generation node base station, gNB), a next generation eNB (next generation eNB, ng-eNB), etc.), various forms of control nodes (e.g., network controllers, wireless controllers (e.g., wireless controllers in cloud radio access network (CRAN) scenarios)), road side units (road side units, RSUs), etc. Specifically, the network device may be various forms of macro base stations, micro base stations (also called small stations), relay stations, access points (APs), etc., or may be antenna panels of base stations. The control node may connect to multiple base stations and configure resources for multiple terminals covered by multiple base stations. In systems using different radio access technologies (RAT), the names of devices with base station functions may be different. For example, in an LTE system, it can be called eNB or eNodeB, and in a 5G system or NR system, it can be called gNB. This application does not limit the specific name of the base station. The network device can also be a network device in a future evolved public land mobile network (PLMN), etc. Exemplarily, the network device can be a wireless access point (AP), a router or a switch, etc., which is not specifically limited here.
[0080] In a communication system, each network device can communicate with each other through a wireless network, a wired network or a removable storage medium. Among them, the above-mentioned wireless network uses standard communication technology and / or protocol. The wireless network is usually the Internet, but it can also be any network, including but not limited to Bluetooth, local area network (Local Area Network, LAN), metropolitan area network (Metropolitan Area Network, MAN), wide area network (Wide Area Network, WAN), mobile, any combination of private networks or virtual private networks). In some application scenarios, customized or dedicated data communication technology can also be used to replace or supplement the above data communication technology. The removable storage medium can be a universal serial bus (Universal Serial Bus, USB) flash drive, a mobile hard disk or other removable storage medium, etc., and the embodiments of the present application are not limited here.
[0081] Next, the routing method in the embodiment of the present application is introduced. Figure 3 , Figure 3 This is a flow chart of a routing method in an embodiment of the present application. Figure 3 , Figure 3 Schematic diagram of the flow of the routing method in this application. Figure 3 The method is illustrated by taking the interaction between multiple network devices as an example, but the embodiment of the present application does not limit the execution subject of the interaction. Figure 3 The network device in the method may also be a chip, a chip system, or a processor that supports the network device to implement the method, or a logical node, a logical module, or software that can implement all or part of the network device functions. Figure 3 As shown, the routing method in the embodiment of the present application includes:
[0082] 101. A first network device determines that a first link fails.
[0083] A routing domain includes N network devices and links between N network devices, where N is an integer greater than or equal to 3. After a network device in the routing domain determines that a link (i.e., the first link) fails, the network device can be used as the first network device to execute the routing method in the embodiment of the present application. In other words, the first network device comes from a fault domain, which includes N network devices including the first network device and links between N network devices.
[0084] Specifically, the first network device can determine that the first link fails in multiple ways. For example, if the first network device is a directly connected node (source node or destination node) of the first link, then when the first link fails, the first network device can perceive the failure of the first link; for another example, if the first network device is not a directly connected node (source node or destination node) of the first link, then the directly connected node of the first link can notify the first network device of the failure of the first link.
[0085] 102. The first network device determines a fault domain to which the first link belongs.
[0086] After the first network device determines that the first link has failed, it will not notify the network devices in the entire routing domain that the first link has failed. The first network device first determines the fault domain to which the first link belongs. Among them, the routing domain to which the first network device belongs is determined by the topological structure between the first network device and other network devices. As can be seen from the above, the routing domain includes N network devices and links between N network devices. In the embodiment of the present application, the fault domain to which the first link belongs is calculated by the first network device based on the link state of the first link (such as link failure or link recovery) and the topological structure between the first network device and other network devices. The fault domain includes M network devices in the routing domain to which the first network device belongs and the links between the M network devices, where M is an integer greater than or equal to 2 and less than N. Among them, the links between the M network devices in the fault domain include faulty links and connected links. In other words, the first network device can perceive all faulty links and connected links in the fault domain.
[0087] In an embodiment of the present application, a network device and a link can only be divided into one fault domain. Therefore, when any node (network device) in the fault domain calculates the fault domain to which the first link belongs, it will be consistent with the fault domain to which the first link belongs calculated by other nodes in the fault domain.
[0088] See also Figure 4 , Figure 4 FIG. 1 is a schematic diagram of a scenario in which a network device calculates a fault domain in an embodiment of the present application. Figure 4 The link between the network device 2-3 and the network device 3-3 shown is used as the first link in the embodiment of the present application. When the first link fails, both the network device 2-3 and the network device 3-3 will be used as the first network device in the embodiment of the present application to determine the fault domain to which the first link belongs. Among them, the range of the fault domain calculated by the network device 2-3 should be the same as the range of the fault domain calculated by the network device 3-3. In other words, the fault domains of the first link calculated by the network device 2-3 and the network device 3-3 are the same fault domain. Figure 4 In the scenario, the fault domain to which the first link (the link between network device 2-3 and network device 3-3) belongs includes Figure 4 The network devices in the dotted box and the links between them.
[0089] In practical applications, there are often multiple faulty links in a routing domain. In a possible implementation, the fault domain to which the first link belongs includes multiple faulty links including the first link. Therefore, when the first network device calculates the fault domain of the first link, it will also combine other faulty links to uniquely determine a fault domain. Thus, the fault domain to which the first link belongs can be combined with other faulty links, so that multiple faulty links can be bypassed during subsequent routing calculations, thereby improving the efficiency of routing calculations. For example, if the first network device has calculated a unique fault domain for other faulty links before determining that the first link has failed, it means that the first network device has been divided into a fault domain together with other faulty links. Then, after the first network device determines that the first link has failed, the first network device will combine the first link and the existing faulty links to uniquely determine a fault domain (equivalent to updating the existing fault domain); for another example, if the first network device has not been divided into any fault domain before determining that the first link has failed, the first network device will calculate the fault domain based on the first link. If there are other newly added faulty links subsequently, the first network device will update the fault domain according to the combination of the first link and the other newly added faulty links.
[0090] In practical applications, after each network device calculates the fault domain, it is necessary to save and maintain the information of the fault domain. Each network device in the fault domain can maintain a fault neighbor set, such as {nbr1, nbr2, nbr3...}, which is used to indicate the M network devices (neighboring nodes) in the fault domain. In addition, each network device in the fault domain maintains a fault link set, such as {fault link 1, fault link 2, fault link 3...}, which is used to indicate the fault links between the M network devices in the fault domain.
[0091] The rules and algorithms used by the network device to calculate the fault domain can be pre-configured according to the needs of the actual scenario. For example, a possible rule and algorithm for calculating the fault domain provided in the embodiment of the present application is introduced below.
[0092] When calculating the fault domain, the network device can follow the following rules:
[0093] (1) The scope of the fault domain has nothing to do with the order in which network devices obtain faulty links;
[0094] (2) For a faulty link in the faulty link set, if the two ends of the faulty link are directly connected to the nodes (e.g. Figure 4 If the network device 2-2 and the network device 3-2 in the example can still be connected through other links, all nodes on the shortest path connecting the two end nodes should also be classified into the fault domain;
[0095] (3) Assume that the two directly connected nodes at the two ends of the faulty link A are nodes A1 and A2, and the two directly connected nodes at the two ends of the faulty link B are nodes B1 and B2. If nodes A1 and B1 are connected, and nodes A2 and B2 are connected, then nodes A1 and B1 are in the same fault domain.
[0096] (4) Links between nodes in the same fault domain are also located in the fault domain.
[0097] Based on the above rules, the present application embodiment provides the following two algorithms (including Algorithm 1 and Algorithm 2) for calculating the fault domain. In the process of the network device executing Algorithm 1, the following steps are specifically included:
[0098] 1. Retrieve the first failed link from the currently saved set of failed links.
[0099] 2. Consider all faulty links and calculate the unique sub-fault domain including the directly connected nodes at both ends of the faulty link. The "sub-fault domain" can be the minimum cost path connecting the directly connected nodes at both ends of the faulty link, and all nodes in the minimum cost path after removing the passing nodes.
[0100] 3. If there is no other connected path between the two directly connected nodes of the faulty link after removing the passing points from the minimum cost path, then the "sub-fault domain" can be all the nodes on the minimum cost path.
[0101] 4. If the directly connected nodes at both ends of the faulty link cannot be connected, the directly connected nodes at both ends form single point failure domains respectively.
[0102] 5. Continue to search for the next faulty link and repeat steps 2 and 3 until all faulty links in the faulty link set are traversed.
[0103] 6. Assume that the two directly connected nodes of faulty link A are nodes A1 and A2, and the two directly connected nodes of faulty link B are nodes B1 and B2. Then the minimum cost path between nodes A1 and B1 is determined, and all nodes on the minimum cost path are divided into the same sub-fault domain.
[0104] 7. The sub-fault domains with common nodes are merged to form a new sub-fault domain, and the nodes in the sub-fault domain where the network device is located are used as nodes in the local fault domain (that is, the fault domain where the network device is located).
[0105] 8. The nodes that are directly connected to the nodes in the local fault domain but are not located in the fault domain are recorded as the set of out-of-boundary nodes.
[0106] 9. Search the nodes in the node set outside the boundary and find all nodes that are connected to them and whose connection paths do not pass through the nodes in the fault domain. If the number of these nodes accounts for less than a preset threshold (e.g., 5%) of all nodes in the entire routing domain, these nodes and the nodes in the node set outside the boundary are also added to the local fault domain, and the nodes added to the fault domain are removed from the node set outside the boundary.
[0107] 10. If the out-of-boundary node set is not empty, continue to search for the next node in the out-of-boundary node set, repeat steps 7 to 9 until all nodes in the out-of-boundary node set are searched.
[0108] 11. The direct connection edges between nodes in the local fault domain are also added to the local fault domain, and the nodes in the local fault domain and the link information between the nodes are stored in the database of the network device itself.
[0109] The process of the network device executing Algorithm 2 specifically includes the following steps:
[0110] 1. Retrieve the first failed link from the currently saved set of failed links.
[0111] 2. According to the basic topology in the entire routing domain, calculate the only sub-fault domain including the directly connected nodes at both ends of the faulty link. The "sub-fault domain" can be the minimum cost path connecting the directly connected nodes at both ends of the faulty link, and all nodes in the minimum cost path after removing the passing nodes.
[0112] 3. If there is no other connected path between the two directly connected nodes of the faulty link after removing the passing points from the minimum cost path, then the "sub-fault domain" can be all the nodes on the minimum cost path.
[0113] 4. Continue to search for the next faulty link and repeat steps 2 and 3 until all faulty links are searched.
[0114] 5. The sub-fault domains with common nodes are merged to form a new sub-fault domain, and the nodes in the sub-fault domain where the network device is located are used as nodes in the local fault domain (that is, the fault domain where the network device is located).
[0115] 6. For each faulty link in the faulty link set, check the connectivity of the shortest path that forms its sub-fault domain in turn, and for the faulty edge whose shortest path is not connected, consider all the faulty links in the faulty link set, calculate all the minimum cost paths connecting the directly connected nodes at both ends of the edge, remove the passing nodes from the minimum cost path, and then add the nodes in the minimum cost path after removing the passing nodes to the local fault domain.
[0116] 7. The nodes that are directly connected to the nodes in the local fault domain but are not located in the fault domain are recorded as the set of out-of-boundary nodes.
[0117] 8. Search the nodes in the node set outside the boundary and find all nodes that are connected to them and whose connection paths do not pass through the nodes in the fault domain. If the number of these nodes accounts for the number of all nodes in the entire routing domain does not exceed a preset threshold (e.g., 5%), these nodes and the nodes in the node set outside the boundary are also added to the local fault domain, and the nodes added to the fault domain are removed from the node set outside the boundary.
[0118] 9. If the out-of-boundary node set is not empty, continue to retrieve the next node in the out-of-boundary node set, repeat steps 7 to 9 until all nodes in the out-of-boundary node set are retrieved.
[0119] 10. The direct connection edges between nodes in the local fault domain are also added to the local fault domain, and the nodes in the local fault domain and the link information between the nodes are stored in the database of the network device itself.
[0120] It should be understood that the above-mentioned rules and algorithms for calculating routing domains are only exemplary descriptions. In actual applications, the rules or algorithms for calculating fault domains can be flexibly configured for network devices in combination with the needs of actual scenarios. The embodiments of the present application do not limit this.
[0121] If the network device is already in a fault domain, after calculating the new fault domain, the scope of the fault domain to which the network device belongs will change, and other network devices may enter or exit the fault neighbor set. In this regard, the following steps for updating the fault neighbor set and the fault link set can be performed between each network device:
[0122] (1) The existing nodes in the fault neighbor set will save the information of the newly added neighbor nodes and the link status of the newly added neighbor nodes;
[0123] (2) For new neighbor nodes added to the faulty neighbor set, the full faulty neighbor set and faulty link set are saved;
[0124] (3) In the process of updating the fault neighbor set, the newly added neighbor nodes are added to the fault neighbor set, and the nodes that no longer belong to the current fault neighbor set are deleted;
[0125] (4) When the fault neighbor set is empty, or the node is not in the new fault range, it means that the node has exited the fault domain and the fault link set is deleted.
[0126] 103. The first network device sends a link failure notification only to the second network device in the failure domain.
[0127] The second network device is a network device that is the next hop of the first network device. In the entire routing domain, the number of the second network devices is one or more. Figure 3 As shown, the first network device only sends a link fault notification to the second network device in the fault domain, and does not send a link fault notification to the second network device that is not in the fault domain. In summary, in an embodiment of the present application, the network device only transmits a link fault notification to the next-hop network device in the fault domain. In other words, the link fault notification corresponding to the faulty link is only transmitted within the fault domain to which the faulty link belongs. As a result, the link fault notification will not be transmitted between all network devices in the entire routing domain, reducing the network overhead of the network device. On the other hand, it is not necessary for all network devices to perform routing calculations for each link failure, reducing the computing power overhead of the network device.
[0128] See also Figure 5 , Figure 5 FIG. 1 is a schematic diagram of a scenario in which a link failure notification is transmitted within a failure domain in an embodiment of the present application. Figure 5 As shown, after generating the link failure notification, the network device 2-3 and the network device 3-3 only send the link failure notification to the network devices (such as Figure 5 The network device 2-2, the network device 2-4, the network device 3-2 and the network device 3-4) transmit the link failure notification.
[0129] As can be seen from the above, the first network device can be a directly connected node of the first link, so when the first link fails, the first network device can perceive the failure of the first link. In a possible implementation, the first network device is not a directly connected node of the first link, and the third network device is a directly connected node of the first link. The third network device first perceives that the first link has failed, and then calculates the fault domain to which the first link belongs, and the third network device generates a link failure notification. Since the link failure notification corresponding to the failed link is only transmitted within the fault domain to which the failed link belongs. Therefore, the third network device and the first network device should both come from the fault domain to which the first link belongs, and the link failure notification can be transmitted to the first network device. After the first network device receives the link failure notification, it determines that the first link indicated by the link failure notification has failed, and calculates the fault domain to which the first link belongs, so as to continue to transmit the link failure notification within the fault domain. Among them, the range of the fault domain calculated by the first network device is consistent with the range of the fault domain calculated by the third network device.
[0130] 104. The first network device determines a second link in the failure domain.
[0131] The first network device re-calculates the route for the failure of the first link and obtains the second link in the fault domain, and the second link is used to connect the source node and the destination node of the first link. In the embodiment of the present application, since the link failure notification is only transmitted within the fault domain, the route calculation for the faulty link is only performed on the network devices within the fault domain. Specifically, each network device within the fault domain will determine a new link within the fault domain that does not pass through the faulty link based on the network topology of the routing domain and the calculated fault domain. Other network devices outside the fault domain cannot perceive the link failure because they have not received the link failure notification, and will not perform route calculation, thereby reducing the computing power overhead of network devices outside the fault domain.
[0132] In the routing method in the embodiment of the present application, the execution order between step 103 and step 104 is not limited. For example, step 103 may be executed first, and then step 104; or step 104 may be executed first, and then step 103. No specific limitation is made here.
[0133] In actual applications, link status notifications include link fault notifications and link recovery notifications. Link fault notifications are used to indicate that a link has failed, and link recovery notifications are used to indicate that a faulty link has been restored to connectivity. In an embodiment of the present application, link fault notifications are only transmitted within the fault domain. On the other hand, if the link within the fault domain has been restored to connectivity, the link recovery notification for the link is also only transmitted within the fault domain. Specifically, after the first network device determines that the fault of the first link has been restored to connectivity, the first network device also only sends a link recovery notification to the second network device within the fault domain, and the link recovery notification is used to indicate that the first link is connected and the fault has been restored. From the above, it can be seen that the link fault notification is only transmitted within the fault domain to which the first link belongs. Similarly, the link recovery notification is only transmitted within the fault domain to which the first link belongs, which further reduces the network overhead of network devices outside the fault domain.
[0134] Traditional link state advertisements (such as LSA) are transmitted in the entire routing domain, while the link state advertisements in the embodiments of the present application (including link failure advertisements and link recovery advertisements) are only transmitted in the failure domain. Therefore, the link state advertisement in the embodiments of the present application is a special link state advertisement to distinguish it from the traditional link state advertisement.
[0135] Optionally, a special link state announcement in the embodiment of the present application can be marked by carrying a specific indication field (i.e., the target field in the embodiment of the present application) in the link state announcement (link failure announcement or link recovery announcement). If the link state announcement received by the network device does not carry the target field, it is processed according to the traditional link state announcement, that is, the network device transmits the traditional link state announcement within the entire routing domain; if the link state announcement received by the network device carries the target field, the link state announcement is identified as a special link state announcement in the embodiment of the present application, and the network device only transmits the special link state announcement within the fault domain. Therefore, it can be considered that when the target field is carried in the link state announcement, the target field is used to indicate that the link state announcement is only transmitted within the fault domain.
[0136] In a possible implementation, the link fault notification in the embodiment of the present application includes a target field. After receiving the link fault notification, the network device parses and identifies that the link fault notification carries the target field, and determines that the link fault notification belongs to a special link fault notification in the embodiment of the present application. The network device then only transmits the link fault notification within the fault domain. In other words, when the target field is carried in the link fault notification, the target field is used to indicate that the link fault notification is only transmitted within the fault domain. In this way, by carrying the target field on the basis of the traditional link fault notification, it is only necessary to expand the existing protocol message, thereby improving the transmission efficiency of the link fault notification in the embodiment of the present application.
[0137] In one possible implementation, the link recovery announcement in the embodiment of the present application includes a target field. After the network device receives the link recovery announcement, it parses and identifies that the link recovery announcement carries the target field, and determines that the link recovery announcement belongs to the special link recovery announcement in the embodiment of the present application. The network device then only transmits the link recovery announcement within the fault domain. In other words, when the target field is carried in the link recovery announcement, the target field is used to indicate that the link recovery announcement is only transmitted within the fault domain. In this way, by carrying the target field on the basis of the traditional link recovery announcement, it is only necessary to expand the existing protocol message, thereby improving the transmission efficiency of the link recovery announcement in the embodiment of the present application.
[0138] Next, the link state announcement in the embodiments of the present application is exemplarily introduced as being applied to the scenario of the Border Gateway Protocol (BGP) and the scenario of the Interior Gateway Protocol (IGP).
[0139] In the scenario where the link state announcement in the embodiment of the present application is applied to the BGP protocol, when establishing a BGP connection between network devices that enable the BGP protocol, the open message in the BGP protocol can be used to negotiate and confirm whether the network device supports the ability to transmit link state announcements only within the fault domain. Figure 6 , Figure 6 A possible open message diagram provided in an embodiment of the present application is shown in FIG. Figure 6 In the example, the capability of transmitting link state advertisements only within the fault domain is represented by the parameter type=99, and the address families of the protocols supporting this capability type are AFI=16388 and SAFI=85. Figure 6 The open message shown in Figure 1 shows that it supports the ability to deliver link state advertisements only within the fault domain.
[0140] Next, for network devices that support the ability to transmit link state announcements only within a fault domain, the link state announcement can be extended to carry the target field in the embodiment of the present application. In the embodiment of the present application, multiple ways of extending the link state announcement are provided, as shown below.
[0141] The first extension method: In the link state announcement message of the BGP protocol (including link failure announcement and link recovery announcement), a new network layer reachability information (Network Layer Reachability Information, NLRI) can be defined as the first NLRI in the embodiment of the present application. The first NLRI includes the reachability information of the link corresponding to the link state announcement (that is, the first link in the embodiment of the present application), and the first NLRI is also used to carry the target field. For example, the target field can be the type value of the first NLRI. Since the first NLRI in the link state announcement carries the target field, and the target field is used to indicate that the link state announcement is only transmitted within the fault domain, the link state announcement including the first NLRI is only transmitted within the fault domain. Please refer to Figure 7 , Figure 7 FIG. 1 is a possible structural diagram of the first NLRI in the embodiment of the present application. Figure 7 As shown, based on the link state advertisement of the traditional BGP protocol, a new NLRI type (i.e., the first NLRI) is added. Figure 7 In the example, the type value of the first NLRI (equivalent to the target field) can be defined by yourself, such as NLRI type=2000. Furthermore, in the BGP protocol, the first path attribute is an optional path attribute in the link state announcement, and the first path attribute is used to indicate that a link failure has occurred. If the link state announcement carries the first path attribute, it means that the link state announcement is a link failure announcement; if the link state announcement does not carry the first path attribute, it means that the link state announcement is a link recovery announcement. Exemplarily, the first path attribute can be the Shortest Path First (SPF) Status TLV in the BGP protocol. On the other hand, the BGP withdraw message can continue to be used to revoke the link state. When the network device receives the withdraw message, it removes the link indicated in the NLRI from the set of faulty links.
[0142] In a possible implementation, the link failure notification in the embodiment of the present application includes the above-mentioned first NLRI and the above-mentioned first path attribute, wherein the first path attribute is used to indicate that a link failure has occurred, the first NLRI includes the reachability information of the first link, and the target field is carried in the first NLRI. Therefore, the network device can determine that a link failure has occurred through the first path attribute, and through the reachability information of the first link in the first NLRI, it can be determined that the link indicated by the first path attribute that the link failure has occurred is the first link, and through the target field in the first NLRI, it can be determined that the link failure notification is only transmitted within the fault domain.
[0143] In a possible implementation, the link recovery notification in the embodiment of the present application includes the above-mentioned first NLRI, the first NLRI includes the reachability information of the first link, and the target field is carried in the first NLRI. Therefore, the network device can determine that the link on which the link recovery has occurred is the first link through the reachability information of the first link in the first NLRI, and can determine that the link recovery notification is only transmitted within the fault domain through the target field in the first NLRI.
[0144] In the embodiment of the present application, a new NLRI type (i.e., the first NLRI) is added to distinguish it from the traditional NLRI, so that the first NLRI is more independent in receiving, storing, changing, revoking and publishing logic, reducing the impact and dependence on the original BGP protocol standard message processing process.
[0145] The second extension method: In the link state announcement message (including link failure announcement and link recovery announcement) of the BGP protocol, a new path attribute can be defined as the second path attribute in the embodiment of the present application. The second path attribute is used to carry the target field. For example, the second path attribute can carry a specific identifier as the target field in the embodiment of the present application. Since the second path attribute in the link state announcement carries the target field, and the target field is used to indicate that the link state announcement is only transmitted within the fault domain, the link state announcement including the second path attribute is only transmitted within the fault domain. Please refer to Figure 8 , Figure 8 This is a possible structural diagram of the second path attribute in the embodiment of the present application. Figure 8 As shown in FIG, based on the link state advertisement of the traditional BGP protocol, a new path attribute type (i.e., the second path attribute) is added. Figure 8 In the example, the value (value) in the TLV of the second path attribute carries the fault domain identifier as the target field. Furthermore, in the BGP protocol, the first path attribute is an optional path attribute in the link state announcement, and the first path attribute is used to indicate that a link failure has occurred. If the link state announcement carries the first path attribute, it means that the link state announcement is a link failure announcement; if the link state announcement does not carry the first path attribute, it means that the link state announcement is a link recovery announcement. Exemplarily, the first path attribute can be the SPF Status TLV in the BGP protocol. On the other hand, the BGP withdraw message can continue to be used to revoke the link state. When the network device receives the withdraw message, it removes the link indicated in the NLRI from the set of faulty links.
[0146] In a possible implementation, the link failure notification in the embodiment of the present application includes a second NLRI, the above-mentioned first path attribute and the above-mentioned second path attribute. Among them, the first path attribute is used to indicate that a link failure has occurred, the second path attribute is used to carry a target field, and the second NLRI includes the reachability information of the first link. Therefore, the network device can determine that a link failure has occurred through the first path attribute, and through the reachability information of the first link in the second NLRI, it can be determined that the link indicated by the first path attribute that the link failure has occurred is the first link, and through the target field in the second path attribute, it can be determined that the link failure notification is only transmitted within the fault domain.
[0147] In a possible implementation, the link recovery notification in the embodiment of the present application includes the second NLRI and the second path attribute, the second NLRI includes the reachability information of the first link, and the second path attribute carries the target field. Therefore, the network device can determine that the link where the link recovery has occurred is the first link through the reachability information of the first link in the second NLRI, and can determine that the link recovery notification is only transmitted within the fault domain through the target field in the second path attribute.
[0148] In the embodiment of the present application, a new path attribute type (i.e., the second path attribute) is added to distinguish it from the traditional path attribute, so that the second path attribute is more independent in receiving, storing, changing, revoking and publishing logic, thereby reducing the impact and dependence on the original BGP protocol standard message processing process.
[0149] The third extension method: In the link state announcement message of the BGP protocol (including link failure announcement and link recovery announcement), there is a path attribute that can be used to indicate that a link failure has occurred. This path attribute is the first path attribute in the embodiment of the present application. A new valid value definition can be added for the first path attribute, and this valid value definition serves as the target field in the embodiment of the present application. Since the target field is used to indicate that the link state announcement is only transmitted within the fault domain, the link state announcement that includes the first path attribute is only transmitted within the fault domain. In other words, the first path attribute is used to indicate that a link failure has occurred while also carrying the target field. Please refer to Fig. 9 , Fig. 9 This is a possible structural diagram of the first path attribute in the embodiment of the present application. Fig. 9 As shown in FIG. 1 , based on the first path attribute used to indicate that a link failure has occurred, a new valid value is defined as the target field. Fig. 9In the example, it can be defined that when the value of the TLV of the first path attribute is 3, it means that the first path attribute carries the target field, and the first path attribute carrying the target field is only transmitted within the fault domain. It should be understood that the value of the TLV of the first path attribute in the embodiment of the present application is 3, which is only an exemplary description. In actual applications, the target field can also be defined by other values of the TLV of the first path attribute, which is not limited here.
[0150] In a possible implementation, the link failure notification in the embodiment of the present application includes a second NLRI and the above-mentioned first path attribute. Among them, the first path attribute is used to indicate that a link failure has occurred, and the first path attribute also carries a target field, and the second NLRI includes the reachability information of the first link. Therefore, the network device can determine that a link failure has occurred through the first path attribute, and through the target field in the first path attribute, it can be determined that the link failure notification is only transmitted within the fault domain, and through the reachability information of the first link in the second NLRI, it can be determined that the link indicated by the first path attribute where the link failure has occurred is the first link. On the basis of using the existing first path attribute, only a valid value definition is added to the first path attribute, so that the changes to the BGP protocol are relatively small, and the transmission efficiency of the link failure notification is relatively high.
[0151] It should be understood that the above-mentioned extension method of the BGP protocol is only an exemplary description. In actual applications, other extension methods can be used to ensure that the link state announcement in the BGP protocol is only transmitted within the fault domain. The embodiments of the present application do not limit this.
[0152] IGP protocols generally include an open shortest path first (OSPF) protocol and an intermediate system to intermediate system (IS-IS) protocol. Next, taking the OSPF protocol and the IS-IS protocol as examples, the application of the link state announcement in the embodiment of the present application to the IGP protocol is exemplarily introduced.
[0153] Extending OSPFv2 protocol messages to support link failure notification in the embodiments of the present application:
[0154] In the OSPFv2 protocol, Opaque LSA provides extended support for OSPF. Therefore, a type of LSA can be extended in Opaque LSA as a link state announcement (including link failure announcement and link recovery announcement) that is only transmitted within the fault domain in the embodiment of the present application. The value of 128 to 255 in Opaque Type can be used for extended use. Exemplarily, the Opaque Type value of the LSA (link failure announcement) that is only transmitted within the fault domain in the embodiment of the present application can be defined as 129, or it can also be other values, such as 130 or 131, which are not specifically limited here.
[0155] The Opaque Information field of the link failure notification (LSA) in the embodiment of the present application is consistent with the Opaque Information field of the Router LSA of the existing OSPFv2 protocol. For a detailed description of the Opaque Information field, please refer to the following Table 1 and Fig.10 shown.
[0156]
[0157] When a network device receives an LSA with an Opaque Type value of 129 (or other pre-negotiated values), the LSA is only forwarded within the fault domain.
[0158] OSPFv3 protocol message is extended to support link failure notification in the embodiment of the present application:
[0159] The LSA function code in the OSPFv3 protocol can be expanded, and a function code value (for example, 8180) can be preset as the target field in the embodiment of the present application. That is, when the value of the function code in the LSA is the preset value (8180), it means that the LSA carries the target field in the embodiment of the present application, and the LSA is only transmitted within the fault domain. It should be understood that in actual applications, the value of the LSA function code is not limited to 8180, or it can also be other value ranges (for example, 8182). For details, please refer to Fig.11 , Fig.11 The following is a schematic diagram of the LSA function code. Fig.11 As shown, the value range of 8176-8183 in the LSA function code has not yet been defined and can be used to define the target field in the embodiment of the present application.
[0160] Extending the IS-IS protocol message to support the link failure notification in the embodiment of the present application:
[0161] In the IS-IS protocol, information about link state changes is transmitted through Link-State Packets (LSPs). In the embodiment of the present application, a new LSP can be defined, in which the Protocol Data Unit (PDU) type is a newly defined preset value. The LSP with the PDU type being a preset value (equivalent to the target field) is the LSP provided by the embodiment of the present application, and the LSP is transmitted only within the fault domain. The format of the other fields of the LSP is the same as the LSP field format in the existing IS-IS protocol. For details, please refer to Fig.12 A schematic diagram of the LSP field format is shown.
[0162] Accordingly, the present application also provides a related device for implementing the above solution. Fig.13 , Fig.13 A schematic diagram of the structure of a first network device provided in an embodiment of the present application. The device may be a first network device, or a component of the first network device (such as a processor, a chip, or a chip system, etc.), or a logical node, a logical module, or software that can implement all or part of the functions of the first network device. Fig.13 As shown, the first network device includes a processing unit 201 and a transceiver unit 202 .
[0163] The processing unit 201 is configured to determine that a first link fails, wherein the first network device is from a fault domain, the fault domain includes N network devices and links between N network devices, and N is an integer greater than or equal to 3;
[0164] The processing unit 201 is further configured to determine a fault domain to which the first link belongs, the fault domain including M network devices in the routing domain and links between the M network devices, wherein the fault domain includes the first network device and the first link, and M is an integer greater than or equal to 2 and less than N;
[0165] The transceiver unit 202 is configured to send a link failure notification only to the second network device in the failure domain, where the link failure notification indicates that the first link is a failed link in the failure domain and the second network device is a next-hop network device of the first network device.
[0166] In a possible design, the processing unit 201 is further used to determine a second link in the fault domain, where the second link is used to connect a source node and a destination node of the first link.
[0167] In a possible design, the processing unit 201 is specifically configured to:
[0168] receiving a link failure notification from a third network device, the link failure notification indicating that a failure occurs on the first link, wherein the third network device is from a failure domain;
[0169] The first network device determines that a first link indicated by the link failure notification fails.
[0170] In one possible design, the processing unit is specifically used to determine the fault domain based on multiple faulty links including the first link.
[0171] In one possible design, the processing unit 201 is further configured to determine that the failure of the first link has been restored;
[0172] A link recovery notification is sent only to the second network device in the fault domain, and the link recovery notification indicates that the fault of the first link has been recovered.
[0173] In one possible design, the link failure notification includes a target field, where the target field is used to indicate that the link failure notification is only delivered within the failure domain.
[0174] In one possible design, the link recovery announcement includes a target field, where the target field is used to indicate that the link recovery announcement is only delivered within the fault domain.
[0175] In one possible design, the link failure notification includes first network layer reachability information NLRI and a first path attribute, the first path attribute is used to indicate that a link failure has occurred, the first NLRI includes reachability information of the first link, wherein the target field is carried in the first NLRI.
[0176] In one possible design, the link recovery announcement includes first network layer reachability information NLRI, wherein the first NLRI includes reachability information of the first link, wherein the target field is carried in the first NLRI.
[0177] In one possible design, the link failure notification includes a second NLRI, a first path attribute, and a second path attribute, the first path attribute is used to indicate that a link failure has occurred, the second path attribute is used to carry a target field, and the second NLRI includes reachability information of the first link.
[0178] In one possible design, the link recovery announcement includes a second NLRI and a second path attribute, the second NLRI includes reachability information of the first link, and the second path attribute is used to carry a target field.
[0179] In one possible design, the link failure notification includes a second NLRI and a first path attribute, the second NLRI includes reachability information of the first link, the first path attribute is used to indicate that a link failure has occurred, and the first path attribute is used to carry a target field.
[0180] It should be noted that the information interaction, execution process, etc. between the modules / units in the communication device are the same as those in this application. Figure 3 The corresponding method embodiments are based on the same concept. For specific contents, please refer to the description in the method embodiments shown above in this application, which will not be repeated here.
[0181] See also Fig.14 , Fig.14 The schematic diagram of the structure of the network device 30 involved in this application is shown in Figure 3. The network device 30 may be the first network device in the above embodiment, a component of the first network device (such as a processor, a chip, or a chip system, etc.), a logical node, a logical module or software that can realize all or part of the functions of the first network device. Fig.13 The first network device described in the corresponding embodiment is used to implement Figure 3 The functions implemented by the first network device in the corresponding embodiment. The network device 30 includes: a memory 301, a processor 302, a communication interface 303 and a bus 304. The memory 301, the processor 302 and the communication interface 303 are connected to each other through the bus 304.
[0182] The memory 301 may be a read only memory (ROM), a static storage device, a dynamic storage device or a random access memory (RAM). The memory 301 may store a program. When the program stored in the memory 301 is executed by the processor 302, the processor 302 and the communication interface 303 are used to execute steps 101-104 of the above-mentioned routing method embodiment.
[0183] The processor 302 may be a central processing unit (CPU), a microprocessor, an application specific integrated circuit (ASIC), a graphics processing unit (GPU), a digital signal processor (DSP), a field programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components or any combination thereof, for executing related programs to implement one or more steps of steps 101-104 of the routing method embodiment in the present application. The steps of the data processing method disclosed in the embodiment of the present application can be executed by a compiler and an executor, wherein the compiler and the executor can be executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software module can be located in a mature storage medium in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 301, and the processor 302 reads the information in the memory 301, and executes one or more steps of steps 101-104 of the routing method embodiment in the present application in combination with its hardware.
[0184] The communication interface 303 uses a transceiver device such as but not limited to a transceiver to implement communication between the computer device 30 and other devices or a communication network.
[0185] The bus 304 can realize the path for transmitting information between the various components of the network device 30 (for example, the memory 301, the processor 302 and the communication interface 303). The bus 304 can be a peripheral component interconnect standard (PCI) bus or an extended industry standard architecture (EISA) bus. The bus can be divided into an address bus, a data bus, a control bus, etc. For convenience of representation, Fig.14 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.
[0186] The present application also provides a computer program product including instructions. The computer program product may be software or a program product including instructions that can be run on a computing device or stored in any available medium. When the computer program product is run on at least one computing device, the at least one computing device executes the above-mentioned Figure 3 The illustrated embodiments describe the method.
[0187] The present application also provides a computer-readable storage medium. The computer-readable storage medium may be any available medium that can be stored by a computing device or a data storage device such as a data center that contains one or more available media. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk). The computer-readable storage medium includes instructions that instruct the computing device to execute the above application to execute the above application. Figure 3 The illustrated embodiments describe the method.
[0188] The communication device provided in the embodiment of the present application may be a chip, which includes: a processing unit and a communication unit. The processing unit may be, for example, a processor, and the communication unit may be, for example, an input / output interface, a pin or a circuit. The processing unit may execute the computer execution instructions stored in the storage unit to enable the chip to execute the above Figure 3 Optionally, the storage unit is a storage unit in the chip, such as a register, a cache, etc. The storage unit may also be a storage unit located outside the chip in the wireless access device, such as a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM), etc.
[0189] It should be further noted that the device embodiments described above are merely schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed over multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. In addition, in the device embodiment drawings provided in the embodiments of the present application, the connection relationship between the modules indicates that there is a communication connection between them, which may be specifically implemented as one or more communication buses or signal lines.
[0190] Through the description of the above implementation mode, the technicians in the field can clearly understand that the embodiments of the present application can be implemented by means of software plus necessary general hardware, and of course, it can also be implemented by special hardware including application-specific integrated circuits, special CPUs, special memories, special components, etc. In general, all functions completed by computer programs can be easily implemented with corresponding hardware, and the specific hardware structure used to implement the same function can also be various, such as analog circuits, digital circuits or special circuits. However, for the embodiments of the present application, software program implementation is a better implementation method in more cases. Based on such an understanding, the technical solution of the embodiments of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a readable storage medium, such as a computer floppy disk, a U disk, a mobile hard disk, a ROM, a RAM, a disk or an optical disk, etc., including a number of instructions to enable a computer device (which can be a personal computer, a training device, or a network device, etc.) to execute the methods described in each embodiment of the present application.
[0191] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product.
[0192] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website site, a computer, a training device, or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, training device, or data center. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a training device, a data center, etc. that includes one or more available media integrations. The available medium may be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)), etc.
Claims
1. A routing method, characterized in that: include: The first network device determines that a first link fails, wherein the first network device is from a fault domain, the fault domain includes N network devices and links between N network devices, where N is an integer greater than or equal to 3; The first network device determines a fault domain to which the first link belongs, the fault domain including M network devices in the routing domain and links between the M network devices, wherein the fault domain includes the first network device and the first link, and M is an integer greater than or equal to 2 and less than N; The first network device sends a link fault notification only to a second network device in the fault domain, where the link fault notification indicates that the first link is a faulty link in the fault domain and the second network device is a next-hop network device of the first network device.
2. The method according to claim 1, characterized in that The method further comprises: The first network device determines a second link in the fault domain, where the second link is used to connect a source node and a destination node of the first link.
3. The method according to claim 1 or 2, characterized in that: The first network device determines that a first link fails, including: The first network device receives a link failure notification from a third network device, the link failure notification indicating that the first link fails, wherein the third network device is from the failure domain; The first network device determines that the first link indicated by the link failure notification fails.
4. The method according to any one of claims 1 to 3, characterized in that The first network device determines the fault domain to which the first link belongs, including: The first network device determines a fault domain according to a plurality of faulty links including the first link.
5. The method according to any one of claims 1 to 4, characterized in that The method further comprises: The first network device determines that the failure of the first link has been restored; The first network device sends a link recovery notification only to the second network device in the fault domain, where the link recovery notification indicates that the fault of the first link has been recovered.
6. The method according to any one of claims 1 to 5, characterized in that The link failure notification includes a target field, where the target field is used to indicate that the link failure notification is only delivered within the failure domain.
7. The method according to claim 5, characterized in that The link recovery announcement includes a target field, where the target field is used to indicate that the link recovery announcement is only delivered within the fault domain.
8. The method according to claim 6, characterized in that The link failure notification includes first network layer reachability information NLRI and a first path attribute, wherein the first path attribute is used to indicate that a link failure has occurred, and the first NLRI includes reachability information of the first link, wherein the target field is carried in the first NLRI.
9. The method according to claim 7, characterized in that: The link recovery announcement includes first network layer reachability information NLRI, wherein the first NLRI includes reachability information of the first link, wherein the target field is carried in the first NLRI.
10. The method according to claim 6, characterized in that The link failure notification includes a second NLRI, a first path attribute, and a second path attribute, wherein the first path attribute is used to indicate that a link failure has occurred, the second path attribute is used to carry the target field, and the second NLRI includes reachability information of the first link.
11. The method according to claim 7, characterized in that The link recovery notification includes a second NLRI and a second path attribute, the second NLRI includes reachability information of the first link, and the second path attribute is used to carry the target field.
12. The method according to claim 6, characterized in that The link failure notification includes a second NLRI and a first path attribute, the second NLRI includes reachability information of the first link, the first path attribute is used to indicate that a link failure occurs, and the first path attribute is used to carry the target field.
13. A first network device, characterized in that: include: A processing unit, configured to determine that a first link fails, wherein the first network device is from a failure domain, the failure domain includes N network devices and links between N network devices, where N is an integer greater than or equal to 3; The processing unit is further configured to determine a fault domain to which the first link belongs, the fault domain including M network devices in the routing domain and links between the M network devices, wherein the fault domain includes the first network device and the first link, and M is an integer greater than or equal to 2 and less than N; The transceiver unit is used to send a link fault notification only to the second network device in the fault domain, wherein the link fault notification indicates that the first link is a faulty link in the fault domain and the second network device is a next-hop network device of the first network device.
14. The first network device according to claim 13, characterized in that: The processing unit is further used to determine a second link in the fault domain, where the second link is used to connect a source node and a destination node of the first link.
15. The first network device according to claim 13 or 14, characterized in that: The processing unit is specifically used for: receiving a link failure notification from a third network device, the link failure notification indicating that the first link fails, wherein the third network device is from the failure domain; The first network device determines that the first link indicated by the link failure notification fails.
16. The first network device according to any one of claims 13 to 15, characterized in that: The processing unit is specifically configured to determine a fault domain according to a plurality of faulty links including the first link.
17. The first network device according to any one of claims 13 to 16, characterized in that: The processing unit is further used to determine that the failure of the first link has been restored; A link recovery notification is sent only to the second network device in the fault domain, where the link recovery notification indicates that the fault of the first link has been recovered.
18. The first network device according to any one of claims 13 to 17, characterized in that: The link failure notification includes a target field, where the target field is used to indicate that the link failure notification is only delivered within the failure domain.
19. The first network device according to claim 17, characterized in that: The link recovery announcement includes a target field, where the target field is used to indicate that the link recovery announcement is only delivered within the fault domain.
20. The first network device according to claim 18, characterized in that: The link failure notification includes first network layer reachability information NLRI and a first path attribute, wherein the first path attribute is used to indicate that a link failure has occurred, and the first NLRI includes reachability information of the first link, wherein the target field is carried in the first NLRI.
21. The first network device according to claim 19, characterized in that: The link recovery announcement includes first network layer reachability information NLRI, wherein the first NLRI includes reachability information of the first link, wherein the target field is carried in the first NLRI.
22. The first network device according to claim 18, characterized in that: The link failure notification includes a second NLRI, a first path attribute, and a second path attribute, wherein the first path attribute is used to indicate that a link failure has occurred, the second path attribute is used to carry the target field, and the second NLRI includes reachability information of the first link.
23. The first network device according to claim 19, characterized in that: The link recovery notification includes a second NLRI and a second path attribute, the second NLRI includes reachability information of the first link, and the second path attribute is used to carry the target field.
24. The first network device according to claim 18, characterized in that: The link failure notification includes a second NLRI and a first path attribute, the second NLRI includes reachability information of the first link, the first path attribute is used to indicate that a link failure occurs, and the first path attribute is used to carry the target field.
25. A network device, characterized in that: comprising a processor coupled to a memory, The memory is used to store instructions; The processor is configured to execute instructions in the memory so that the network device executes the method according to any one of claims 1 to 13.
26. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 13 is implemented.
27. A computer program product, characterized in that The computer program product stores computer-readable instructions, and when the computer-readable instructions are executed by a processor, the method according to any one of claims 1 to 13 is implemented.