Communication method and apparatus, and system

WO2026174957A1PCT designated stage Publication Date: 2026-08-27HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/146355
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-02-20
Filing Date
2025-12-27
Publication Date
2026-08-27

Smart Images

  • Figure CN2025146355_27082026_PF_FP_ABST
    Figure CN2025146355_27082026_PF_FP_ABST
Patent Text Reader

Abstract

Provided are a communication method and apparatus, and a system, relating to the technical field of communications. The method is executed by a communication apparatus in a network system. The method comprises: determining that a first internal gateway protocol (IGP) network topology is a stable topology; generating a first IGP path on the basis of the first IGP network topology; and upon generation of the first IGP path, on the basis of a routing protocol fault occurring on a second IGP path, switching the second IGP path to the first IGP path, wherein the second IGP path includes a path from a first communication apparatus to another communication apparatus. The first IGP path includes a path from the first communication apparatus to another communication apparatus, and the second IGP path includes a path from the first communication apparatus to another communication apparatus. In this way, by means of path fallback, it is ensured that a network is restored to a stable topology state capable of normal communication, a routing protocol fault caused by problems such as routing oscillation and the introduction of routing configuration errors can be solved, thereby improving the universality of network recovery.
Need to check novelty before this filing date? Find Prior Art

Description

Communication methods, devices and systems

[0001] This application claims priority to Chinese Patent Application No. 202510193006.3, filed on February 20, 2025, entitled "Communication Method, Apparatus and System", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of communication technology, and in particular to a communication method, apparatus and system. Background Technology

[0003] Network failures encompass many types, some of which are related to routing protocols and can be termed routing protocol failures. When non-routing protocol failures occur in a network, such as Address Resolution Protocol (ARP) failures, Dynamic Host Configuration Protocol (DHCP) failures, or Domain Name System (DNS) failures, routers can still exchange routing information normally. Routers can repair the network by checking relevant protocol configurations, clearing caches, checking physical connections, and verifying server status. However, when routing protocol failures occur, routers cannot correctly exchange routing information, thus affecting the forwarding paths of data packets. Routing protocol failures typically lead to unreachable routes, delayed route updates, network partitioning, and may even cause a complete network outage.

[0004] For routing protocol failures, existing network repair methods can usually only modify certain specific types of routing protocol failures, but cannot repair various types of routing protocol failures. For example, techniques such as graceful restart (GR), non-stop routing (NSR), manual handling after failure, and interrupting traffic to restore configuration can only solve the problem of the main control board hanging due to device abnormality. They cannot solve routing protocol failures caused by routing oscillation, routing configuration errors, etc., and have poor versatility. Summary of the Invention

[0005] This application provides a communication method, apparatus, and system to solve the problem of poor versatility caused by routing protocol failures due to the inability of network repair methods to address issues such as routing oscillations and the introduction of routing configuration errors.

[0006] Firstly, a communication method is provided. This method is applied to a network system, which includes at least one communication device, and is performed by a first communication device among the at least one communication device. The communication method includes: determining that a first internal gateway protocol (IGP) network topology is a stable topology; generating a first IGP path based on the first IGP network topology; and, after generating the first IGP path, switching from the second IGP path to the first IGP path based on a routing protocol failure occurring on a second IGP path. The first IGP path includes paths from the first communication device to other communication devices, where the other communication devices are communication devices other than the first communication device among the at least one communication device, and the second IGP path includes paths from the first communication device to the other communication devices.

[0007] Based on the aforementioned communication method, during network topology changes, a stable topology capable of normal data transmission, such as the first IGP network topology, is recorded, along with the first IGP path generated based on this stable topology. Subsequently, after network topology changes, when the first communication device determines that a routing protocol failure has occurred, the faulty second IGP path is switched to the previously recorded first IGP path. In this way, the first communication device switches the second IGP path in the event of a routing protocol failure to the first IGP path corresponding to the stable topology, restoring the network to a state capable of normal communication. This addresses any type of routing protocol failure that techniques such as GR, NSR, post-fault manual handling, and interrupted traffic configuration recovery cannot resolve, including route oscillations, introduced route configuration errors, and the absence of corresponding SPF paths for prefixes. This improves the versatility of network repair.

[0008] In conjunction with the communication method provided in the first aspect, as one possible implementation, the first IGP network topology includes: an IGP network topology generated for a first preset duration after IGP is enabled; or an IGP network topology generated after a second preset duration after IGP is enabled; or an IGP network topology generated after a third preset duration following a primary / backup switchover; or an IGP network topology that remains unchanged within a fourth preset duration. The first preset duration to the fourth preset duration can be the same or different durations, and can be flexibly adjusted according to specific needs.

[0009] For example, the first IGP network topology as a stable topology can be a network topology under different times or conditions. For instance, the first IGP network topology obtained by mirroring the IGP network topology generated initially and lasting for 5 minutes; the first IGP network topology obtained by mirroring the IGP network topology generated initially and lasting for 5 minutes after IGP is enabled; the first IGP network topology obtained by mirroring the IGP network topology generated 5 minutes after a primary / standby switchover; the first IGP network topology obtained by mirroring the IGP network topology generated and lasting for 5 minutes after nonstop service (NSS) is enabled; the first IGP network topology obtained by mirroring the IGP network topology within 5 minutes of NSS and IGP establishing communication; and the first IGP network topology obtained by mirroring the IGP network topology that has remained unchanged for a stable preset duration (e.g., 30 minutes). The durations of 5 minutes and 30 minutes are merely examples; in other embodiments, it can also be any duration such as 10 minutes or 1 hour.

[0010] Based on the above implementation, multiple methods are provided to determine the first IGP network topology as a stable topology, which improves the accuracy and flexibility of determining the stable topology, thereby improving the applicability of the communication method provided in this application.

[0011] In combination with the above implementation methods, optionally, the first preset duration, the second preset duration, the third preset duration and the fourth preset duration are n minutes, where n is a positive integer.

[0012] In conjunction with the communication method provided in the first aspect, as a possible implementation, the routing protocol failure includes at least one of the following: routing oscillation, loop, prefix unreachable or the prefix does not have a corresponding shortest path first (SPF) path.

[0013] Based on the above implementation, the communication method provided in this application can trigger path rollback by different types of routing protocol failures, thereby repairing the network for different types of routing protocol failures and improving the versatility of network repair.

[0014] In conjunction with the communication method provided in the first aspect, as a possible implementation, the communication method further includes determining that the routing protocol failure has occurred on the second IGP path. Thus, after determining that the routing protocol failure has occurred on the second IGP path, subsequent path rollback is performed, improving the accuracy of network fault repair caused by routing protocol failures.

[0015] In conjunction with the communication method provided in the first aspect, as a possible implementation, in the process of this communication method, determining that the second IGP path has experienced the routing protocol failure includes at least one of the following: when the routing protocol failure includes routing oscillation, routing oscillation is identified by the control plane; when the routing protocol failure includes a loop, a loop is identified based on the time-to-live (TTL) field of the received packet; when the routing protocol failure includes prefix unreachability, a packet is received, and the available state (UP) flag carried by the prefix sub-tlv value of the packet indicates that the path or prefix is ​​unavailable; when the routing protocol failure includes the absence of a corresponding SPF path for the prefix, it is determined that the node corresponding to the routing prefix in the link state database (LSDB) does not have an SPF path. Here, tlv refers to type-length-value (type, length, value).

[0016] Based on the above implementation method, specific identification methods for different types of routing protocol faults are provided, thereby improving the accuracy of routing protocol fault identification.

[0017] In conjunction with the communication method provided in the first aspect, as one possible implementation, the first IGP network topology includes: an endpoint behavior END.X with L3 cross-connection of at least one communication device, an SPF path from the first communication device to the other communication device, and an Internet Protocol version 6 (IPv6) prefix of the at least one communication device.

[0018] Based on the above implementation, the first communication device can quickly and easily determine the first IGP network topology according to END.X, SPF path and IPv6 prefix, which improves the overall efficiency of the communication method.

[0019] In conjunction with the communication method provided in the first aspect, as a possible implementation, in the process of this communication method, determining that the first Interior Gateway Protocol (IGP) network topology is a stable topology includes: after changes in END.X, the SPF path, or the IPv6 prefix, determining that the first IGP network topology has not changed after a fifth preset time period. The fifth preset time period can be the same as or different from the fourth preset time period.

[0020] Based on the above implementation, when there are changes in END.X, SPF path or IPv6 prefix, the first communication device determines that the first IGP network topology is a stable topology after judging that the first IGP network topology has stabilized again after a fifth preset time period. This improves the accuracy of the stable topology judgment and thus ensures the success rate of network repair.

[0021] In conjunction with the communication method provided in the first aspect, as one possible implementation, in the process of this communication method, generating the first IGP path based on the first IGP network topology includes: determining at least one path from the first communication device to the other communication devices according to the END.X and the SPF path; associating the at least one path with the IPv6 prefix of the corresponding communication device to obtain the first IGP path.

[0022] In conjunction with the communication method provided in the first aspect, as one possible implementation, the first IGP path is a strictly explicit path.

[0023] In conjunction with the communication method provided in the first aspect, as a possible implementation, the communication method further includes: when the routing protocol failure recovers, switching the first IGP path to a third IGP path; the third IGP path is obtained based on the recovered routing protocol. Thus, the first communication device switches from the second IGP path to the first IGP path after a routing protocol failure, and then performs normal routing selection after the failure recovers, switching the first IGP path to the third IGP path. This avoids the first communication device using a fixed first IGP path without selecting a better path, thus improving communication efficiency.

[0024] In conjunction with the communication method provided in the first aspect, as a possible implementation, the communication method further includes: receiving a deletion message; and deleting the first IGP path in response to the deletion message. Thus, after generating the first IGP path based on the stable topology, if the first IGP path becomes invalid due to the generation of a new stable topology-corresponding IGP path or changes in the communication relationships of the network system, the first IGP path will be deleted to avoid the generated IGP path consuming excessive memory.

[0025] In conjunction with the above implementation, optionally, the deletion message is used to instruct the deletion of END.X, SPF paths, or IPv6 prefixes. Thus, the first communication device can quickly and accurately delete the corresponding IGP path based on END.X, SPF paths, or IPv6 prefixes, further reducing the cache duration of IGP paths.

[0026] In conjunction with the above implementation, optionally, in the process of this communication method, the step of deleting the first IGP path in response to the deletion message includes: determining the first IGP path corresponding to END.X, SPF path, or IPv6 prefix in the deletion message; deleting the first IGP path when the elapsed time after receiving the deletion message is greater than or equal to a sixth preset time; and ensuring that the network topology remains unchanged within the sixth preset time as a stable topology. Thus, the first communication device deletes the corresponding IGP path after receiving the deletion message and waiting for the sixth preset time. Based on the stable topology determined within the sixth preset time, a new IGP path can be generated, thereby avoiding path switching in the event of a routing protocol failure due to the absence of a corresponding IGP path for the stable topology after deletion.

[0027] In conjunction with the communication method provided in the first aspect, as a possible implementation, after generating the first IGP path based on the first IGP network topology in the process of the communication method, the method further includes: determining that the first IGP path is in a normal communication state.

[0028] Based on the above implementation, after obtaining the steady-state path, the first communication device determines that the first IGP path is in a normal communication state before switching the second IGP path to the first IGP path, thus avoiding directing traffic to the faulty steady-state path, ensuring normal data transmission of the network system, and thereby ensuring the stability of the network system.

[0029] In conjunction with the communication method provided in the first aspect, as a possible implementation, in the process of this communication method, the step of switching the second IGP path to the first IGP path includes: based on the routing protocol failure of the second IGP path, sending the first IGP path to the routing table; the priority of the first IGP path is higher than the priority of the second IGP path.

[0030] In conjunction with the communication method provided in the first aspect, as a possible implementation, in the process of this communication method, the step of switching the second IGP path to the first IGP path includes: switching the second IGP path to the first IGP path based on a configured switching command.

[0031] Based on the above implementation, different path switching methods are provided, which improves the applicability of the communication method provided in this application.

[0032] In conjunction with the communication method provided in the first aspect, as one possible implementation, the second IGP path is generated based on a second IGP network topology, which is different from the first IGP network topology. That is, the second IGP path is generated based on a network topology different from the steady-state topology. In the event of a path failure, the first communication device falls back to the previous steady-state topology and forwards messages through the path under the steady-state topology.

[0033] Secondly, a communication device is provided, including a topology determination module, a path determination module, and a path switching module. The topology determination module is used to determine that a first IGP network topology is a stable topology. The path determination module is used to generate a first IGP path based on the first IGP network topology; the first IGP path includes paths from the first communication device to other communication devices, wherein the other communication devices are communication devices other than the first communication device among the at least one communication device. The path switching module is used to, after generating the first IGP path, switch the second IGP path to the first IGP path based on a routing protocol failure occurring on the second IGP path; the second IGP path includes paths from the first communication device to the other communication devices.

[0034] In conjunction with the communication device provided in the second aspect, as one possible implementation, the first IGP network topology includes: an IGP network topology that is generated for the first time after IGP is enabled and continues for a first preset time; or an IGP network topology generated after IGP is enabled for a second preset time; or an IGP network topology generated after a primary / backup switchover for a third preset time; or an IGP network topology that does not change within a fourth preset time.

[0035] In conjunction with the communication device provided in the second aspect, as one possible implementation, the first preset duration, the second preset duration, the third preset duration, and the fourth preset duration are all n minutes, where n is a positive integer.

[0036] In conjunction with the communication device provided in the second aspect, as one possible implementation, the routing protocol failure includes at least one of the following: routing oscillation, loop, prefix unreachable, or no corresponding SPF path for the prefix.

[0037] In conjunction with the communication device provided in the second aspect, as one possible implementation, the topology determination module is also used to: determine that the routing protocol failure has occurred in the second IGP path.

[0038] In conjunction with the communication device provided in the second aspect, as one possible implementation, when the routing protocol failure includes routing oscillation, the routing oscillation is identified by the control plane; when the routing protocol failure includes a loop, the loop is identified based on the TTL field of the received message; when the routing protocol failure includes prefix unreachability, a message is received, and the available status UP flag carried by the prefix sub-tlv of the message indicates that the path or prefix is ​​unavailable; when the routing protocol failure includes the absence of a corresponding SPF path for the prefix, it is determined that the node corresponding to the routing prefix existing in the LSDB does not have an SPF path.

[0039] In conjunction with the communication device provided in the second aspect, as one possible implementation, the first IGP network topology includes: the END.X of at least one communication device, the SPF path from the first communication device to the other communication devices, and the IPv6 prefix of the at least one communication device.

[0040] In conjunction with the communication device provided in the second aspect, as one possible implementation, the topology determination module is specifically used to: determine that the first IGP network topology has not changed after a fifth preset time period following a change in the END.X, the SPF path, or the IPv6 prefix.

[0041] In conjunction with the communication device provided in the second aspect, as one possible implementation, the path determination module is specifically used to: determine at least one path from the first communication device to the other communication devices based on the END.X and the SPF path; and associate the at least one path with the IPv6 prefix of the corresponding communication device to obtain the first IGP path.

[0042] In conjunction with the communication device provided in the second aspect, as one possible implementation, the first IGP path is a strictly explicit path.

[0043] In conjunction with the communication device provided in the second aspect, as one possible implementation, the path switching module is also used to: switch the first IGP path to a third IGP path when the routing protocol failure is resolved; the third IGP path is obtained based on the restored routing protocol.

[0044] In conjunction with the communication device provided in the second aspect, as one possible implementation, the path determination module is further configured to: receive a deletion message; and delete the first IGP path in response to the deletion message.

[0045] In conjunction with the communication device provided in the second aspect, as one possible implementation, the deletion message is used to indicate the deletion of END.X, SPF path, or IPv6 prefix.

[0046] In conjunction with the communication device provided in the second aspect, as one possible implementation, the path determination module is specifically used to: determine the first IGP path corresponding to the END.X, SPF path, or IPv6 prefix in the deletion message; delete the first IGP path when the elapsed time after receiving the deletion message is greater than or equal to a sixth preset time; and consider the network topology as stable if it does not change within the sixth preset time.

[0047] In conjunction with the communication device provided in the second aspect, as one possible implementation, the path determination module is also used to: determine that the first IGP path is in a normal communication state.

[0048] In conjunction with the communication device provided in the second aspect, as one possible implementation, the path switching module is specifically used to: send the first IGP path to the routing table based on the routing protocol failure of the second IGP path; the priority of the first IGP path is higher than the priority of the second IGP path.

[0049] In conjunction with the communication device provided in the second aspect, as one possible implementation, the path switching module is specifically used to: switch the second IGP path to the first IGP path based on the configured switching command.

[0050] In conjunction with the communication device provided in the second aspect, as one possible implementation, the second IGP path is generated based on a second IGP network topology, which is different from the first IGP network topology.

[0051] For the beneficial effects of any possible implementation of the second aspect of this application, please refer to the description of the beneficial effects of any possible implementation of the first aspect above, which will not be repeated here.

[0052] Thirdly, a chip is provided, including a processing circuit and an interface circuit, wherein the interface circuit is used to transmit and receive data, and the processing circuit is used to perform the communication method described in any possible implementation of the first aspect above.

[0053] Fourthly, a communication device is provided, comprising a processor and a memory, the processor being configured to execute instructions stored in the memory to cause the communication device to perform the communication method described in any possible implementation of the first aspect above.

[0054] Fifthly, a network system is provided, including at least one communication device as provided in the fourth aspect above, wherein the at least one communication device is used to perform the communication method described in any possible implementation of the first aspect above.

[0055] In a sixth aspect, a computer program product containing instructions is provided, which, when executed by a communication device, cause the communication device to perform the communication method described in any possible implementation of the first aspect above.

[0056] In a seventh aspect, a computer-readable storage medium is provided, the storage medium storing at least one instruction, the instruction being loaded and executed by a processor to implement the communication method described in any possible implementation of the first aspect above. Attached Figure Description

[0057] Figure 1 is a schematic diagram of the structure of a network system provided in this application;

[0058] Figure 2a is a flowchart illustrating a communication method provided in this application;

[0059] Figure 2b is a schematic diagram of a network topology change provided in this application;

[0060] Figure 3 is a schematic diagram of a strictly explicit path determination step provided in this application;

[0061] Figure 4 is a schematic diagram of a node connection provided in this application;

[0062] Figure 5 is a schematic diagram of a prefix association provided in this application;

[0063] Figure 6 is a schematic diagram of a node connection provided in this application;

[0064] Figure 7 is a schematic diagram of an SPF path provided in this application;

[0065] Figure 8 is a schematic diagram of a node connection provided in this application;

[0066] Figure 9 is a schematic diagram of an SRH corresponding to a node link provided in this application;

[0067] Figure 10 is a schematic diagram of a mirror-based strict explicit path generation step provided in this application;

[0068] Figure 11a is a schematic diagram of a mirror-based strict explicit path switching procedure provided in this application;

[0069] Figure 11b is a schematic diagram of a node connection provided in this application;

[0070] Figure 11c is a schematic diagram of a node connection provided in this application;

[0071] Figure 11d is a schematic diagram of a node connection provided in this application;

[0072] Figure 12 is a schematic diagram of the structure of a communication device provided in this application;

[0073] Figure 13 is a schematic diagram of another communication device provided in this application. Detailed Implementation

[0074] This application provides a communication method applied to a first communication device in at least one communication device in a network system. In this method, after determining that a first IGP network topology is stable, the first communication device generates a first IGP path based on the first IGP network topology. Subsequently, if the first communication device determines that a routing protocol failure has occurred based on a second IGP path, the second IGP path is switched to the first IGP path. The first IGP path includes paths from the first communication device to other communication devices, where other communication devices are communication devices other than the first communication device among at least one communication device. The second IGP path also includes paths from the first communication device to other communication devices. In this way, the first communication device switches the second IGP path in the event of a routing protocol failure to the first IGP path corresponding to the stable topology, thereby restoring the network to a state where normal communication is possible. This addresses any type of routing protocol failure that techniques such as GR, NSR, post-fault manual handling, and interrupted traffic configuration recovery cannot resolve, including routing oscillations, introduced routing configuration errors, and the absence of corresponding SPF paths for prefixes. This improves the versatility of network repair.

[0075] The technical solutions involved in this application may be applied not only to current communication technologies or communication devices, but also to future communication technologies or communication devices, or to communication systems and network systems that include communication devices. The terminology used in the embodiments section of this application is only for explaining specific embodiments of this application and is not intended to limit this application. A brief introduction to some concepts that may be involved in this application is given below.

[0076] An Inter-Guideline Protocol (IGP) is a routing protocol used within an autonomous system (AS) to exchange routing information between routers in an internal network. Its primary function is to ensure that routers in the network can communicate with each other and select the optimal path. Common IGPs include Routing Information Protocol (RIP), Open Shortest Path First (OSPF), Intermediate System to Intermediate System (IS-IS), and Enhanced Interior Gateway Routing Protocol (EIGRP).

[0077] IGP network topology refers to the way devices are connected within an autonomous system and how these devices exchange routing information.

[0078] An IGP path refers to the data packet forwarding path from one network device (or communication device) to another when using the Interior Gateway Protocol (IGP). An IGP path is the optimal path calculated and selected according to routing protocols to ensure that data packets can be transmitted efficiently and quickly from the source address to the destination address.

[0079] Routing protocol failure refers to a situation in a computer network where the routing protocol malfunctions or malfunctions, causing data packets to fail to reach their destination correctly. Routing protocol failures include route oscillation, loops, accidental route deletion, unreachable prefixes, and the absence of a corresponding SPF path for a prefix. Route oscillation refers to the phenomenon where routers constantly exchange and update routing information due to errors or instability in the routing protocol, leading to frequent changes in route selection within a short period. A loop, also known as a routing loop, refers to a situation where data packets are continuously transmitted in a loop within the network, failing to reach their destination. Unreachable prefixes mean that a certain routing prefix (i.e., the address range of the target network) in the network cannot be reached through existing paths. The absence of a corresponding SPF path for a prefix means that a routing prefix (i.e., the target network) exists in the network, but there is no corresponding shortest path for that prefix, therefore a valid path cannot be found to reach the target network using the SPF algorithm.

[0080] To make the objectives, technical solutions, and advantages of this application clearer, the application will now be described in further detail with reference to the accompanying drawings.

[0081] In the following description, the terms "first," "second," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Therefore, a feature defined with "first," "second," etc., may explicitly or implicitly include one or more of that feature. In the description of this application, unless otherwise stated, "a plurality of" means two or more.

[0082] Furthermore, in this application, directional terms are defined relative to the orientation of the components schematically placed in the accompanying drawings. It should be understood that these directional terms are relative concepts, used for relative description and clarification, and can change accordingly depending on the orientation of the components in the accompanying drawings.

[0083] The application scenarios of the embodiments of this application will be described below with reference to the accompanying drawings.

[0084] Figure 1 is a schematic diagram of a network system provided in this application. This network system can belong to a data center network, an interconnection network between multiple data centers, a local area network (LAN), a wide area network (WAN), or the Internet of Things (IoT), etc. The network architecture and routing mechanism of the network system can be segment routing over IPv6 (SRv6).

[0085] For example, network system 100 includes metropolitan area network 110, backbone network 120, and metropolitan area network 130. Metropolitan area network 110 is connected to metropolitan area network 130 via backbone network 120. Network system 100 also includes a resilience domain 140, which is connected to backbone network 120.

[0086] The metropolitan area network 110 includes Broadband Remote Access Server (BRAS) 111, BRAS 112, core router (CR) 113, and CR 114.

[0087] Among them, BRAS111 is connected to CR113 and CR114 respectively, and BRAS112 is connected to CR113 and CR114 respectively.

[0088] The backbone network 120 includes backbone routers (BR) 121, BR122, BR123, BR124, BR125, and BR126.

[0089] Among them, BR121 is connected to CR113, BR122, BR125, and BR126 respectively; BR122 is connected to CR114, BR125, and BR126 respectively; BR123 is connected to CR113, BR124, BR125, and BR126 respectively; and BR124 is connected to CR114, BR125, and BR126 respectively.

[0090] Metropolitan Area Network 130 includes BRAS131, BRAS132, CR133, and CR134.

[0091] Among them, BRAS131 is connected to CR133 and CR134 respectively, BRAS132 is connected to CR133 and CR134 respectively, CR133 is connected to CR134, BR125 and BR126 respectively, and CR134 is connected to BR125 and BR126 respectively.

[0092] The resilience domain 140 includes at least one route reflector (RR).

[0093] At least one RR is connected to BR121, BR122, BR123, BR124, BR125, and BR126 in the backbone network 120, respectively.

[0094] As one possible implementation, metropolitan area networks 110 and 130 communicate with backbone network 120 based on external border gateway protocol (EBGP).

[0095] In the embodiments of this application, the network devices (e.g., BR, CR, etc.) and servers (e.g., BRAS, etc.) in the network system 100 described above can both be referred to as communication devices. The communication device can also be a processor in the server (e.g., a neural network processing unit (NPU), a central processing unit (CPU), a graphics processing unit (GPU), etc.), a network interface card (NIC) in the server, a switching chip in the network device, or a CPU in the network device, etc., and this application does not limit it to these specific types.

[0096] It should be understood that Figure 1 is a simplified schematic diagram for ease of understanding only. The network system 100 may also include other network devices, servers, and / or other devices, and the connection relationships between nodes may also vary, which are not shown in Figure 1.

[0097] Next, the communication method provided in this application will be described in detail with reference to the accompanying drawings. Here, taking any communication device in the network system 100 of FIG1, such as BR121, as the first communication device to execute the communication method provided in this application, the specific steps of the communication method will be explained.

[0098] Figure 2a is a flowchart illustrating a communication method provided in this application. Referring to Figure 2a, the communication method may include the following steps S201-S203.

[0099] S201, The first communication device determines that the first IGP network topology is a stable topology.

[0100] The first communication device performs real-time or periodic detection on the IGP network topology and determines that the first IGP network topology is a stable topology, also known as a steady-state topology, during the process of changes in the IGP network topology.

[0101] As one possible implementation, the first communication device can determine the first IGP network topology as a stable topology in the following seven situations.

[0102] Scenario 1: The IGP network topology is generated for the first time after IGP is enabled and after the first preset time period.

[0103] The first communication device uses the IGP network topology generated for the first time after IGP is enabled and after a first preset time period as the stable topology.

[0104] The first preset duration can be 0 minutes, 5 minutes, etc.

[0105] Scenario 2: The IGP network topology generated after a second preset time period following IGP enabling.

[0106] The first communication device uses the IGP network topology after a second preset time period following IGP enable as the stable topology.

[0107] The second preset duration can be 5 minutes, etc.

[0108] Scenario 3: The IGP network topology generated after a third preset time period following a primary / standby switchover is considered a stable topology.

[0109] The IGP network topology will be generated by the first communication device after a third preset time period following a primary / backup switchover.

[0110] In a redundant system, primary / standby failover refers to the process of exchanging roles between the currently operating (primary) system and the standby (backup) system. It is commonly seen in computer systems, network architectures, and power systems. The purpose of primary / standby failover is to ensure high system availability and fault recovery capabilities. The third preset duration can be 5 minutes, etc.

[0111] Scenario 4: IGP network topology that has not changed within the fourth preset time period.

[0112] The first communication device will use the IGP network topology that has not changed within the fourth preset time period as the stable topology.

[0113] The fourth preset duration can be 5 minutes, 30 minutes, etc.

[0114] As shown in Figure 2b, with time as the horizontal axis, the network system 100 acquired by the first communication device has different IGP network topologies at different times. For example, time T1 to T4 corresponds to IGP network topology 1, IGP network topology 2, IGP network topology 3, and IGP network topology 4, respectively. If the duration of IGP network topology 1 before time T1 is greater than or equal to a fourth preset duration, then before time T2, the first communication device determines that IGP network topology 1 is a stable topology. If the IGP network topology changes from IGP network topology 1 to IGP network topology 2 between time T1 and time T2, and the duration of IGP network topology 2 reaches the fourth preset duration at time T2, then the first communication device determines that IGP network topology 2 is the first IGP network topology at time T2. If the IGP network topology changes from IGP network topology 2 to IGP network topology 3 between time T2 and time T3, and the duration of IGP network topology 3 does not reach the fourth preset duration at time T2, then the first communication device still uses IGP network topology 2 as the first IGP network topology at time T3. If the IGP network topology does not change between time T3 and time T4, and the duration of IGP network topology 3 reaches the fourth preset duration at time T4, then the first communication device determines IGP network topology 3 as the first IGP network topology at time T4.

[0115] Scenario 5: The IGP network topology generated after the fifth preset time period following the enabling of uninterrupted service.

[0116] The first communication device uses the IGP network topology generated after the NSS is enabled and a fifth preset time period as the first IGP network topology.

[0117] Uninterrupted service refers to technologies or mechanisms that can provide continuous, uninterrupted service in certain systems, devices, or networks, such as any component or software module that can implement NSS. The network topology and path mirroring in this application can be implemented using NSS. The fifth preset duration can be 5 minutes, etc.

[0118] Scenario 6: The IGP network topology after the IGP and NSS establish a communication relationship and a sixth preset time period has elapsed.

[0119] The first communication device uses the IGP network topology after a sixth preset time period following the establishment of the communication relationship between the IGP and NSS as the first IGP network topology.

[0120] The sixth preset duration can be 5 minutes, etc.

[0121] Scenario 7: The IGP network topology generated for the first time by the first communication device.

[0122] The first communication device uses the IGP network topology it generates for the first time as the first IGP network topology. Thus, if a routing protocol failure occurs before a preset time has elapsed, the IGP path corresponding to the first IGP network topology can be switched to repair the network.

[0123] As one possible implementation, the first communication device can determine the IGP network topology based on the END.X of at least one communication device, the SPF path from the first communication device to other communication devices, and the IPv6 prefix of at least one communication device. The first IGP network topology can then include the END.X of at least one communication device, the SPF path from the first communication device to other communication devices, and the IPv6 prefix of at least one communication device. Therefore, the IGP network topology that remains unchanged in scenario four above can also be an IGP network topology where the END.X, SPF path, and IPv6 prefix remain unchanged.

[0124] END.X can be used to identify a link in an SRv6 network. Its specific function is to forward packets from the specified outgoing interface, ensuring that packets are transmitted along the predetermined path. The IPv6 prefix refers to a portion of an IPv6 address, typically used to identify network addresses and subnets. It is usually expressed as IP address / prefix length. The IP address is a standard 128-bit IPv6 address, and / prefix length indicates the length of the network prefix portion, measured in bits and usually represented numerically.

[0125] As one possible implementation, the preset durations in the above scenarios, namely the first to sixth preset durations, can be flexibly adjusted according to requirements. For example, n seconds (e.g., 10 seconds, 35 seconds), n minutes (e.g., 2 minutes, 5 minutes, 10 minutes, 21 minutes, 30 minutes, 55 minutes), and n hours (e.g., 1 hour, 2 hours, 12 hours), where n is a positive integer. Furthermore, any of the preset durations from the first to the sixth preset duration can be the same or different.

[0126] S202, The first communication device generates a first IGP path based on the first IGP network topology.

[0127] The first communication device generates a first IGP path, also known as a steady-state path or mirror path, based on a mirror topology of the first IGP network topology.

[0128] As one possible implementation, when the first communication device determines that the first IGP network topology is a stable topology, it mirrors the first IGP network topology to record the stable topology, which can also be called obtaining the mirrored topology.

[0129] Optionally, the first communication device can obtain a mirror topology of the first IGP network topology based on the principle of topology replication. For example, the first communication device synchronizes the configurations of network devices such as routers, switches, and firewalls using automated tools to replicate IP addresses, routing tables, and firewall rules, and uses the synchronized configuration as data for the mirror topology. Alternatively, the first communication device can create virtual network devices such as virtual switches or virtual routers using virtualization technology, synchronize the configuration of the first IGP network topology to the virtual network devices, and deploy the virtual network devices on the virtualization platform to obtain a mirror topology. The above mirroring principle is merely an example of this embodiment; in other embodiments, any mirroring method can be used to obtain a mirror topology, which will not be elaborated here.

[0130] The mirror topology of the first IGP network topology may include the END.X, SPF path and IPv6 prefix corresponding to the first IGP network topology.

[0131] If the first IGP network topology changes after it has been determined to be a stable topology, it can be used as a stable topology again once it stabilizes again. For example, if the END.X, SPF path, or IPv6 prefix of the first IGP network topology changes, determining whether the changed first IGP network topology is a stable topology can be done by using the IGP network topology that has not changed after a preset time as the first IGP network topology, or by re-determining the first IGP network topology based on the various scenarios mentioned above.

[0132] Optionally, the first communication device stores the mirror topology, and the storage location of the mirror topology can be a memory, RAM, or the like.

[0133] As one possible implementation, the first communication device generates a first IGP path based on the mirror topology, which may include the following sub-steps S2021-S2022.

[0134] S2021. The first communication device determines at least one path from the first communication device to other communication devices based on END.X and SPF paths.

[0135] At least one of these paths can be a strict explicit path: a more stringent path convention that requires each node on the path to be explicitly listed and not deviate from the predetermined path. END.X can also be used to indicate an explicit path, specifying a concrete path from the source to the destination, and may include specific links or nodes (such as communication devices).

[0136] The first communication device determines the communication devices or links that each node must traverse as specified in END.X, and adjusts the SPF path to ensure that the path meets the strict explicit requirements of END.X. If a part of the SPF path does not meet a requirement in the explicit path of END.X (such as having to traverse a specific communication device or link), the path needs to be adjusted to meet those requirements. In this way, the first communication device, by combining the SPF path and END.X, derives at least one strict explicit path that meets the conditions.

[0137] For example, please refer to Figure 3, which is a schematic diagram of a strict explicit path determination step provided in this application. As shown in Figure 3, taking the first communication device as node A and the other communication devices as nodes B-F as an example, the SPF path includes at least one path from node A to node E, wherein node A is connected to nodes B and C respectively, node C is connected to nodes D and E respectively, node B is connected to node D, and node F is connected to nodes D and E respectively. The END.X of node A specifies that the path from node A to node C is a link between node A and node C, and the END.X of node C specifies that the path from node C to node E is a link between node C and node E. Therefore, the strict explicit path from node A to node E is determined to be node A -> node C -> node E. In Figure 3, node E can be represented as E, which is the identifier of node E in the network system. This strict explicit path can be represented as a segment-list: [AC][CE].

[0138] Segment lists are commonly used to define and control the path of data packets in a network. They are a set of "segments" or "labels" that indicate the network segments a data packet traverses along a specific path. Each "segment" corresponds to a specific operation, such as forwarding a data packet to a specific interface, a specific router, or a specific service. For example, a segment-list of [AC][CE] indicates that a data packet is sent from node A to node C, and then from node C to node E.

[0139] S2022, The first communication device associates at least one path with the IPv6 prefix of the corresponding communication device to obtain the first IGP path.

[0140] The first communication device associates at least one strictly explicit path with the IPv6 prefix of the corresponding communication device, which can also be described as associating the IPv6 prefix of the communication device corresponding to at least one path with at least one strictly explicit path. The first IGP path in this application is equivalent to the mirrored strictly explicit path in the following text.

[0141] The IPv6 prefix can include prefix information for host-only routes, incoming routes, and aggregated routes.

[0142] For example, please refer to Figure 4, which is a schematic diagram of node connection provided in this application. As shown in Figure 4, based on the connection relationship shown in Figure 3, the local loopback address (loopback0) of node A is 1::1 / 128, the local loopback address of node B is 2::1 / 128, the local loopback address of node C is 3::1 / 128, the local loopback address of node D is 4::1 / 128, the local loopback address of node E is 5::1 / 128, the local loopback address of node F is 6::1 / 128, the local loopback address of node G is 7::1 / 128, and the local loopback address of node H is 8::1 / 128.

[0143] Nodes A through F belong to IS-IS100, and nodes E through H belong to IS-IS200. With aggregation introduced on nodes E and F, traffic from node A to nodes E, G, and H via node C will all be sent to node E via the strictly explicit path from node A to node E. Therefore, the IPv6 prefixes of nodes E, G, and H are associated with the strictly explicit path segment-list: [AC][CE].

[0144] For example, please refer to Figure 5, which is a schematic diagram of prefix association provided in this application. If the IPv6 prefixes 5::1 / 128, 7::1 / 128, and 6::1 / 128 are associated with the strictly explicit path segment-list of node E: [AC][CE], then the routing table of node A can include the following routing table entries 1-3. The priority of the primary path, backup path, and mirrored strictly explicit path decreases in that order.

[0145] Routing table entry 1:

[0146] Destination address: 7::1 / 128;

[0147] Node: Node E;

[0148] Main path: interface (IF)1, next hop (NHP)1;

[0149] Backup paths: IF2, NHP2;

[0150] Mirroring strictly explicit paths: segment-list: [AC][CE].

[0151] Routing table entry 2:

[0152] Destination address: 5::1 / 128;

[0153] Node: Node E;

[0154] Main path: IF1, NHP1;

[0155] Backup paths: IF2, NHP2;

[0156] Mirroring strictly explicit paths: segment-list: [AC][CE].

[0157] Routing table entry 3:

[0158] Destination address: 6::1 / 128;

[0159] Node: Node E;

[0160] Main path: IF1, NHP1;

[0161] Backup paths: IF2, NHP2;

[0162] Mirroring strictly explicit paths: segment-list: [AC][CE].

[0163] The above description, in conjunction with Figures 4 and 5, explains how the first IGP path is obtained. In a possible embodiment of this application, the first IGP path may be a mirror path obtained based on NSS. The following description, in conjunction with Figures 6 and 7, details how the mirror path is generated.

[0164] Figure 6 is a schematic diagram of a node connection provided in this application, and Figure 7 is a schematic diagram of an SPF path provided in this application.

[0165] As shown in Figure 6, node A1 is connected to nodes A2 and B1, node B1 is connected to nodes B2 and C1, node C2 is connected to nodes C1 and B2, and node A2 is connected to node B2. There are two links between A1 and B1, and between A1 and A2.

[0166] As shown in Figure 7, A1 is connected to A2 via IF1 and IF2, and to B1 via IF3 and IF4. The link from A2 to B2 is configured with END.XA2::1, the link from B1 to B2 is configured with END.XB1::1, the link from B1 to C1 is configured with END.XB1::2, the link from B2 to C2 is configured with END.XB2::1, and the link from C1 to C2 is configured with END.XC1::1.

[0167] For example, taking the first communication device as node A1, node A1 mirrors the SPF path as follows.

[0168] Node A1 calculates the strictly explicit paths from each node based on the END.X and SPF paths of each node link.

[0169] As one possible implementation, the calculation method for a strictly explicit path is as follows:

[0170] Parallel END.X between priority nodes (such as packet switched path flavor, PSP flavor) are used; if there is no parallel END.X, a regular END.X is used.

[0171] When equal-cost multi-path routing (ECMP) exists to the destination node, the number of segment-lists is reduced by separating the paths.

[0172] For example, if there are parallel labels between node B1 and node C1, and no parallel labels exist between other nodes, the strictly explicit paths from node A1 to each node, i.e., the mirrored strictly explicit paths, are as follows:

[0173] From node A1 to node B1:

[0174] (A1-B1)

[0175] Path 1: IF3, NHP.

[0176] Path 2: IF4, NHP.

[0177] From node A1 to node B2:

[0178] (A1-A2)(A2-B2)

[0179] Path 1: IF1, [A2::1].

[0180] Path 2: IF2, [A2::1].

[0181] (A1-B1)(B1-B2)

[0182] Path 1: IF3, [B1::1].

[0183] Path 2: IF4, [B1::1].

[0184] From node A1 to node C1:

[0185] (A1-B1)(B1-C1)

[0186] Path 1: IF3, [B1::2].

[0187] Path 2: IF4, [B1::2].

[0188] From node A1 to node A2:

[0189] (A1-A2)

[0190] Path 1: IF1, NHP.

[0191] Path 2: IF2, NHP.

[0192] From node A1 to node C2:

[0193] (A1-A2)(A2-B2)

[0194] Path 1: IF1, [A2::1, B2::1].

[0195] Path 2: IF2, [A2::1, B2::1].

[0196] (A1-B1)(B1-B2)

[0197] Path 3: IF3, [B1::1, B2::1].

[0198] (A1-B1)(B1-C1)(C1-C2)

[0199] Path 4: IF4, [B1::2, C1::1].

[0200] As one possible implementation, after generating the first IGP path, the first communication device, in order to ensure that the first IGP path can communicate normally when switching to it in the event of a routing protocol failure, further determines that the first IGP path is in a normal communication state. The specific method by which the first communication device determines that the first IGP path is in a normal communication state is shown in Figure 8 and its related description, and will not be repeated here.

[0201] S203. After generating the first IGP path, the first communication device switches the second IGP path to the first IGP path based on the routing protocol failure of the second IGP path.

[0202] After the first communication device generates the first IGP path, the first communication device determines that a routing protocol failure has occurred based on the second IGP path and switches the second IGP path to the first IGP path.

[0203] As one possible implementation, the first communication device may identify routing protocol failures in different ways depending on the type of the failure.

[0204] Example 1: When a routing protocol failure includes routing oscillation, the first communication device detects the routing oscillation from the control plane.

[0205] Example 2: When a routing protocol failure includes a loop, the first communication device triggers tracert to identify the loop based on the TTL field of the received message.

[0206] Example 3: When a routing protocol failure occurs, such as a prefix being unreachable (e.g., a route is accidentally deleted), the first communication device receives a message and determines that the UP flag carried by the prefix sub-tlv indicates that the path or prefix is ​​unavailable.

[0207] Example 4: When a routing protocol failure occurs, including the absence of a corresponding SPF path for a prefix, the first communication device determines that the LSDB database contains a routing prefix, but there is no corresponding SPF path to the node corresponding to the prefix.

[0208] If the first communication device determines that a routing protocol failure has occurred on the second IGP path, it will switch the second IGP path to the first IGP path.

[0209] As one possible implementation, the first communication device can switch the second IGP path to the first IGP path based on a configured switching command or a routing table priority path switching.

[0210] Optionally, the first communication device switches the second IGP path to the first IGP path based on a configured switching command.

[0211] For example, the configured switching command can be an access control list (ACL) command.

[0212] Optionally, the first communication device can distribute the first IGP path to routing management, such as an RM routing table, so that the first communication device can switch the second IGP path to the first IGP path based on the path priority in the routing table when a routing protocol failure occurs.

[0213] In the event of a routing protocol failure, the first communication device dynamically upgrades the first IGP path, making the first IGP path have a higher priority than the second IGP path.

[0214] The association between the IPv6 prefix and the mirrored strictly explicit path, as shown in Figure 5, is illustrated as follows: when the mirrored strictly explicit path is not in effect, the first communication device does not send the next hop of the mirrored strictly explicit path to the routing table. When a routing protocol failure is detected and a switch to the mirrored strictly explicit path is required, the mirrored strictly explicit path is sent to the routing management, such as the RM routing table.

[0215] As shown in Table 1, when no routing protocol failure occurs, the destination address of the route entry in the IS-IS routing table is 5::1 / 128, the optimal path is IF(AC), NHP, and the suboptimal path (mirroring a strictly explicit path) is segment-list: [AC][CE]. Correspondingly, as shown in Table 2, the destination address of the route entry in the router manager (RM) routing table is 5::1 / 128, and the optimal path is IF(AC), NHP. The NHP in the optimal path can be determined by the current node; for example, the NHP corresponding to node A can be the IP address of node C. The NHP for other paths is similar and will not be elaborated further here.

[0216] As shown in Table 3, when a routing protocol failure occurs, the destination address of the routing entry in the IS-IS routing table is 5::1 / 128, the suboptimal path is IF(AC), NHP, and the optimal path (mirrored strictly explicit path) is segment-list: [AC][CE]. Correspondingly, as shown in Table 4, the destination address of the routing entry in the RM routing table is 5::1 / 128, and the optimal path is the path label stack of the mirrored strictly explicit path.

[0217] Table 1

[0218] Table 2

[0219] Table 3

[0220] Table 4

[0221] As one possible implementation, when the first communication device receives a deletion message, it deletes the first IGP path (e.g., the strictly displayed path in the image mentioned above) in response to the deletion message.

[0222] Optionally, the deletion information can be used to indicate the deletion of END.X, SPF paths, and / or IPv6 prefixes. The first communication device deletes the corresponding IGP path (e.g., mirrored strictly explicit path, first IGP path) based on the END.X, SPF path, and / or IPv6 prefix in the deletion information.

[0223] Optionally, if the time elapsed after the first communication device receives the deletion message is greater than or equal to a sixth preset time, the first IGP path is deleted. This avoids accidental deletion and improves the stability of network communication.

[0224] Based on the above communication method, the first IGP path is generated using the first IGP network topology as a stable topology. If the first communication device experiences a routing protocol failure after switching from the first IGP path to the second IGP path following a path change, the device will switch back to the first IGP path. In this way, the first communication device uses path fallback to ensure the network is restored to a stable topology capable of normal communication. This addresses routing protocol failures caused by routing oscillations and misconfigurations, improving the versatility of network repair.

[0225] In the above embodiments, after the communication method switches the second IGP path to the first IGP path in S203, if the routing protocol failure is resolved, the first communication device can still switch the IGP path based on the restored routing protocol. For example, when the routing protocol failure is resolved, the first communication device switches the first IGP path to the third IGP path, where the third IGP path is obtained based on the restored routing protocol.

[0226] For example, if the routing protocol failure is routing oscillation, the first communication device will stop using the first IGP path once it detects that routing oscillation is no longer occurring.

[0227] For example, if the routing protocol fails and forms a loop, the first communication device will not use the first IGP path if it successfully performs a self-ping.

[0228] For example, if a routing protocol failure results in an unreachable prefix due to misconfiguration or accidental deletion, the first IGP path will no longer be used after the unicast prefix aggregation (UPA) route issued by the first communication device is revoked.

[0229] For example, if there is a routing prefix in the LSDB, but the node corresponding to the routing prefix does not have a corresponding SPF path, the first communication device will no longer use the first IGP path when the node corresponding to the routing prefix has a corresponding SPF path.

[0230] The communication method provided in this application has been described above with reference to Figures 2a-7. Before the first communication device performs the switch from the second IGP path to the first IGP path, in order to ensure normal data transmission after route rollback (i.e., path switching), the first communication device can also determine that the first IGP path is in a normal communication state after generating the first IGP path. Next, with reference to Figures 8 and 9, the method for detecting the communication state of the first IGP path, i.e., the mirrored strictly explicit path, will be described.

[0231] Figure 8 is a schematic diagram of a node connection provided in this application.

[0232] As shown in Figure 8, in the same autonomous system (AS), node PE1 is connected to nodes PE2, B1, and B2, node B1 is connected to nodes B2 and C1, node C1 is connected to nodes C2 and PE3, node PE3 is connected to nodes PE4 and C2, and node PE2 is connected to node B2. The backhaul and transmission of data share a common tunnel.

[0233] Segment-list: [PE1-B2], [B2-C2], [C2-PE3], [PE3-C2], [C2-B2], [B2-PE1].

[0234] Taking the strictly explicit mirror path from node PE1 to node PE3, with node PE1 as the first communication device, the strictly explicit mirror path from node PE1 to node PE3 includes: segment-list:[PE1-B1],[B1-C1],[C1-PE3] and segment-list:[PE1-B2],[B2-C2],[C2-PE3]. Node PE1 initiates a self-ping of the strictly explicit mirror path, performing ping operations on both segment-lists of the strictly explicit mirror path.

[0235] The overall process of ping is illustrated using the segment-list: [PE1-B1], [B1-C1], [C1-PE3].

[0236] Node PE1 specifies the interface and label stack, and pushes the mirror strictly explicit path and return path into the segment routing header (SRH) of the ping request packet. The mirror strictly explicit path and return path can include: segment-list:[PE1-B1],[B1-C1],[C1-PE3],[PE3-C1],[C1-B1],[B1-PE1], segment-list:[PE1-B2],[B2-C2],[C2-PE3],[PE3-C2],[C2-B2],[B2-PE1]. Figure 9 shows the SRH corresponding to each node link during the transmission of the ping request message. Figure 9 only shows the IPv6 source address (SA), IPv6 destination address (DA), SRH, segment left (SF), Internet Control Message Protocol version 6 (ICMPv6) information, and data. Other fields can be found in the relevant IPv6 protocol specifications and will not be elaborated here.

[0237] When node B1 receives a ping request message, it detects that the last segment identifier (SID) is the local END.X and is of type PSP. After removing SRH, it reports the ping request message to node B1, and node B1 replies to node PE1 with a ping reply message.

[0238] In this process, node B1 fills the source address of the ping reply message with B1-PE1 and the destination address with the PE1 loopback address. Even if there is no IGP path to node PE1, the reply can still be sent to PE1 to complete the detection of the mirror path.

[0239] In the communication method described above, the first communication device performs path switching when it detects a routing protocol failure. Routing protocol failures can include types such as route oscillation, loops, prefix unreachability, or the absence of a corresponding SPF path for the prefix. The following section uses prefix unreachability and route oscillation as examples to illustrate the specific process of the communication method in this application.

[0240] Example 1: Prefix unreachable (Introducing a scenario of accidental deletion of route configuration)

[0241] Based on the node connection method shown in Figure 4, node A configures an IS-IS route import policy, modifies the routing rules, and rejects a specified BGP route prefix, such as 2000:1:: / 64. Node A no longer carries the 2000:1:: prefix information in its published link-state routing protocol (LSP) messages, causing other nodes in the network to delete the route.

[0242] To make mirroring a strictly explicit path effective, follow these steps:

[0243] Step 1: If no routing protocol failure occurs, generate a mirror strictly explicit path.

[0244] NSS is enabled on nodes A and G. A stable topology is determined according to any of the scenarios in S201 shown in Figure 2a, and a mirrored strictly explicit path to node A is generated based on the SPF path and END.X. The mirrored strictly explicit path has a lower priority than the normal path, and the forwarding plane forwards traffic according to the normal path.

[0245] For example, as shown in Figure 10, the SPF paths are node G-node E-node C-node A and node G-node H-node F-node D-node B. The strictly explicit mirror path corresponding to the destination address 2000:1:: / 64 is segment-list: [GE][EC][CA]. The SPF path of node G-node H-node F-node D-node B can be the SPF path from node A to another destination address, node B, generated during the SPF path calculation; this will not be elaborated further here.

[0246] Step 2: Configure IS-IS route import policy on node A.

[0247] As one possible implementation, if the user does not want to cause forwarding interruption, they can configure it through safe-configure.

[0248] The purpose of the safe-configure configuration is to avoid introducing route deletion and instead publish unicast prefix aggregation (UPA) routes. The specific configuration method of safe-configure will not be elaborated here.

[0249] Step 3: When node A receives the route deletion instruction, it publishes the UPA route. The prefix sub-tlv under the UPA route carries the UP flag.

[0250] When other nodes besides node G receive a UPA route, they delete it directly. When node G receives a UPA route with the UP flag in prefix sub-tlv, it deletes the primary and backup paths to node A and switches to forwarding data via the strictly explicit path of the mirror.

[0251] As one possible implementation, to prevent users from accidentally deleting IS-IS routing policy configurations, node A can prompt the user before performing safe-configure, and then perform safe-configure only after the user confirms.

[0252] Step 4: Fault recovery.

[0253] As one possible implementation, when the route entry 2000:1:: / 64 of node A stored on node G is deleted for more than a preset time, the corresponding route entry 2000:1:: / 64 is deleted.

[0254] As one possible implementation, if the mirror strictly displays a path that times out during generation and relearns the 2000:1:: / 64 prefix, then node A will resume using the main path for data forwarding.

[0255] Example 2: Route turbulence (a scenario where route turbulence is caused by LSP purging)

[0256] Continuing with the node connection method shown in Figure 4, assuming that node F fails, it continuously sends LSP purge messages to the LSP of node G. After receiving the LSP purge message, node G sends the latest LSP packet locally, causing the LSP information of node G to change continuously between normal and abnormal. The route (7::1) from node A to node G is repeatedly deleted and added, forming route oscillation.

[0257] To make mirroring a strictly explicit path effective, follow these steps:

[0258] Step 1: If no routing protocol failure occurs, generate a mirror strictly explicit path.

[0259] Step 1 is similar to Step 1 in Example 1, and will not be repeated here.

[0260] Step 2: When routing oscillation occurs, node F performs an LSP purge operation on the LSP packets of node G.

[0261] Node F sends an LSP purge message to Node G, carrying a clear initiator identifier TLV. This TLV carries the identifier of Node F in the network system (such as system-id). When A receives the LSP purge message, it identifies the IPv6 prefix affected by the LSP purge message.

[0262] Step 3: IS-IS recognizes that the route was deleted due to the LSP purge message, and IS-IS switches the path to the mirror strictly explicit path.

[0263] As shown in Figure 11a, IS-IS recognizes that the route was deleted due to the LSP purge operation corresponding to the LSP purge message. After NSS detects that the mirror strictly explicit path is reachable through self-ping, it notifies IS-IS. IS-IS then switches the path to the mirror strictly explicit path, so that the forwarding plane uses the mirror strictly explicit path for traffic forwarding.

[0264] Here, IS-IS can be an IS-IS component, IS-IS control plane, or IS-IS process, and NSS can be an NSS component, NSS control plane, or NSS process. Self-ping is implemented by NSS through the debugging and monitoring module.

[0265] Step 4: Fault recovery.

[0266] As one possible implementation, after the route oscillation failure is recovered, node A recognizes that the route of node G is no longer oscillating, reduces the priority of the mirrored strictly explicit path, and switches the route back to the original path for traffic forwarding.

[0267] Example 3: Route oscillation (a scenario where system-id conflicts cause network outages and lead to route oscillations)

[0268] Continuing with the node connection method shown in Figure 4, when a new connection is added between nodes F and H, since both nodes F and H belong to the same Layer 2 network, the interfaces connecting nodes F and H establish an IS-IS neighbor relationship, and the two IS-IS processes are combined into one large process. Node E's LSP packets will flood to node G, and node G's LSPs will also flood to node E. Since nodes E and G have the same system-id, their LSP information will be constantly refreshed, causing the routes on node E and the routes passing through node E to oscillate continuously.

[0269] To make mirroring a strictly explicit path effective, follow these steps:

[0270] Step 1: If no routing protocol failure occurs, generate a mirror strictly explicit path.

[0271] Except for the detailed configuration of SPF path, END.X, etc., the principle of step 1 is similar to step 1 in example 1, and will not be repeated here.

[0272] Step 2: After a routing protocol failure, node A detects a system-id conflict.

[0273] In the event of a system-id conflict, node A will continuously receive LSP messages from nodes E and G, and the content of the LSP messages will also change continuously. Under these circumstances, node A will determine that a system-id conflict has been detected.

[0274] As one possible implementation, detection rules can be configured on node A. For example, IS-IS can judge based on the frequency of changes in the content corresponding to system-id (IPv6 prefix, END.X, etc.) at a preset frequency. If the condition is met, it is judged as a system-id conflict, and a path switch is triggered.

[0275] Step 3: Node A switches the route from Node A to Node E to the mirror strictly explicit path.

[0276] The path switching method in step 3 is the same as that in step 3 of example 2, and will not be repeated here.

[0277] Step 4: Fault recovery.

[0278] As one possible implementation, after the route oscillation failure is recovered, node A recognizes that the route of node G is no longer oscillating, reduces the priority of the mirrored strictly explicit path, and switches the route back to the original path for traffic forwarding.

[0279] The preceding text has described, through Figures 11a-11d, how to determine the steady-state topology, how to perform fault path switching, and how to determine the communication state of the mirror strictly explicit path in the communication method provided in this application. The following text will provide an exemplary description of the overall process of the communication method.

[0280] Taking node A in the node connection method shown in Figure 11b as the execution subject, the communication method may include the following steps 1-7.

[0281] Step 1: Node A determines that the IGP network topology is a steady-state topology.

[0282] The method for determining the steady-state topology of the IGP network is described in S201 shown in Figure 2a, and will not be repeated here. For example, at time node T1, the steady-state topology is shown in the node connection relationship of Figure 11b.

[0283] Step 2: Node A calculates the mirror strictly explicit paths from node A to each node based on the END.X and SPF paths of each node in the steady-state topology.

[0284] The END.X and SPF paths, as well as the calculated mirror strictly explicit path, are detailed in Figure 5 and related descriptions, and will not be repeated here. For example, the mirror strictly explicit path from node A to node E is: node A - node C - node E. According to the method shown in Figure 2a, this mirror strictly explicit path can also be called the first IGP path.

[0285] For example, in a steady-state topology where no routing protocol failure occurs, the packet forwarding path from node A to node E is node A-node C-node E. The packet forwarding path between node A and node E can be determined by each node based on its routing table.

[0286] Step 3: Node A determines that after generating the first IGP path, the first IGP path is switched to the second IGP path, and the second IGP path experiences a routing protocol failure.

[0287] For example, at time node T2, the IGP network topology has changed and is no longer the steady-state topology described above. Accordingly, the packet forwarding path from node A to node E changes from the first IGP path to the second IGP path, which is node A-node B-node D-node F-node H-node G-node E.

[0288] Changes in IGP network topology can be caused by factors such as link changes, network configuration modifications, load balancing, or traffic management. For example, before the IGP network topology changes, if the first IGP path has a higher weight in load balancing than the second IGP path, then the packet forwarding path from node A to node E under this IGP network topology is the first IGP path, i.e., node A-node C-node E. As time progresses, at time node T2, the link bandwidth between node A and node C decreases, which, from a topological perspective, can be considered as a disconnection between node C and node E. The IGP network topology at this time can be shown in Figure 11c. Under the changed IGP network topology, the packet forwarding path from node A to node E is node A-node B-node D-node F-node H-node G-node E.

[0289] In the changed IGP network topology, taking time node T3 as an example, a routing protocol failure occurs, such as nodes E and G having the same system-id. This causes the LSPs of nodes E and G to be continuously refreshed, resulting in continuous oscillations in routes to and through node E. When node A continuously receives LSP packets from nodes E and G, it determines that a routing protocol failure has occurred between nodes E and G, i.e., the same system-id between nodes E and G causing a disconnection between them. Thus, the second IGP path is broken due to the routing protocol failure, meaning node A cannot forward packets to node E based on the second IGP path, as shown in Figure 11d.

[0290] Step 4: Node A confirms that the strictly explicit mirror paths from Node A to each node are in normal communication status.

[0291] Node A1 determines that the strictly explicit mirror paths from node A to each node are in normal communication status. For example, the strictly explicit mirror path from node A to node E is in normal communication status.

[0292] For details on how to determine that the mirror's strictly explicit path is in a normal communication state, please refer to Figure 8 and its related description, which will not be repeated here.

[0293] Step 5: Node A switches the route from Node A to Node E to the mirror strictly explicit path.

[0294] According to the method in this application embodiment, node A increases the priority of the mirror strictly explicit path calculated at time T1, making the priority of the mirror strictly explicit path higher than the priority of the second IGP path. Then, the packet forwarding path from node A to node E switches from the second IGP path to the first IGP path. The specific routing changes for the priority switching can be referred to in Tables 1 and 3. In Table 1, the optimal path corresponds to the second IGP path, and the second-best path corresponds to the first IGP path. In Table 3, the optimal path corresponds to the first IGP path, and the second-best path corresponds to the second IGP path.

[0295] Optionally, in step 6, when the routing protocol failure is resolved, node A will switch the mirrored strictly explicit path to the third IGP path.

[0296] For example, when the routing protocol failure is resolved and normal communication is restored between node E and node G, node A determines the packet forwarding path from node A to node E according to the restored routing protocol, obtains the third IGP path, and switches the mirrored strictly explicit path to the third IGP path. The third IGP path can be the same as or different from the second IGP path.

[0297] Step 7: Node A responds to the delete message and deletes the first IGP path.

[0298] When Node A receives a deletion message indicating the deletion of the END.X, SPF path, and / or IPv6 prefix corresponding to the first IGP path, it deletes the corresponding first IGP path, i.e., the aforementioned mirrored strictly explicit path, according to the END.X, SPF path, and / or IPv6 prefix in the deletion message.

[0299] To complement the communication method provided in the embodiments of this application, this application also provides a communication device 1200. This communication device 1200 is used to execute the aforementioned communication method. The communication device 1200 can be any router (CR, BR, etc.) in a network system. For example, the communication device 1200 is BR121 in Figure 1, node A in Figure 4, node A1 in Figure 6, node PE1 in Figure 8, node A in Figures 11a-11d, etc. As shown in Figure 12, the communication device 1200 includes a topology determination module 1210, a path determination module 1220, and a path switching module 1230.

[0300] For example, the communication device 1200 can implement the functions of the first communication device in FIG2a.

[0301] The topology determination module 1210 is used to determine that the first IGP network topology is a stable topology.

[0302] The path determination module 1220 is used to generate a first IGP path based on the first IGP network topology; the first IGP path includes a path from the first communication device to other communication devices, and the other communication devices are at least one communication device other than the first communication device.

[0303] The path switching module 1230 is used to switch the second IGP path to the first IGP path after the first IGP path is generated, based on the routing protocol failure of the second IGP path; the second IGP path includes the path from the first communication device to other communication devices.

[0304] As one possible implementation, the first IGP network topology includes: an IGP network topology that is generated for a first preset time after IGP is enabled; or an IGP network topology generated after a second preset time after IGP is enabled; or an IGP network topology generated after a third preset time after a primary / backup switchover; or an IGP network topology that does not change within a fourth preset time.

[0305] As one possible implementation, the first preset duration, the second preset duration, the third preset duration, and the fourth preset duration are all n minutes, where n is a positive integer.

[0306] As one possible implementation, routing protocol failures include at least one of the following: route oscillation, loop, prefix unreachable, or no corresponding SPF path for the prefix.

[0307] As one possible implementation, the topology determination module 1210 is also used to: determine that a routing protocol failure has occurred in the second IGP path.

[0308] As one possible implementation, when the routing protocol failure includes route oscillation, the control plane identifies the route oscillation; when the routing protocol failure includes loops, the loop is identified based on the TTL field of the received packet; when the routing protocol failure includes prefix unreachability, the available status UP flag carried by the prefix sub-tlv of the received packet indicates that the path or prefix is ​​unavailable; when the routing protocol failure includes the absence of a corresponding SPF path for the prefix, it is determined that the node corresponding to the routing prefix existing in the LSDB does not have an SPF path.

[0309] As one possible implementation, the first IGP network topology includes: an END.X of at least one communication device, an SPF path from the first communication device to other communication devices, and an IPv6 prefix of at least one communication device.

[0310] As one possible implementation, the topology determination module 1210 is specifically used to: determine that the topology of the first IGP network has not changed after a fifth preset time period following a change in END.X, SPF path, or IPv6 prefix.

[0311] As one possible implementation, the path determination module 1220 is specifically used to: determine at least one path from the first communication device to other communication devices based on the END.X and SPF paths; and associate the at least one path with the IPv6 prefix of the corresponding communication device to obtain the first IGP path.

[0312] As one possible implementation, the first IGP path is a strictly explicit path.

[0313] As one possible implementation, the path switching module 1230 is also used to: switch the first IGP path to the third IGP path when the routing protocol failure is restored to normal; the third IGP path is obtained based on the restored routing protocol.

[0314] As one possible implementation, the path determination module 1220 is also used to: receive a deletion message; and delete the first IGP path in response to the deletion message.

[0315] As one possible implementation, the deletion message is used to indicate the deletion of END.X, SPF paths, or IPv6 prefixes.

[0316] As one possible implementation, the path determination module 1220 is specifically used to: determine the first IGP path corresponding to the END.X, SPF path, or IPv6 prefix in the deletion message; and delete the first IGP path when the elapsed time after receiving the deletion message is greater than or equal to a sixth preset time.

[0317] As one possible implementation, the path determination module 1220 is also used to: determine that the first IGP path is in a normal communication state.

[0318] As one possible implementation, the path switching module 1230 is specifically used to: send the first IGP path to the routing table based on the routing protocol failure of the second IGP path; the priority of the first IGP path is higher than the priority of the second IGP path.

[0319] As one possible implementation, the path switching module 1230 is specifically used to: switch the second IGP path to the first IGP path based on the configured switching command.

[0320] As one possible implementation, the second IGP path is generated based on a second IGP network topology, which is different from the first IGP network topology.

[0321] It should be understood that the device shown in Figure 12 is only illustrated by the division of the above-described functional modules. In practical applications, the functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. Furthermore, the device and method embodiments provided in the above embodiments belong to the same concept, and their specific implementation process is detailed in the method embodiments, which will not be repeated here.

[0322] It should be understood that the functional modules of the communication device 1200 in this application embodiment can be implemented in hardware or software. For example, the functional modules of the communication device 1200 can be implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD can be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof. Similarly, when the communication method shown in FIG2a is implemented in software, the communication device 1200 and its modules can be software modules.

[0323] Figure 13 is a schematic diagram of the structure of a communication device provided in the application. As shown in Figure 13, the communication device 1300 includes a processor 1310, a bus 1320, a memory 1330, a communication interface 1340, and a memory unit 1350 (also referred to as a main memory unit). The processor 1310, the memory 1330, the memory unit 1350, and the communication interface 1340 are connected through the bus 1320.

[0324] It should be understood that in this embodiment, the processor 1310 may be a CPU, but it may also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor.

[0325] The processor may also be a graphics processing unit (GPU), a neural network processing unit (NPU), a microprocessor, or one or more integrated circuits used to control the execution of the program in this application.

[0326] In a possible embodiment, communication device 1300 may refer to processor 1310.

[0327] The communication interface 1340 is used to enable communication between the communication device 1300 and external devices or components. In this embodiment, when the communication device 1300 is used to implement the function of any network device or server in FIG1, the communication interface 1340 is used as a physical port for sending and receiving data packets.

[0328] Bus 1320 may include a pathway for transferring information between the aforementioned components (such as processor 1310, memory unit 1350, and memory 1330). In addition to a data bus, bus 1320 may also include a power bus, control bus, and status signal bus. However, for clarity, all buses are labeled as bus 1320 in the figure. Bus 1320 may be a Peripheral Component Interconnect Express (PCIe) bus, or an Extended Industry Standard Architecture (EISA) bus, Unified Bus (Ubus or UB), Compute Express Link (CXL), Cache Coherent Interconnect for Accelerators (CCIX), etc. Bus 1320 can be divided into address bus, data bus, control bus, etc.

[0329] As an example, the communication device 1300 may include multiple processors. A processor may be a multi-core (multi-CPU) processor. Here, a processor may refer to one or more devices, circuits, and / or computing units used to process data (e.g., computer program instructions).

[0330] It is worth noting that Figure 13 only shows the example of a communication device 1300 including a processor 1310 and a memory 1330. Here, the processor 1310 and the memory 1330 are used to indicate a type of device or equipment. In specific embodiments, the number of each type of device or equipment can be determined according to business needs.

[0331] Memory cell 1350 may be volatile memory or non-volatile memory, or may include both. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory may be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).

[0332] The memory 1330 can correspond to the storage medium used to store computer instructions and other information in the above method embodiments, such as a disk, like a mechanical hard disk or a solid-state hard disk.

[0333] The aforementioned communication device 1300 can be a general-purpose device or a special-purpose device. For example, the communication device 1300 can be an edge device (e.g., a box carrying a chip with processing capabilities). Alternatively, the communication device 1300 can also be a chip, network device, server, or other device with computing capabilities.

[0334] It should be understood that the communication device 1300 according to this embodiment can correspond to the communication device 1200 in this embodiment, and can correspond to the corresponding subject executing the method shown in FIG2a. The communication device 1300 can be any router (CR, BR, etc.) in the network system. For example, the communication device 1200 is BR121 in FIG1, node A in FIG4, node A1 in FIG6, node PE1 in FIG8, node A in FIG11a-FIG11d, etc. The above and other operations and / or functions of each module in the communication device 1300 are respectively to implement the corresponding process of the method in FIG2a. For the sake of brevity, they will not be described in detail here.

[0335] This application also provides a computer program product containing instructions. This computer program product may be a software or program product containing instructions, capable of running on a computing device or stored on any usable medium. When the computer program product is run on at least one computing device, it causes the at least one computing device to perform the aforementioned communication method.

[0336] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium capable of being stored by a computing device, or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to perform the aforementioned communication method.

[0337] This application also provides a chip, including a processing circuit and an interface circuit. The interface circuit is used for transmitting and receiving data, and the processing circuit is used for executing the above-described communication method.

[0338] As one possible implementation, the chip also includes a storage circuit. The storage circuit, interface circuit, and processing circuit are connected via internal interconnection paths. The processing circuit is used to execute code in the storage circuit, and when the code is executed, the processing circuit is used to perform the aforementioned communication method.

[0339] The method steps in this embodiment can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in random access memory, flash memory, read-only memory, programmable read-only memory, erasable programmable read-only memory, electrically erasable programmable read-only memory, registers, hard disks, portable hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and storage medium can reside in an ASIC. Alternatively, the ASIC can reside in an electronic device (such as a network device). Of course, the processor and storage medium can also exist as discrete components in an electronic device.

[0340] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this application are performed entirely or partially. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user equipment, or other programmable device. The computer program or instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions can be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; it can also be an optical medium, such as a digital video disc (DVD); or it can be a semiconductor medium, such as a solid-state drive (SSD). The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A communication method, characterized in that, Applied to a network system, the network system including at least one communication device, the method is performed by a first communication device, wherein the first communication device is any one of the at least one communication device, and the method includes: The first Interior Gateway Protocol (IGP) network topology was determined to be a stable topology; A first IGP path is generated based on the first IGP network topology; the first IGP path includes a path from the first communication device to other communication devices, wherein the other communication devices are communication devices other than the first communication device among the at least one communication device; After the first IGP path is generated, if a routing protocol failure occurs on the second IGP path, the second IGP path is switched to the first IGP path; the second IGP path includes the path from the first communication device to the other communication device.

2. The method according to claim 1, characterized in that, The first IGP network topology includes: After IGP is enabled, an IGP network topology is generated for the first preset duration thereafter; or The IGP network topology generated after IGP is enabled and a second preset time period has elapsed; or The IGP network topology generated after a third preset time period following a primary / standby switchover; or The IGP network topology that has not changed within the fourth preset time period.

3. The method according to claim 2, characterized in that, The first preset duration, the second preset duration, the third preset duration, and the fourth preset duration are all n minutes, where n is a positive integer.

4. The method according to claim 1 or 2, characterized in that, The routing protocol failure includes at least one of the following: route oscillation, loop, prefix unreachable, or the absence of a corresponding Shortest Path First (SPF) path for the prefix.

5. The method according to any one of claims 1-4, characterized in that, The method further includes: It is determined that the routing protocol failure has occurred in the second IGP path.

6. The method according to claim 5, characterized in that, Determining that the routing protocol failure has occurred in the second IGP path includes at least one of the following: When the routing protocol failure includes routing oscillation, the routing oscillation is detected by the control plane. When the routing protocol failure includes a loop, the loop is identified based on the Time-to-Live (TTL) field of the received message; When the routing protocol failure includes prefix unreachability, a message is received, and the available status UP flag carried by the prefix sub-tlv value of the message indicates that the path or prefix is ​​unavailable. When the routing protocol failure includes the absence of a corresponding SPF path for a prefix, it is determined that the node corresponding to the routing prefix in the Link State Database (LSDB) does not have an SPF path.

7. The method according to any one of claims 1-6, characterized in that, The first IGP network topology includes at least one of the following: END.X of at least one communication device, SPF path from the first communication device to the other communication device, and the Internet Protocol version 6 (IPv6) prefix of the at least one communication device.

8. The method according to claim 7, characterized in that, The step of determining that the first Interior Gateway Protocol (IGP) network topology is a stable topology includes: After the END.X, the SPF path, or the IPv6 prefix changes, it is determined that the first IGP network topology has not changed after a fifth preset time period.

9. The method according to claim 7 or 8, characterized in that, The generation of the first IGP path based on the first IGP network topology includes: Based on the END.X and the SPF path, at least one path is determined from the first communication device to the other communication devices; The first IGP path is obtained by associating each of the at least one path with the IPv6 prefix of the corresponding communication device.

10. The method according to any one of claims 1-9, characterized in that, The first IGP path is a strictly explicit path.

11. The method according to any one of claims 1-10, characterized in that, The method further includes: When the routing protocol recovers from the failure, the first IGP path is switched to the third IGP path; the third IGP path is obtained based on the recovered routing protocol.

12. The method according to any one of claims 1-11, characterized in that, The method further includes: Receive deletion message; The first IGP path is deleted in response to the deletion message.

13. The method according to claim 12, characterized in that, The deletion message is used to indicate the deletion of END.X, SPF paths, or IPv6 prefixes.

14. The method according to claim 12 or 13, characterized in that, The process of deleting the first IGP path in response to the deletion message includes: Determine the first IGP path corresponding to END.X, SPF path, or IPv6 prefix in the deletion message; If the elapsed time after receiving the deletion message is greater than or equal to a sixth preset time, the first IGP path is deleted.

15. The method according to any one of claims 1-14, characterized in that, After generating the first IGP path based on the first IGP network topology, the method further includes: It is determined that the first IGP path is in a normal communication state.

16. The method according to any one of claims 1-15, characterized in that, Switching the second IGP path to the first IGP path includes: If a routing protocol failure occurs on the second IGP path, the first IGP path is sent to the routing table; the priority of the first IGP path is higher than that of the second IGP path.

17. The method according to any one of claims 1-15, characterized in that, Switching the second IGP path to the first IGP path includes: The second IGP path is switched to the first IGP path based on the configured switching command.

18. The method according to any one of claims 1-17, characterized in that, The second IGP path is generated based on a second IGP network topology, which is different from the first IGP network topology.

19. A chip, characterized in that, It includes a processing circuit and an interface circuit, the interface circuit being used to send and receive data, and the processing circuit being used to perform the method as described in any one of claims 1-18.

20. A communication device, characterized in that, The communication device includes a processor and a memory; The processor is configured to execute instructions stored in the memory to cause the communication device to perform the method as described in any one of claims 1-18.

21. A network system, characterized in that, The network system includes at least one communication device for performing the method as described in any one of claims 1-18.

22. A computer program product containing instructions, characterized in that, When the instruction is executed by the communication device, the communication device performs the method as described in any one of claims 1-18.

23. A computer-readable storage medium, characterized in that, It includes computer program instructions, which, when executed by a communication device, perform the method as described in any one of claims 1-18.