Method and device for determining fault root cause
By constructing network element models for control plane and forwarding plane simulation, the problem of determining the root cause of faults in communication networks is solved, enabling rapid and accurate fault root cause localization and improving network analysis efficiency.
Patent Information
- Application Number
- CN202411281175.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-11
- Publication Date
- 2026-03-13
AI Technical Summary
In communication networks, determining the root cause of network element failures is challenging due to its unpredictability, high complexity, and large scale, resulting in difficulty, low efficiency, and a wide range of impact.
By acquiring network data from network elements, constructing corresponding models, performing control plane simulations based on these models, obtaining control plane simulation results, and combining these with forwarding plane simulation results, the root causes of faults can be accurately and efficiently determined.
It enables rapid and accurate location of the root cause of faults in communication networks, reduces the difficulty and time cost of determining the root cause of faults, and improves the efficiency of network analysis.
Smart Images

Figure CN121664610A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to methods and apparatus for determining the root cause of a fault. Background Technology
[0002] With the development of communication technology, the number of network elements (NEs) in communication networks is constantly increasing, and the probability of NE failure is also gradually increasing. Determining the root cause of a failure—that is, identifying the fundamental reason that leads to the NE failure—has become a problem worthy of attention. Summary of the Invention
[0003] This application provides a method and apparatus for determining the root cause of a fault, enabling flexible and efficient determination of the root cause. The technical solution provided by this application includes at least the following aspects.
[0004] Firstly, a method for determining the root cause of a fault is provided. In this method, network data of a first network element is acquired, including a first command set and a first parameter set. Then, a model corresponding to the first network element is obtained based on the first command set and the first parameter set, wherein the first attribute of the model corresponding to the first network element is determined by the first command set, and the value of the first attribute is determined by the first parameter set. Next, control surface simulation results are obtained based on the model corresponding to the first network element, and these simulation results are used to determine the root cause of control surface faults in the network.
[0005] This application determines the first attribute of the model corresponding to the first network element based on the first command set in the network element's data, and determines the value of the first attribute based on the first parameter set in the network element's data, thereby abstracting the first network element into a model corresponding to the first network element. Therefore, it is possible to simulate the control surface of the first network element based on the model corresponding to the first network element, obtaining control surface simulation results. When a fault exists in the network where the first network element resides, this control surface simulation result can be used to determine the root cause of the network's control surface fault, thus deepening the determination of the root cause of the fault to the control surface, enabling accurate, flexible, and efficient determination of the root cause of the control surface fault.
[0006] In the network data of the first network element (e.g., network data of network elements produced by different manufacturers), there may be multiple ways to express the first command set. This application does not need to limit the expression of the first command set, and has strong applicability. Based on the first command set, the first attribute can be accurately determined, and then the first attribute can be assigned a value based on the first parameter set, that is, the value of the first attribute can be determined. As a result, the model corresponding to the first network element can accurately reproduce the first network element, which is beneficial to improving the accuracy of simulation based on the model corresponding to the first network element.
[0007] In one possible implementation, the method further includes: acquiring network data of a second network element, the network data of the second network element including a second command set and a second parameter set; acquiring a model corresponding to the second network element based on the second command set and the second parameter set, the second attribute of the model corresponding to the second network element being determined by the second command set, and the value of the second attribute being determined by the second parameter set.
[0008] The network containing the first network element may also include a second network element. In this case, this application also abstracts the second network element into a model corresponding to the second network element, so as to facilitate the simulation of the second network element.
[0009] In one possible implementation, obtaining the control plane simulation results based on the model corresponding to the first network element includes: obtaining the control plane simulation results corresponding to the first network element and the second network element based on the model corresponding to the first network element and the second network element, wherein the control plane simulation results are the control plane simulation results of the network containing the first network element and the second network element.
[0010] Since the network contains a first network element and a second network element, the models corresponding to the first network element and the second network element can be integrated to simulate the first network element and the second network element, thereby obtaining the control surface simulation results corresponding to the first network element and the second network element, expanding the scope of simulation and determination of control surface fault root causes in the network.
[0011] In one possible implementation, obtaining control plane simulation results based on the model corresponding to the first network element includes: determining the network topology based on the first attribute and the value of the first attribute; reconstructing the control plane behavior of the network elements contained in the network based on the first attribute, the value of the first attribute and the topology, and obtaining control plane simulation results, wherein the control plane behavior includes at least one of routing processing or label propagation process.
[0012] By determining the network topology, the relationships between different network elements are revealed. Based on these relationships, the control plane behavior of the network elements can be reconstructed based on the first attribute and its value, thus simulating the process executed by the control plane. This process includes at least one of the routing process or the label propagation process, which is comprehensive and flexible.
[0013] In one possible implementation, obtaining the model corresponding to the first network element based on the first command set and the first parameter set includes: mapping at least one command line in the first command set to a first attribute; and mapping at least one parameter in the first parameter set to the value of the first attribute.
[0014] Since the first attribute is mapped from at least one command line, and its value is mapped from at least one parameter, the model corresponding to the first network element occupies relatively little storage space. Given limited storage space, the smaller storage space required for the model corresponding to the first network element allows for the storage of models corresponding to multiple network elements within the network, such as models corresponding to thousands of network elements. This facilitates batch simulation of a large number of network elements, supports simulation of large-scale networks, and expands the scope for network simulation and determination of control surface fault root causes.
[0015] In one possible implementation, the method further includes: displaying the control plane simulation results and the network element identifier, wherein the network element identifier is an identifier of the first network element generated based on the first command set and the first parameter set.
[0016] By displaying the network element identifier of the first network element and the control plane simulation results, the control plane is visualized. Users can intuitively browse the network topology and the control plane simulation results obtained based on the control plane behavior. This helps users to understand in detail and quickly whether there are faults in the network and the specific situation and scope of the faults when they exist, thereby improving the efficiency of users in analyzing the current network.
[0017] In one possible implementation, the control plane simulation results include routes obtained by network elements through the routing process and the reasons for the routing process. The reasons for the routing process include at least one of the reasons for obtaining a route or the reasons for not obtaining a route other than the route. The routing process includes at least one of the following: route flooding process, route origination process, route comparison process, route introduction process, route aggregation process, route cancellation process, or route discarding process.
[0018] Because control plane simulation results contain relatively rich information (i.e., routing and routing processing reasons), determining the root cause of control plane faults based on these results is highly efficient and accurate. Furthermore, the presence of multiple routing processing procedures reflects the entire lifecycle of routing, allowing users to gain a detailed understanding of how the control plane of the first network element processes routing.
[0019] In one possible implementation, the control plane simulation results include the labels obtained by the network elements through the label propagation process and the reasons for label propagation. The reasons for label propagation include at least one of the reasons for obtaining a label or the reasons for not obtaining a label other than a label.
[0020] Because the control plane simulation results contain relatively rich information (i.e., tags and tag processing reasons), the efficiency and accuracy of determining the root cause of the fault are relatively high, and users can have a detailed understanding of the process of the first network element's control plane propagating tags.
[0021] In one possible implementation, the method further includes: determining the source network element and the destination network element from the network elements contained in the network; obtaining the forwarding plane simulation results based on the source network element, the destination network element, the control plane simulation results and the model corresponding to the first network element, and using the forwarding plane simulation results and the control plane simulation results to determine the root cause of the control plane fault in the network.
[0022] After implementing the control plane simulation, this application can also implement the forwarding plane simulation to obtain the forwarding plane simulation results. This allows for the accurate and rapid determination of the root cause of the network's control plane fault by combining the control plane simulation results and the forwarding plane simulation results when a network fault exists. This reduces the difficulty for users in determining the root cause of control plane faults and improves efficiency.
[0023] In one possible implementation, the forwarding plane simulation results are obtained based on the source network element, destination network element, control plane simulation results, and the model corresponding to the first network element. This includes: based on the source network element, destination network element, control plane simulation results, first attribute, and the value of the first attribute, the traffic forwarding process from the source network element to the destination network element is reconstructed to obtain the forwarding plane simulation results.
[0024] This application can recreate the forwarding plane behavior of each network element from the source network element to the destination network element, realize the simulation of the traffic forwarding process performed by the forwarding plane, and obtain comprehensive and accurate forwarding plane simulation results.
[0025] In one possible implementation, the forwarding plane simulation results include at least one of the reasons why any network element from the source network element to the destination network element forwards traffic or does not forward traffic during the traffic forwarding process.
[0026] By using the simulation results of the forwarding plane, users can accurately understand the reasons why each network element forwards or does not forward traffic on the traffic forwarding path, which makes it easier for users to grasp the traffic forwarding situation and thus discover faults in the network in a timely manner.
[0027] Secondly, an apparatus for determining the root cause of a fault is provided, the apparatus including an acquisition module. The acquisition module is used to acquire network data of a first network element, the network data of the first network element including a first command set and a first parameter set. The acquisition module is further used to acquire a model corresponding to the first network element based on the first command set and the first parameter set, wherein a first attribute of the model corresponding to the first network element is determined by the first command set, and the value of the first attribute is determined by the first parameter set. The acquisition module is further used to acquire control surface simulation results based on the model corresponding to the first network element, the control surface simulation results being used to determine the root cause of control surface faults in the network.
[0028] In one possible implementation, the acquisition module is further configured to acquire network data of the second network element, the network data of the second network element including a second command set and a second parameter set; and to acquire the model corresponding to the second network element based on the second command set and the second parameter set, wherein the second attribute of the model corresponding to the second network element is determined by the second command set and the value of the second attribute is determined by the second parameter set.
[0029] In one possible implementation, the acquisition module is used to acquire the control plane simulation results corresponding to the first network element and the second network element based on the model corresponding to the first network element and the model corresponding to the second network element. The control plane simulation results are the control plane simulation results of the network including the first network element and the second network element.
[0030] In one possible implementation, an acquisition module is used to determine the network topology based on a first attribute and the value of the first attribute; and to reconstruct the control plane behavior of the network elements contained in the network based on the first attribute, the value of the first attribute and the topology, thereby obtaining control plane simulation results, wherein the control plane behavior includes at least one of routing processing or label propagation process.
[0031] In one possible implementation, a module is configured to map at least one command line in the first command set to a first attribute; and to map at least one parameter in the first parameter set to a value of the first attribute.
[0032] In one possible implementation, the device further includes a display module for displaying the control plane simulation results and network element identifiers, wherein the network element identifiers are identifiers of the first network element generated based on the first command set and the first parameter set.
[0033] In one possible implementation, the control plane simulation results include routes obtained by network elements through the routing process and the reasons for the routing process. The reasons for the routing process include at least one of the reasons for obtaining a route or the reasons for not obtaining a route other than the route. The routing process includes at least one of the following: route flooding process, route origination process, route comparison process, route introduction process, route aggregation process, route cancellation process, or route discarding process.
[0034] In one possible implementation, the control plane simulation results include the labels obtained by the network elements through the label propagation process and the reasons for label propagation. The reasons for label propagation include at least one of the reasons for obtaining a label or the reasons for not obtaining a label other than a label.
[0035] In one possible implementation, the apparatus further includes: a determining module, configured to determine a source network element and a destination network element from the network elements contained in the network; and an acquiring module, configured to acquire forwarding plane simulation results based on the source network element, the destination network element, the control plane simulation results, and the model corresponding to the first network element, wherein the forwarding plane simulation results and the control plane simulation results are used to determine the root cause of the control plane fault in the network.
[0036] In one possible implementation, the acquisition module is used to reconstruct the traffic forwarding process from the source network element to the destination network element based on the source network element, the destination network element, the control plane simulation results, the first attribute, and the value of the first attribute, so as to obtain the forwarding plane simulation results.
[0037] In one possible implementation, the forwarding plane simulation results include at least one of the reasons why any network element from the source network element to the destination network element forwards traffic or does not forward traffic during the traffic forwarding process.
[0038] Thirdly, an apparatus for determining the root cause of a fault is provided, the apparatus comprising a memory and a processor. The memory stores at least one computer instruction, which is loaded and executed by the processor to cause the apparatus to implement the method for determining the root cause of a fault provided in the first aspect or any possible implementation thereof.
[0039] Optionally, there may be one or more processors and one or more memories.
[0040] Alternatively, the memory can be integrated with the processor, or the memory can be set up separately from the processor.
[0041] Fourthly, a system for determining the root cause of a fault is provided, the system comprising the device for determining the root cause of a fault provided in the third aspect and at least one network element.
[0042] Fifthly, a chip is provided, including a processor for retrieving and executing instructions stored in a memory, causing a computer equipped with the chip to perform the method for determining the root cause of a fault provided in the first aspect or any possible implementation thereof.
[0043] In a sixth aspect, another chip is provided, comprising: an input interface, an output interface, a processor, and a memory, wherein the input interface, the output interface, the processor, and the memory are connected via an internal connection path, the processor is used to execute code in the memory, and when the code is executed, a computer with the chip installed executes the method for determining the root cause of a fault provided in the first aspect or any possible implementation thereof.
[0044] In a seventh aspect, a computer-readable storage medium is provided that stores computer instructions, wherein when the computer instructions are executed on a computer, the method for determining the root cause of a fault provided in the first aspect or any possible implementation thereof is executed by the computer.
[0045] Eighthly, a computer program or computer program product is provided, comprising: computer instructions that, when executed by a computer, cause the computer to perform the method for determining the root cause of a fault provided by the first aspect or any possible implementation thereof.
[0046] It should be understood that the technical effects achieved by the technical solutions provided by the second to eighth aspects of this application and their corresponding possible implementations can be found in the above description of the technical effects achieved by the technical solutions provided by the first aspect and their corresponding possible implementations, and will not be repeated here. Attached Figure Description
[0047] Figure 1 A schematic diagram of a communication network provided in an embodiment of this application;
[0048] Figure 2 A schematic diagram illustrating the root causes of a fault in a communication network, provided as an embodiment of this application;
[0049] Figure 3 A schematic diagram of the structure of a computer device provided in an embodiment of this application;
[0050] Figure 4 A flowchart illustrating a method for determining the root cause of a fault, as provided in an embodiment of this application;
[0051] Figure 5 A schematic diagram of a process for determining the root cause of a fault, provided in an embodiment of this application;
[0052] Figure 6 A path propagation graph provided for an embodiment of this application;
[0053] Figure 7 A routing propagation graph provided for an embodiment of this application;
[0054] Figure 8 A schematic diagram illustrating a layered display of network-level, tunnel-level, and network element-level structures provided in an embodiment of this application;
[0055] Figure 9 A schematic diagram of a user interface provided for an embodiment of this application;
[0056] Figure 10 A schematic diagram of another user interface provided for an embodiment of this application;
[0057] Figure 11 A schematic diagram illustrating yet another user interface provided in an embodiment of this application;
[0058] Figure 12 A schematic diagram of another process for determining the root cause of a fault, provided in an embodiment of this application;
[0059] Figure 13 A schematic diagram of another process for determining the root cause of a fault, provided in an embodiment of this application;
[0060] Figure 14 A schematic diagram illustrating another process for determining the root cause of a fault, provided in an embodiment of this application;
[0061] Figure 15 A flowchart illustrating the process of determining the root cause of a fault, provided in an embodiment of this application.
[0062] Figure 16 A structural diagram of an apparatus for determining the root cause of a fault, provided in an embodiment of this application;
[0063] Figure 17 This is a schematic diagram of the structure of another computer device provided in an embodiment of this application. Detailed Implementation
[0064] The terminology used in the implementation section of this application is for the purpose of explaining specific embodiments of this application only, and is not intended to limit this application.
[0065] With the development of communication technology, the scale of communication networks (or simply networks) is also increasing. For example, a communication network may include thousands or tens of thousands of network elements, involving millions of users. Therefore, communication networks are extremely complex, and planning, constructing, maintaining, and optimizing them carries significant network risks and exhibits economies of scale. Even small-scale faults / failures within a communication network can have a cascading effect throughout the entire network, impacting a wide range of systems. Furthermore, the underlying network protocols used by network elements in communication networks are complex, and different Internet Protocol (IP) addresses within these protocols may conflict or cause unexpected effects. The upper-layer services are also complex, with network elements needing to handle traffic from various services.
[0066] like Figure 1 As shown, Figure 1In this context, 'R' represents a network element, and multiple network elements constitute a communication network. For example, the underlying network protocols include, but are not limited to: Interior Gateway Protocol (IGP), Border Gateway Protocol (BGP), Virtual Private Network (VPN) protocol, Multi-Protocol Label Switching (MPLS) protocol, Traffic Engineering (TE) protocol, or Segment Routing (SR) protocol. Optionally, the upper-layer services include, but are not limited to: traffic for live streaming services or file transfer services.
[0067] Based on the characteristics described above, the construction, maintenance, and optimization of communication networks are relatively prone to failures, and these failures can have serious consequences. For example, since communication networks cover multiple industries, any failure in the network can lead to service interruptions or data loss related to those industries, resulting in serious consequences such as user complaints, breaches of contract, or economic losses.
[0068] In this context, a communication network failure refers to a failure in a network element. For example, a network element failure might be caused by a change in its configuration. Network elements include the control plane and the forwarding plane. The control plane provides control functions, while the forwarding plane provides traffic forwarding functions. For instance, the control plane generates routing tables, and the forwarding plane forwards traffic according to these tables. When the forwarding plane fails (e.g., traffic forwarding fails), it may be due to a failure in the control plane (e.g., an incorrect routing table generated by the control plane). Therefore, determining the root cause of a control plane failure is a crucial issue. Determining the root cause of a control plane failure involves at least the following challenges.
[0069] Challenge 1: The root cause of a fault is unpredictable, and its impact on network elements and the communication network is also unpredictable. For example, in the case of a network element configuration change—that is, an incremental configuration based on the current network element configuration—the root cause of the fault may include: an error in the incremental configuration, an error in the current network element configuration, or an error resulting from the combination of the incremental and current network element configurations. Therefore, determining the root cause of a fault is quite difficult and may require a significant investment of time and manpower.
[0070] Challenge 2: The communication network is large in scale and has a large number of network elements. For example, a backbone network may contain three to six thousand network elements. Or, an enterprise data center network may contain thousands of network elements. In any of these network elements, the routing table used, the interfaces on the network element, and the links connecting to the network element can all fail. Therefore, the probability of failure is high, and determining the root cause is also difficult. For example, see... Figure 2 , Figure 2 In this context, R represents a network element. When a service interruption occurs in a communication network, there are multiple possible root causes of the fault, distributed across different network elements. Among these possible root causes, there may be a single true root cause, making it difficult to determine the actual cause. Furthermore, troubleshooting step-by-step according to scenarios and rules requires relying on a large number of rules, resulting in high costs and low efficiency.
[0071] Challenge 3: The high complexity of determining the root cause of a fault. The underlying network protocols of network elements are complex and may influence each other, causing different network elements to affect each other as well. For example, the connectivity of a tunnel (composed of network elements) in one area of a communication network may affect the connectivity of tunnels in another area. This further increases the complexity and difficulty of determining the root cause of a fault, limiting the area in a communication network where the root cause can be determined, and also reducing the efficiency of root cause determination.
[0072] To address the aforementioned technical problems, this application provides a method for determining the root cause of a fault. This method, based on a simulation process of at least one network element within a communication network, can accurately and efficiently determine the root cause of a fault in the control plane of the network element, shortening the time spent troubleshooting and improving user experience. This method can be applied to computer equipment. Optionally, the computer equipment can be a server, control equipment, or network management equipment. Optionally, the server may be equipped with a network cloud engine (NCE) to implement the function of determining the root cause of the fault. Exemplarily, the network elements included in the communication network can be routers, switches, or gateway devices, etc.
[0073] like Figure 3As shown, the computer device may include a processor 301, a memory 302, and a bus 303, with the processor 301 and memory 302 connected to the bus 303. The memory 302 stores operating system information and program code. The processor 301 can read and execute the operating system information stored in the memory 302 to run the operating system. The processor 301 can also read and execute the program code stored in the memory 302 (corresponding to the aforementioned functional modules) to implement the method for determining the root cause of a fault provided in this application embodiment on the operating system. For example, the processor 301 reads and executes the program code to run a simulation system (e.g., a network simulation engine) on the operating system, simulating multiple network elements through the simulation system, thereby determining the root cause of the control plane fault of the network element.
[0074] Optionally, the computer device further includes an interactive device 304, which is connected to the bus 303. Interaction with the user can be achieved through the interactive device 304. Exemplarily, the interactive device 304 includes an input device and an output device. The input device includes, but is not limited to, at least one of a keyboard, mouse, or microphone, through which the user can input information to the computer device (e.g., the user inputs instructions to the computer device to perform a simulation process). Optionally, the output device includes, but is not limited to, a display screen, through which the computer device can output information to the user (e.g., the computer device outputs the results of the simulation process to the user).
[0075] For example, the computer device further includes a network interface 305, which is connected to the bus 303. Network data of network elements can be obtained through the network interface 305. For instance, the computer device can connect to a network element through the network interface 305 to obtain the network data of the network element. Alternatively, the computer device can connect to a database through the network interface 305 to obtain the network data of the network element. Simulation of multiple network elements can be achieved based on the network data of the network elements. For example, the processor 301 inputs the network data of the network elements into the simulation system, enabling the simulation system to simulate the network elements. Optionally, the network data of the network elements can also be stored in the aforementioned memory 302; this embodiment does not limit the method of obtaining network data.
[0076] The results of the above simulation process and the network data will be described in the method implementation examples below (i.e., Figure 4 The corresponding method embodiments will be described in detail, and will not be repeated here. Figure 4 As shown in the embodiment of this application, the method for determining a fault includes the following steps 401 to 403.
[0077] Step 401: Obtain the network data of the first network element. The network data of the first network element includes the first command set and the first parameter set.
[0078] The network data of the first network element indicates its network configuration. The network data of the first network element may be, for example, a configuration file, including but not limited to configuration files with the .cfg extension. The network data of the first network element includes a first command set and a first parameter set. The first command set includes at least one command line (denoted as the first command line), and the first parameter set includes at least one parameter (denoted as the first parameter). The first command line indicates the type of network configuration of the first network element, and the first parameter indicates the content of the network configuration of the first network element.
[0079] In some examples, the network data of the first network element includes, but is not limited to, at least one of the following.
[0080] The identification information of the first network element: used to uniquely identify the first network element. For example, the first command is the identifier (ID) or NE name (name), etc., and the first parameter is a certain value, such as Mbuya-AGG-X8-02, etc. (set according to actual needs, this is just an example), which means that the ID (or NE name) of the first network element is Mbuya-AGG-X8-02.
[0081] The neighbor configuration information of the first network element: used to indicate the neighbors of the first network element. For example, the first command line is a neighbor or peer, and the first parameter is an IP address, which means that the neighbors of the first network element are network elements with that IP address.
[0082] The virtual routing forwarding (VRF) configuration information for the first network element indicates the network where the first network element resides; the VRF is also known as a VPN. For example, the first command line can include the corresponding VRF and instance. The first parameter includes the value of the VRF and the value of the instance. The value of the VRF indicates whether it is a public or private network, representing whether the network where the network element resides is a public or private network. The value of the instance indicates whether it is a public network instance or a private network instance. For example, a public network instance is VPN version 4 (VPNv4), while a private network instance can be flexibly configured according to actual needs.
[0083] MPLS configuration information of the first network element: used to indicate the MPLS configuration status of the first network element. For example, the first command line indicates the MPLS protocol's enabled status, and the first parameter has a certain value that indicates whether the MPLS protocol is enabled.
[0084] For example, a computer device can receive network data of the first network element sent by the first network element through a network interface, or receive network data of the first network element sent by a database through a network interface, thereby acquiring the network data of the first network element. Additionally, as... Figure 5 As shown, the computer device can also receive network data of the first network element uploaded by the user, thereby realizing the acquisition of the network data of the first network element. Regardless of the method by which the computer device acquires the network data of the first network element, the computer device can execute the following step 402 in real time based on the network data of the first network element. Alternatively, the computer device can store the network data of the first network element in a memory, read the stored network data of the first network element according to actual needs, and execute the following step 402.
[0085] Step 402: Obtain the model corresponding to the first network element based on the first command set and the first parameter set. The first attribute of the model corresponding to the first network element is determined by the first command set, and the value of the first attribute is determined by the first parameter set.
[0086] The model corresponding to the first network element (also known as the network domain model) may include an attribute part and a logical part. The attribute part is used to restore the network configuration of the first network element, and the logical part is used to restore the behavior of the first network element. The behavior of the first network element includes, but is not limited to, the control plane behavior and the forwarding plane behavior of the first network element. The control plane behavior includes, but is not limited to, at least one of the routing process or the label propagation process. The forwarding plane behavior includes, but is not limited to, the traffic forwarding process. See the explanation in step 403 below for details, which will not be repeated here.
[0087] In an exemplary embodiment, obtaining the model corresponding to the first network element based on the first command set and the first parameter set includes: mapping at least one command line in the first command set to a first attribute, and mapping at least one parameter in the first parameter set to a value of the first attribute. The first attribute and its value constitute the attribute portion of the model corresponding to the first network element. At least one command line in the first command set refers to all or part of the first command lines included in the first command set. At least one parameter in the first parameter set refers to all or part of the first parameters included in the first parameter set.
[0088] For example, if the first command line is neighbor or peer, then the first attribute can be mapped to the neighbor attribute. If the first parameter is an IP address, then the value of the first attribute can be mapped to the IP address. In this case, the attribute part of the model corresponding to the first network element (including the first attribute and the value of the first attribute) indicates that the neighbor of the first network element is a network element with that IP address, thus restoring the neighbor configuration information of the first network element.
[0089] The process of mapping the first attribute and its value as described above is also called the parsing process of the network data of the first network element. For example... Figure 5 As shown, this parsing process yields the attribute portion of the model corresponding to the first network element. See also... Figure 5Through the modeling process, the logical part of the model corresponding to the first network element can be obtained. For example, executable code can be generated through the modeling process. The logical part includes the executable code. When the executable code is executed by a computer device, it can restore the behavior of the first network element.
[0090] For example, the model corresponding to the first network element is based on the Request for Comments (RFC) definition, and the network data of the first network element is also based on the RFC definition. Therefore, even if the first command line included in the network data of different first network elements has different expressions, such as the first command line included in the network data of first network elements produced by different network element manufacturers (i.e., vendors) having different expressions, all different expressions still conform to the RFC definition. Thus, the first command line with different expressions can be mapped to the first attribute, which is more flexible and has strong applicability. For example, the first command line in the network data of first network element A is "neighbour", and the first command line in the network data of first network element B is "peer". Both "neighbour" and "peer" can be mapped to the first attribute. Of course, other expressions of the first command line similar to "neighbour" or "peer" can also be mapped to the first attribute.
[0091] In this embodiment, the first network element is abstracted into a model corresponding to the first network element. The network configuration and behavior of the first network element are reconstructed through the model corresponding to the first network element to achieve simulation of the first network element, and thus simulation of the network containing the first network element. Since the first attribute is mapped by at least one first command line, and the value of the first attribute is mapped by at least one first parameter, the model corresponding to the first network element occupies a small amount of storage space, for example, a few megabytes (MB). Furthermore, the network also includes network elements other than the first network element (such as the second network element described below). The models corresponding to these network elements also occupy relatively small amounts of storage space. Therefore, even with limited storage space, because the models corresponding to each network element occupy relatively small amounts of storage space, multiple models corresponding to different network elements can exist, for example, models corresponding to thousands of network elements. This facilitates batch simulation of a large number of network elements, supports simulation of large-scale networks, and expands the area for determining the root cause of faults.
[0092] Step 403: Obtain the control surface simulation results based on the model corresponding to the first network element. The control surface simulation results are used to determine the root cause of the network's control surface fault.
[0093] Since the model corresponding to the first network element can recreate the network configuration and behavior of the first network element, simulation of the first network element can be achieved based on the model, thereby obtaining the control plane simulation results. The control plane simulation results are obtained by recreating the control plane behavior of the first network element. The control plane simulation results are used to determine the root cause of control plane faults in the network, which includes the first network element. The network also includes the second network element. In the case of network faults, the root cause of control plane faults can be determined based on the control plane simulation results. The root cause of control plane faults can refer to one or more network elements in the network where the control plane has a fault, or it can refer to one or more network elements where the network data has errors. For example, the fault can be precisely located to at least one of the command lines or parameters included in the network data of the network element.
[0094] In an exemplary embodiment, obtaining control plane simulation results based on the model corresponding to the first network element includes: determining the network topology based on the first attribute and the value of the first attribute; restoring the control plane behavior of the network elements contained in the network based on the first attribute, the value of the first attribute and the topology; and obtaining control plane simulation results. The control plane behavior includes at least one of the routing process or the label propagation process.
[0095] The network topology determined based on a first attribute and its value includes, but is not limited to, at least one of physical topology or logical topology. The physical topology describes the physical connections between different network elements, while the logical topology describes the neighbor relationships between different network elements. The process of determining the logical topology is also the process of establishing neighbors between different network elements. For example, if the first attribute of the model corresponding to a first network element is a neighbor attribute and its value is an IP address, then based on the first attribute and its value, it can be determined that the neighbor of the first network element is a network element with that IP address. That is, the first network element and the network element with that IP address have a neighbor relationship and can transmit data; therefore, there is a logical topology between the first network element and the network element with that IP address. Optionally, neighbor relationships include, but are not limited to, IGP neighbor relationships, BGP neighbor relationships, etc., which are not limited in this embodiment. Exemplarily, this embodiment can also record the neighbor interface status obtained based on the neighbor establishment process.
[0096] After determining the network topology, the control plane behavior of the first network element can be reconstructed based on the first attribute, its value, and the topology, thus obtaining the control plane simulation result. As explained above, the logic part of the model corresponding to the first network element can reconstruct its control plane behavior. Therefore, in this embodiment, the logic part of the model corresponding to the first network element can be run based on the first attribute, its value, and the topology to reconstruct the control plane behavior and obtain the control plane simulation result. For example, the logic part includes executable code. By executing the executable code and referencing the first attribute, its value, and the topology during execution, the control plane simulation result is obtained. In one example, during the execution of executable code, referencing the first attribute and its value determines that the first network element has enabled the MPLS protocol, and referencing the topology determines that the first network element has a neighbor relationship with another network element and can realize data transmission. Then, by executing executable code, the data transmission process between the first network element and another network element based on the MPLS protocol can be reconstructed. The transmitted data can be the label distribution protocol (LDP) labels defined by the MPLS protocol. This process is also the label propagation process included in the control plane behavior.
[0097] In the case where the network includes a first network element and a second network element, the method provided in this application embodiment further includes: acquiring network data of the second network element, wherein the network data of the second network element includes a second command set and a second parameter set; acquiring the model corresponding to the second network element based on the second command set and the second parameter set; wherein the second attribute of the model corresponding to the second network element is determined by the second command set, and the value of the second attribute is determined by the second parameter set. Here, the second network element and the first network element are different network elements included in the network. The acquisition method of the network data of the second network element and the network data of the second network element can refer to the acquisition method of the network data of the first network element described in step 401 above, and will not be repeated here. The second command set includes at least one second command line, and the second parameter set includes at least one second parameter. Exemplarily, acquiring the model corresponding to the second network element based on the second command set and the second parameter set includes: mapping at least one command line in the second command set (e.g., all or part of the second command lines included in the second command set) to a second attribute, and mapping at least one second parameter in the second parameter set (e.g., all or part of the second parameters included in the second parameter set) to the value of the second attribute. The mapping process can also refer to the description in step 401 above, and will not be repeated here. The second attribute and the value of the second attribute constitute the attribute part of the model corresponding to the second network element. This attribute part is used to restore the network configuration of the second network element. The second network element may also include a logical part, which is used to restore the behavior of the second network element.
[0098] Accordingly, obtaining control plane simulation results based on the model corresponding to the first network element includes: obtaining control plane simulation results corresponding to the first network element and the second network element based on the model corresponding to the first network element and the model corresponding to the second network element. The control plane simulation results are the control plane simulation results of the network containing the first network element and the second network element. For example, obtaining control plane simulation results corresponding to the first network element and the second network element based on the model corresponding to the first network element and the model corresponding to the second network element includes: determining the network topology based on a first attribute, the value of the first attribute, a second attribute, and the value of the second attribute; reconstructing the control plane behavior of the first network element based on the first attribute, the value of the first attribute, and the topology to obtain the control plane simulation results corresponding to the first network element; and reconstructing the control plane behavior of the second network element based on the second attribute, the value of the second attribute, and the topology to obtain the control plane simulation results corresponding to the second network element.
[0099] The network topology determined based on the first attribute, its value, the second attribute, and its value includes, but is not limited to, at least one of physical or logical topology. The physical topology describes the physical connections between the first and second network elements, while the logical topology describes the neighbor relationships between them. Furthermore, the process of reconstructing the control plane behavior of the first network element based on the first attribute, its value, and the topology has been explained above and will not be repeated here. In the process of reconstructing the control plane behavior of the second network element based on the second attribute, its value, and the topology, the logical part of the model corresponding to the second network element can be run based on the second attribute, its value, and the topology. For example, if the logical part of the model corresponding to the second network element includes executable code, the control plane behavior of the second network element can be reconstructed by executing the executable code and referencing the second attribute, its value, and the topology during execution.
[0100] Both the control plane behavior of the first network element and the control plane behavior of the second network element can include at least one of the routing processing or label propagation processes. The following describes the routing processing, label propagation processes, and the corresponding control plane simulation results.
[0101] In some implementations, when control plane behavior includes routing processing, the control plane simulation result includes routes obtained by network elements (first network element or second network element) through the routing processing and the reasons for routing processing. The reasons for routing processing include at least one of the following: reasons for obtaining a route or reasons for not obtaining a route other than a route. The reasons for routing processing may include routing policies or other reasons. This application embodiment does not limit the reasons for routing processing. Routes obtained through the routing processing refer to routing entries, and routing entries and routing processing reasons can form a routing table. In this application embodiment, when the control plane simulation result includes routes and routing processing reasons, the control plane simulation result contains relatively rich information. Since the control plane simulation result is used to determine the root cause of control plane failures in the network, containing relatively rich information in the control plane simulation result is beneficial to improving the efficiency and accuracy of determining the root cause of failures based on the control plane simulation result.
[0102] For example, the routing process includes at least one of the following, which embodies the entire route lifecycle, i.e., the entire process of route flooding convergence.
[0103] The first type is route origination, which refers to the process by which a network element generates a new routing entry. Optionally, the routing entry includes information such as the destination IP address, subnet mask, next hop, outgoing interface, metric, and flags. The destination IP address is the network element's own IP address, which can be obtained through configuration. Correspondingly, the reason for routing processing includes the reason for generating the new routing entry. A routing entry generated by a network element is used to forward traffic to that network element.
[0104] The second type is route flooding, also known as route propagation or route announcement. Route flooding refers to the process by which one network element propagates generated (or known) route entries to another network element. Accordingly, when a network element acts as the sender in the route flooding process, the reasons for route processing include: the reason why the network element sends a route entry to another network element, or the reason why the network element does not send a route entry to another network element. When a network element acts as the receiver in the route flooding process, the reasons for route processing include: the reason why the network element receives a route entry sent by another network element, or the reason why the network element does not receive a route entry sent by another network element.
[0105] The third type is the route comparison process. This process involves comparing multiple route entries from a single network element to the destination network or network element to select the best route. Accordingly, the reasons for route processing include: selecting a route entry as the best route entry, or not selecting a route entry as the best route entry.
[0106] The fourth type is the route import / redistribution process. This process includes at least one of the following: the import of route entries across protocols within a single network element, or the import of route entries between different protocol processes (also known as protocol instances) within the same protocol. For example, the intermediate system-to-intermediate system (IS-IS) routing protocol imports statically configured route entries. Another example is the BGP protocol importing route entries generated by the IS-IS routing protocol. Yet another example is the IS-IS routing protocol importing route entries generated by the BGP protocol. Yet another example is IS-IS routing protocol instance 1 importing route entries generated by IS-IS routing protocol instance 2, and so on. Correspondingly, the reasons for route processing include the reasons for importing route entries.
[0107] The fifth type is route aggregation, which refers to the process by which a network element merges multiple route entries with the same next hop into a single route entry. Correspondingly, the reasons for route processing include merging multiple route entries.
[0108] The sixth type is the route withdrawal process. Route withdrawal refers to the process where one network element sends a route entry to another network element and then announces the withdrawal of that route entry, causing the other network element to remove the withdrawn route entry from its local routing table. Accordingly, the reasons for route processing include the reason for withdrawing the route entry.
[0109] The seventh type is the route discard process. Route discarding refers to the process by which a network element discards a route entry when it is marked as invalid, unreachable, or denied according to a routing policy. This is to prevent discarded route entries from being incorrectly added to the network element's local routing table. Accordingly, the reasons for route processing include the reasons for discarding route entries.
[0110] In other embodiments, when the control plane behavior includes a label propagation process, the control plane simulation result includes the labels and label propagation reasons obtained by the network elements (first network element or second network element) through the label propagation process. The label propagation reasons include at least one of the reasons for obtaining a label or the reasons for not obtaining a label other than a label. Through the label propagation process, tunnel establishment between different network elements can be achieved. For example, the label is an LDP label defined by the MPLS protocol, and the established tunnel is an MPLS tunnel. This application embodiment does not limit the labels and tunnels. The labels and label propagation reasons obtained by a network element through the label propagation process can form a label table. In this application embodiment, when the control plane simulation result includes labels and label propagation reasons, the control plane simulation result contains relatively rich information. Since the control plane simulation result is used to determine the root cause of control plane failures in the network, containing relatively rich information in the control plane simulation result is beneficial to improving the efficiency and accuracy of subsequent determination of the root cause of failure based on the control plane simulation result.
[0111] For example, the tag propagation process refers to the process of one network element sending a tag to another network element, and the propagated tag can be obtained through static configuration. Accordingly, when a network element acts as the sender in the tag propagation process, the reasons for tag propagation include: the reason why the network element sends a tag to another network element, or the reason why the network element does not send a tag to another network element. When a network element acts as the receiver in the tag propagation process, the reasons for tag propagation include: the reason why the network element receives a tag sent by another network element, or the reason why the network element does not receive a tag sent by another network element.
[0112] In summary, the embodiments of this application, based on the model corresponding to the first network element (and of course, the model corresponding to the second network element can also be combined), can determine the network topology and restore the control plane behavior, realize the simulation of the entire process of neighbor establishment, tunnel establishment and route flooding convergence, and thus obtain the control plane simulation results used to determine the root cause of control plane failures in the network.
[0113] In an exemplary embodiment, the method further includes: displaying the control plane simulation results and a network element identifier, wherein the network element identifier is an identifier of a first network element generated based on a first command set and a first parameter set. Optionally, the network element identifier of the first network element includes an icon and a text identifier of the first network element. The icon of the first network element can be automatically generated, and the text identifier of the first network element is generated based on the first command set and the first parameter set. For example, when the first command in the first command set is an ID or NE name, and the first parameter in the first parameter set is Mbuya-AGG-X8-02, Mbuya-AGG-X8-02 can be used as the text identifier of the first network element.
[0114] For example, when the network includes a second network element, the network element identifier of the second network element can also be displayed, that is, the identifier of the second network element generated according to the second command set and the second parameter set. Optionally, the network element identifier of the second network element includes the icon of the second network element and the text identifier of the second network element. The process of generating the text identifier of the second network element can refer to the process of generating the text identifier of the first network element described above, and will not be repeated here.
[0115] The display process visualizes the network elements contained in the network, intuitively showing users the control plane simulation results obtained through simulation. This helps users understand the control plane behavior of network elements, grasp the network status, and facilitate the subsequent determination of the root cause of control plane faults.
[0116] like Figure 5 As shown, in this embodiment of the application, after obtaining the model corresponding to the network element through the parsing and modeling processes, the network element identifier (i.e., ...) can be displayed. Figure 5 The model shown is used to write the attribute and logical parts of the model corresponding to the network element into the memory of the computer device (i.e., Figure 5 The model shown is loaded to determine the network topology based on the attributes and their values included in the attribute section. The connections between network element identifiers are then displayed to indicate the topology (i.e.,...). Figure 5 The topology is presented as shown. Furthermore, based on attributes, attribute values, and the control plane behavior of network elements reconstructed from the topology, control plane simulation results are obtained and displayed. For example, the control plane simulation results corresponding to each network element are displayed at its identifier. Another example is displaying the control plane simulation results of each network element in a report format (i.e.,...). Figure 5 (As shown in the report presentation), this application embodiment can provide an interface that displays the control plane simulation results of each network element in the form of a report when a user calls the interface.
[0117] In an exemplary embodiment, the method provided in this application further includes: determining a source network element and a destination network element from the network elements contained in the network; obtaining a forwarding plane simulation result based on the source network element, the destination network element, the control plane simulation result, and the model corresponding to the first network element, wherein the forwarding plane simulation result and the control plane simulation result are used to determine the root cause of the control plane fault in the network.
[0118] In a network comprising multiple network elements, the first network element can be a source network element, a destination network element, or any other network element besides the source and intermediate network elements. For example, see [link to example]. Figure 5The system acquires service flow data and determines the source and destination network elements from multiple network elements within the network based on this data. The service flow data can be created by the user or collected from the existing network. For example, the service flow data includes, but is not limited to, at least one of the following: the ID of the source network element, the ID of the destination network element, the IP address of the source network element, the IP address of the destination network element, or a network (e.g., a VPN). Optionally, the service flow data can be a file with the .csv extension.
[0119] In an exemplary embodiment, the forwarding plane simulation results are obtained based on the source network element, destination network element, control plane simulation results, and the model corresponding to the first network element. This includes: based on the source network element, destination network element, control plane simulation results, first attribute, and the value of the first attribute, the traffic forwarding process from the source network element to the destination network element (i.e., forwarding plane behavior) is reconstructed, thereby obtaining the forwarding plane simulation results.
[0120] The process of restoring the traffic forwarding from the source network element to the destination network element involves restoring the iterative forwarding process of traffic hop-by-hop between the source network element, the destination network element, and optional intermediate network elements (located between the source and destination network elements). For example, based on the control plane simulation results, the first attribute, and the value of the first attribute, the logic part of the model corresponding to the first network element is run to restore the forwarding plane behavior of the first network element and obtain the forwarding plane simulation results. For example, the logic part includes executable code. By executing the executable code and referencing the control plane simulation results, the first attribute, and the value of the first attribute during the execution of the executable code, the forwarding plane simulation results are obtained. Optionally, the executable code used to obtain the forwarding plane simulation results and the executable code used to obtain the control plane simulation results mentioned above are different executable codes included in the logic part of the model corresponding to the first network element. In one example, taking the first network element as the source network element, during the execution of the executable code, the first attribute and its value are used to determine that the network where the source network element is located is a public network. The control plane simulation results are used to determine the routing table applicable to the public network. By executing the executable code, the traffic forwarding process of the source network element can be reconstructed. For example, the source network element queries the routing entry in the routing table applicable to the public network based on the destination IP address (i.e., the IP address of the destination network element), obtains the outgoing interface and the next hop, and forwards the traffic to the next hop through the outgoing interface.
[0121] In the case where a first network element and a second network element exist among multiple network elements included in the network, the second network element can be a source network element, a destination network element, or any other network element besides the source network element and intermediate network elements, as long as the second network element is different from the first network element. Accordingly, obtaining the forwarding plane simulation result based on the source network element, the destination network element, the control plane simulation result, and the model corresponding to the first network element includes: obtaining the forwarding plane simulation result based on the source network element, the destination network element, the control plane simulation result, the model corresponding to the first network element, and the model corresponding to the second network element. Optionally, embodiments of this application can obtain the forwarding plane simulation result corresponding to the first network element based on the source network element, the destination network element, the control plane simulation result, the first attribute, and the value of the first attribute. This process has been described above and will not be repeated here. Additionally, embodiments of this application can also obtain the forwarding plane simulation result corresponding to the second network element based on the source network element, the destination network element, the second attribute, and the value of the second attribute. For example, based on the control plane simulation results, the values of the second attribute and the second attribute, running the logic part of the model corresponding to the second network element (such as executing executable code) can yield the forwarding plane simulation results corresponding to the second network element. Therefore, the forwarding plane simulation results used to determine the root cause of control plane faults include the forwarding plane simulation results corresponding to the first network element and the forwarding plane simulation results corresponding to the second network element.
[0122] In an exemplary embodiment, the aforementioned forwarding plane simulation results include at least one of the following reasons for traffic forwarding and non-forwarding during the traffic forwarding process between the source network element and the destination network element: reasons for forwarding traffic include, but are not limited to: the forwarded traffic hits an entry in the routing table or label table and the outgoing interface and next hop can be determined based on the entry; reasons for not forwarding traffic include, but are not limited to: the forwarded traffic does not hit an entry in the routing table or label table; the forwarded traffic hits an entry in the routing table or label table but the outgoing interface and next hop cannot be determined based on the entry; or, traffic is intercepted due to the execution of a forwarding policy, etc.
[0123] Optionally, the forwarding plane simulation results may also include at least one of the following: traffic connectivity during traffic forwarding, unreachable network elements (i.e., network elements that cannot receive traffic), entries in the routing table or label table included in the control plane simulation results, the outgoing interface and next hop obtained based on the entries, or the forwarding strategy executed, etc.
[0124] In an exemplary embodiment, the method provided in this application further includes: displaying the forwarding plane simulation result and the network element identifier, wherein the network element identifier includes the network element identifier of the first network element described above, or the network element identifier includes the network element identifier of the first network element and the network element identifier of the second network element. The network element identifier and the process of generating the network element identifier have been described above and will not be repeated here.
[0125] The display process visualizes the network elements contained in the network, intuitively showing users the simulation results of the forwarding plane obtained through simulation. This helps users understand the forwarding plane behavior of network elements, grasp the network status, and facilitate the subsequent determination of the root cause of control plane faults.
[0126] As explained above, the forwarding plane simulation results and control plane simulation results are used to determine the root causes of control plane faults in the network. Therefore, in an exemplary embodiment, the method further includes: determining a first set of network elements based on the forwarding plane simulation results, the first set of network elements including at least one network element among the network elements contained in the network; determining a second set of network elements from the first set of network elements based on the control plane simulation results, the second set of network elements including a subset of the network elements included in the first set of network elements; obtaining feature information of each network element included in the second set of network elements, the feature information including at least one of the following: the control plane simulation result corresponding to the network element, the forwarding plane simulation result corresponding to the network element, or the network data of the network element; inputting the feature information of the network elements into a rule base to obtain the root causes of control plane faults output by the rule base.
[0127] The network comprises multiple network elements, which can refer to a first network element and a second network element, or a first network element, a second network element, and other network elements. This application embodiment does not limit the number of network elements included in the network. The first network element set includes all or some of the network elements included in the network. For example, the first network element set may include at least one of the first network element, the second network element, or other network elements. The second network element set includes all or some of the network elements included in the first network element set. For example, the second network element set may also include at least one of the first network element, the second network element, or other network elements. Based on this, the process of obtaining the feature information of each network element included in the second network element set can refer to the process of obtaining the control plane simulation results, the forwarding plane simulation results, and the network data of the first network element as described above, and will not be repeated here.
[0128] In the simulation process provided in this application embodiment, the control plane simulation is performed first to obtain the control plane simulation result, and then the forwarding plane simulation is performed based on the control plane simulation result to obtain the forwarding plane simulation result. In the process of determining the root cause of control plane faults provided in this application embodiment, a first set of network elements is first determined from all network elements included in the network based on the forwarding plane simulation result. The network elements included in the first set are those that may have faults, thus initially determining the fault range. Then, a second set of network elements is determined from the first set based on the control plane simulation result. The network elements included in the second set are those that are more likely to have faults, further determining the precise fault range. Afterwards, the feature information of each network element included in the second set is obtained, and combined with a rule base, the accurate root cause of the control plane fault is automatically, efficiently, and intelligently determined.
[0129] The process of determining the root cause of control surface failure will be explained in detail below.
[0130] For the process of determining the first set of network elements from all network elements included in the network based on the forwarding plane simulation results, in one example, the forwarding plane simulation results and the network element identifiers of all network elements included in the network are displayed, allowing the user to identify potentially faulty network elements by browsing the forwarding plane simulation results and network element identifiers, and then adding the user-identified network elements to the first set of network elements. For example, the user can select some network element identifiers from the displayed network element identifiers, and after detecting the selected network element identifiers, the network element corresponding to the selected network element identifier is added to the first set of network elements as a potentially faulty network element. Alternatively, in another example, the network elements in the first set of network elements are automatically determined based on the forwarding plane simulation results and network element identifiers. This application embodiment does not limit the determination method.
[0131] See Figure 6 , Figure 6 An exemplary path propagation diagram is shown, where each circle represents a network element identifier. A user can select any network element identifier; in response to detecting this selection, the simulation results of the forwarding plane corresponding to that network element are displayed. Figure 6 (Not shown in the image), for example: traffic interruption between network element 61 and network element 64, network element 64 being an unreachable network element, the reason why network element 61 did not forward traffic to network elements 62 and 63, etc. Thus, users can browse... Figure 6 The path propagation diagram shown indicates that network element 61 can forward traffic to network element 65, but network element 61 cannot forward traffic to network element 64 (i.e., Figure 6 (The dotted line is shown). Network element 61 cannot forward traffic to network elements 62 and 63, and therefore cannot forward traffic to network element 64. Therefore, the user can identify network elements 61, 62, 63, and 64 as potentially faulty network elements. After the user selects the network element identifiers corresponding to network elements 61, 62, 63, and 64, the computer device can identify network elements 61, 62, 63, and 64 as network elements in the first network element set.
[0132] For the process of determining the second network element set from the first network element set based on the control plane simulation results, one example displays the control plane simulation results and the network element identifiers of all network elements in the first network element set. This allows the user to identify network elements with a higher probability of failure by browsing the control plane simulation results and network element identifiers, and then add the user-identified network elements to the second network element set. For example, the user can select some network element identifiers from all network element identifiers in the first network element set. After detecting the selected network element identifiers, the network elements corresponding to the selected network element identifiers are added to the second network element set as network elements with a higher probability of failure. Alternatively, in another example, the network elements in the second network element set are automatically determined based on the control plane simulation results and network element identifiers. This application embodiment does not limit the determination method.
[0133] See Figure 7 , Figure 7 An exemplary routing diagram is shown, where each circle represents a network element identifier. The user can select any network element identifier; in response to detecting this selection, the simulation results of the control plane corresponding to that network element are displayed. Figure 7 (Not shown in the image), for example: the reason why network element 72 did not send a route to network element 71, and the reason why network element 73 did not send a route to network element 71, etc. Thus, users can browse... Figure 7 The routing diagram shows that network element 74 generated a route with the IP address 1.1.1.1 / 30. This route is used to reach the destination network element with the IP address 1.1.1.1 / 30, which is network element 74. Network element 74 propagated this route to network elements 72 and 73, but neither network elements 72 nor 73 propagated it to network element 71. Therefore, network element 71 did not receive this route, and the traffic forwarding from network element 71 to network element 74 (i.e.,...) Figure 7 (The dashed line shown) cannot be implemented. Considering that neither network element 72 nor network element 73 propagated the route to network element 71, it is possible that at least one of network elements 71, 72, or 73 has a control plane fault. Therefore, the user can determine that network elements 71, 72, and 73 are the most likely to have a fault. After the user selects the network element identifiers corresponding to network elements 71, 72, and 73, the computer device can identify network elements 71, 72, and 73 as network elements in the second network element set.
[0134] For example, the control plane simulation results and network element identifiers can be displayed in a layered manner according to the network layer, tunnel layer and network element layer in this application embodiment.
[0135] The network layer displays the control plane simulation results and network element identifiers obtained through the route propagation process, and can also display the propagated routes. For example, network element A is the source network element for route advertising, network element B is the intermediate network element for route advertising, and network element C is the destination network element for route advertising. A tunnel may or may not be formed between network element A and network element B. Network element A propagates a route to network element B, and network element B propagates a route to network element C. This route has the IP address of network element A and is used to forward traffic to network element A. Therefore, see [link to relevant documentation]. Figure 8 The user interface displays the network element identifiers of network element A, network element B, and network element C. An arrow pointing from network element A to network element B exists between the network element identifiers of network element A and network element B, indicating that network element A has propagated a route to network element B. Similarly, an arrow pointing from network element B to network element C exists between the network element identifiers of network element B and network element C, indicating that network element B has propagated a route to network element C. Optionally, the user interface may also display the reason why network element A propagated the route to network element B, and the reason why network element B propagated the route to network element C. Figure 8 (not shown in the image), etc.
[0136] The tunnel layer displays the control plane simulation results and network element identifiers obtained through the label propagation process. The propagated labels are used for traffic forwarding within the tunnel, and the propagated labels can also be displayed. For example, network element A is the source network element for label distribution, network element B is the intermediate network element for label distribution, and network element C is the destination network element for label distribution. A tunnel is formed between network element A and network element B. Network element A propagates labels to network element B, but network element B does not propagate labels to network element C. Therefore, see [link to relevant documentation]. Figure 8 The user interface displays the network element identifiers of network element A, network element B, and network element C. An arrow pointing from network element A to network element B exists between the network element identifiers of network element A and B, indicating that network element A has propagated the tag to network element B. No arrow pointing from network element B to network element C exists between the network element identifiers of network element B and C, indicating that network element B has not propagated the tag to network element C. Optionally, the user interface may also display the reason why network element A propagated the tag to network element B, and the reason why network element B did not propagate the tag to network element C. Figure 8 (not shown in the image), etc.
[0137] The network element layer displays control plane simulation results and network element identifiers obtained through at least one of the following processes: route propagation, route origination, route comparison, route introduction, route aggregation, route withdrawal, or route discarding. It can also display related routes. For example, see [link to relevant documentation]. Figure 8In network elements A and B, through the route origination process, statically configured routes, routes generated by the IS-IS routing protocol, and routes generated by BGP are added to the routing table. Through the route import process, routes are imported across protocols and added to the routing table. For example, the IS-IS routing protocol adds statically configured routes and routes generated by BGP to the routing table, and BGP adds routes generated by the IS-IS routing protocol to the routing table. Through the route comparison process, the routes added to the routing table are compared, and through the route aggregation process, the routes added to the routing table are aggregated. Through the route origination, route import, route comparison, and route aggregation processes, routes exist in the routing table, and routes existing in the routing table can be introduced into the network. Additionally, network element A propagates BGP-generated routes to network element B through the route propagation process, and network element B discards the BGP-generated routes propagated by network element A through the route discard process. Optionally, the user interface can also display the reasons for each protocol generating routes, the reasons for importing routes, the reasons for comparison or aggregation, the reasons for network element A propagating routes to network element B, and the reasons for network element B discarding routes. Figure 8 (not shown in the image), etc.
[0138] In an exemplary embodiment, the network layer, tunnel layer, and network element layer described above can be flexibly switched in display. For example, see... Figure 9 The user interface displays switching controls, including network layer, tunnel layer, and network element layer controls. Any of these controls can be selected by the user via mouse or voice commands. Upon detecting a selected network layer control, the network layer is displayed on the user interface. Similarly, upon detecting a selected tunnel layer control, the tunnel layer is displayed. Finally, upon detecting a selected network element layer control, the network element layer is displayed.
[0139] For example, other content can also be displayed on the user interface as needed, combined with Figure 9 The following example illustrates this.
[0140] In one example, the user interface also displays a first filter control. This first filter control can receive user input via keyboard or voice, and personalize the display based on the user's input, making the user interface more aligned with the user's actual needs. For example, see... Figure 9 Users can use the mouse to click "Edit" to enter information into the first filter control. The information entered by the user may include at least one of the following: target network element, target IP address of the router, or target VPN.
[0141] In response to the detection that a target network element has been entered in the first filter control, the network element identifier and control plane simulation results of the target network element are displayed on the user interface. For example, if the network includes network elements A to F, and the target network elements include network elements A and B, then the content displayed on the user interface may include: the network element identifier and control plane simulation results of network element A, and the network element identifier and control plane simulation results of network element B, etc. In response to the detection that no target network element has been entered in the first filter control, a full display is performed on the user interface, that is, the network element identifiers and control plane simulation results of all network elements included in the network are displayed.
[0142] In response to the detection that a target IP address has been entered in the first filter control, the network element identifiers and control plane simulation results of the relevant network elements (network elements associated with routes containing that target IP address) are displayed on the user interface. For example, multiple network elements include network elements A to F. Network elements A and B transmit routes with target IP addresses, while network elements C to F do not transmit routes with target IP addresses. Therefore, network elements A and B are the relevant network elements. The content displayed on the user interface can include: the network element identifier and the route with the target IP address for network element A, and the network element identifier and the route with the target IP address for network element B, etc. In response to the detection that no target IP address has been entered in the first filter control, a full display is performed on the user interface, that is, the network element identifiers and control plane simulation results of all network elements included in the network are displayed.
[0143] In response to the detection that a target VPN (indicating a public or private network) has been entered in the first filter control, the network element identifiers and control plane simulation results of the network elements included in the target VPN are displayed on the user interface. For example, if multiple network elements include network elements A to F, and the target VPN includes network elements A and B, then the content displayed on the user interface may include: the network element identifier and control plane simulation results of network element A, and the network element identifier and control plane simulation results of network element B, etc. In response to the detection that no target VPN has been entered in the first filter control, a full display is performed on the user interface, that is, the network element identifiers and control plane simulation results of all network elements included in the network are displayed.
[0144] In addition, in response to detecting that multiple pieces of information have been entered into the first filter control, the intersection of the display content corresponding to each of the multiple pieces of information is displayed on the user interface. Examples will not be elaborated here.
[0145] like Figure 9As shown, after entering information into the first filter control, the user can click "Route Propagation" to indicate that the route propagation diagram described above will be displayed on the user interface. This route propagation diagram can be a schematic diagram of the entire route lifecycle, which includes all the route processing procedures described above. The user can also click "Terminate" to indicate that the route propagation diagram described above will stop being displayed on the user interface, thereby achieving flexible control over the displayed content.
[0146] In another example, the user interface also displays at least one of the following: the network element's capability (cap), the corresponding VRF value, the corresponding instance value, and the IP address of either the local peer or the remote peer. For example, see... Figure 9 The user interface displays a route from Mbuya-AGG-X8-02 (the name of the network element), with the IP address 10.20.0.36 / 30. The interface also displays the reason why this route was not chosen as the best option during the route comparison process: "not preferred for unknown reasons." Additionally, the user interface shows that the network element supports BGP, its VRF is set to "public," its instance is set to "VPNv4," its local neighbor's IP address is 10.170.192.5 / 32, and its remote neighbor's IP address is 10.170.193.8 / 32.
[0147] In yet another example, the user interface also displays information related to the current simulation process. For example, see... Figure 9 The relevant information includes at least one of the following: project name, scene name, snapshot name, snapshot type, or flag. This information can be entered by the user via keyboard or voice. The project name indicates the project to which the current simulation process belongs, the scene name indicates the scene to which the current simulation process belongs, at least one scene can be created for a project, and a combination of a project and a scene constitutes a snapshot. The snapshot name indicates the snapshot, the snapshot type indicates the type of the snapshot, and the flag indicates a note for the project, scene, or snapshot.
[0148] The process of inputting the feature information of each network element in the second network element set into a rule base (also known as a scenario experience rule base) to obtain the control surface fault root cause (or simply fault root cause) output by the rule base is exemplarily described as follows: the rule base includes at least one rule. After inputting the feature information of each network element into the rule base, the control surface fault root cause can be determined based on the feature information of each network element according to each rule, and the determined control surface fault root cause can be output. This method can quickly determine the fault root cause, making it simpler and faster for users.
[0149] In one example, the rule is a plugin programmed based on experience. In another example, after programming the plugin based on experience, the plugin can be updated to improve its ability to determine the root cause of a fault, enabling it to output the accurate root cause of a control plane fault more quickly. For example, if the root cause of a control plane fault is accurately determined, the correspondence between the characteristic information of the network element and the root cause of the control plane fault is recorded, and the plugin is updated based on the correspondence to optimize the plugin. Of course, the method of determining the root cause of a control plane fault through a plugin is just an example; other methods can also be used in this application to implement the process of determining the root cause of a control plane fault based on the characteristic information of each network element according to rules.
[0150] For example, see Figure 10 and Figure 11 The rules include, but are not limited to, at least one of report viewing rules or protocol analysis rules. Report viewing rules are used to generate reports, such as routing tables or label tables obtained from a simulation process. Protocol analysis rules are used to determine the root causes of control plane failures. For example, report viewing rules include simulation report viewing rules, and protocol analysis rules include BGP analysis rules and IS-IS analysis rules. BGP analysis rules include at least one of the following: peer state diagnostic rules, invalid route diagnostic rules, route advertising diagnostic rules, peer policy diagnostic rules, or route compare diagnostic rules. IS-IS analysis rules include, but are not limited to, neighbor state diagnostic rules.
[0151] In some implementations, the rules used to determine the root cause of control surface failures are all rules in the rule base, or a subset of rules automatically selected from the rule base based on experience. In other implementations, the rules used are those selected by the user from the rule base, allowing the user to choose appropriate rules based on actual needs, thus providing greater flexibility. Accordingly, the method also includes: displaying identifiers for multiple rules (e.g., ...). Figure 10 and Figure 11The rules used to determine the root cause of control plane failures (as shown by text labels such as "Route Publication Diagnosis") include at least one selected rule from the rule base. For example, a user can click on a rule in the rule base with the mouse to generate a selection command for that rule, which in turn can trigger the use of the rule and the determination of the root cause of the control plane failure.
[0152] For example, after determining the root cause of a control plane fault, the computer device can display the determined root cause to facilitate a user's intuitive understanding of the fault. For instance, the computer device can overlay the root cause of the control plane fault with the network element identifier.
[0153] For example, the content displayed on the user interface can be flexibly switched. See, for instance... Figure 9 Users can click "Path Analysis" with the mouse. Upon detecting that "Path Analysis" is selected, the path propagation diagram described above is displayed on the user interface, facilitating the identification of network elements in the first network element set. Users can also click "Routing Analysis" or "Next" with the mouse. Figure 9 (Not shown in the image), in response to the detection that "Route Analysis" or "Next" is selected, the aforementioned route propagation diagram is displayed on the user interface to facilitate the identification of network elements in the second network element set. Users can also use the mouse to click "Root Cause Analysis" or "Next" (…). Figure 9 (Not shown in the image), in response to the detection that "Root Cause Analysis" or "Next" is selected, the root cause of the control plane failure is displayed on the user interface.
[0154] In an exemplary embodiment, the root cause of a control plane failure includes an error in at least one of the command lines or parameters in the network data. This approach allows for precise localization of the root cause to the granularity of the network data. After the root cause is displayed on the user interface, the user can improve the control plane failure by modifying at least one of the erroneous command lines or parameters in the network data, resulting in high efficiency.
[0155] For example, see Figure 7The network elements in the second set of network elements include network elements 71, 72, and 73. Taking network element 73 as an example, the control plane simulation results of network element 73 include the route obtained by network element 73 and the reason for route processing. This route has the IP address 1.1.1.1 / 30. The reason for route processing includes why network element 73 did not propagate this route to network element 71: network element 73 did not propagate this route to network element 71 according to the inbound policy (route 1.1.1.1 / 30: send deny by policy-in). Optionally, this reason can be determined during the simulation based on the rib-out information of network element 73 (indicating the route advertised locally to neighbors). However, whether network element 73 propagates the route to network element 71 should be determined according to the outbound policy applicable to the sending direction, not the inbound policy applicable to the receiving direction. Therefore, based on the control plane simulation results, the root causes of the control plane fault in network element 73 include: incorrect parameters related to the ingress policy in the network data of network element 73. For example, missing parameters in the network data of network element 73, where the missing parameters indicate that the ingress policy is applied in the receiving direction. After displaying this root cause on the user interface, the user can add the missing parameters to the network data of network element 73, such as adding an in-port for the ingress policy, indicating that the ingress policy is applied in the receiving direction corresponding to the in-port, thereby preventing network element 73 from continuing to determine whether to propagate the route to network element 71 based on the ingress policy.
[0156] Optionally, see Figure 10 The "Results Display" area on the user interface (for example) shows the root cause of the failure: BGP route is denied by policy-in, meaning the parameters related to the inbound policy are incorrect.
[0157] For example, a second filtering control may also be displayed on the user interface. This second filtering control can receive user input via keyboard or voice, perform detection based on the user input, and obtain detection results. The detection results may include the aforementioned root causes of control surface faults, and may also include other detection results. For example... Figure 10 As shown, after entering information into the second filter control, the user can click "Search" to indicate that the detection results are displayed on the user interface. The user can also click "Stop" to indicate that the display of detection results on the user interface is stopped, thus achieving flexible control over the content displayed on the user interface.
[0158] For example, see Figure 10User input can include: checking if a BGP route exists (check BGP route is exist: true), and the result can include: BGP route is exist. Similarly, user input can include: checking if a BGP peer has been established (check BGP peer is establish: true), and the result can include: BGP peer is established. Furthermore, user input can include: checking if a BGP route has not been propagated according to the inbound policy (check BGP route is denied by policy-in: true), and the result can include the root cause of the aforementioned fault, i.e., BGP route is denied by policy-in.
[0159] Optionally, the user interface can also display other information to indicate that the detection is complete. For example, the user interface can display: "Detection BGP route send failed" and "Detection complete" (finishcheck). The different content on the user interface can be distinguished by IDs.
[0160] Furthermore, as explained above, report viewing rules are used to generate reports. In some implementations, the complete report, such as all reports included in the control plane simulation results, is displayed on the user interface. In other implementations, a portion of the report is displayed on the user interface based on user input. For example, a third filter control may also be displayed on the user interface, which can accept user input via keyboard or voice. Optionally, the user input may include at least one of the following: report viewing instructions, target network element, target VPN, or target route prefix. Figure 11 As shown, after entering information into the third filter control, users can click "Query" to indicate that a portion of the report will be displayed on the user interface. Users can also click "Stop" to indicate that the display of a portion of the report will stop on the user interface, thus achieving flexible control over the content displayed on the user interface.
[0161] For example, see Figure 11The user-input command to view the report is "View BGP routing table" (report type: BGProuting-table), with the target network element being "all network elements" (node: all), meaning all network elements across multiple network elements. The user-input target VPN is "all VPNs" (VPN: all), meaning all VPNs in the communication network. The user-input target route prefix is 100.0.0.0 / 16. Based on this, it indicates that the user wants to view every route related to 100.0.0.0 / 16 included in the BGP routing table of all network elements (belonging to all VPNs). Therefore, it can be... Figure 11 The "Results Display" area on the user interface shows the following routes in the BGP routing table of R2 (representing one network element): 100.0.1.0 / 30, 100.0.2.0 / 30, and 100.0.3.0 / 30; and the following routes in the BGP routing table of R3 (representing another network element): 100.0.1.0 / 30, 100.0.2.0 / 30, and 100.0.3.0 / 30.
[0162] Optionally, the user interface may also display other information, including but not limited to: the BGP number (e.g., ...). Figure 11 As shown in 345), VPN instance type (type, such as...) Figure 11 As shown in the figure (0), different information can be distinguished by ID.
[0163] The above provides an overall description of the method for determining the root cause of a fault provided in the embodiments of this application. Below, we will continue to illustrate the method for determining the root cause of a fault with examples.
[0164] This application embodiment obtains multiple models corresponding to multiple network elements based on network data of multiple network elements. The models accurately reconstruct the network configuration and behavior of the network elements, thereby enabling simulation technology to simulate multiple network elements based on the models. This not only accurately and quickly determines the root cause of control plane faults in network elements (i.e., it achieves the delimitation and location of control plane faults), but also enables the visualization of the forwarding plane and control plane of network elements. This is beneficial for quickly resolving control plane faults in network elements, thereby quickly restoring the normal operation of network elements.
[0165] See Figure 12In this embodiment, the current network element configuration of the communication network can be backed up. When the network element configuration needs to be changed, that is, when incremental configuration needs to be made on the basis of the current network element configuration, the current network element configuration and the incremental configuration are first used as the network data of the network element (the content of the network data can be determined according to the actual needs, without including too much content to avoid affecting the simulation efficiency), and input into the simulation system for pre-simulation. The simulation system uses simulation technology to simulate the information processing process of the control plane of multiple network elements and obtains the control plane simulation results. The simulation system also simulates the traffic forwarding process of the forwarding plane of multiple network elements and obtains the forwarding plane simulation results.
[0166] Next, control plane fault location and delimitation techniques can be used to determine the fault range in the communication network based on control plane simulation results (or control plane simulation results and forwarding plane simulation results). For example, the forwarding plane fault range includes network elements in the first set of network elements mentioned above, and the control plane fault range includes network elements in the second set of network elements mentioned above. Furthermore, the forwarding plane can be visualized based on the forwarding plane simulation results, such as displaying a path propagation diagram on the user interface as mentioned above, and the control plane can be visualized based on the control plane simulation results, such as displaying a route propagation diagram on the user interface as mentioned above. Additionally, the root causes of control plane faults in network elements within the fault range can be determined based on the control plane simulation results.
[0167] Therefore, users can modify the network data of network elements based on the identified root cause of the fault, obtaining the modified network data. This pre-simulation process avoids potential problems in the network data. Afterwards, users can change the current network element configuration of the communication network according to the modified network data, preventing faults caused by network element configuration changes.
[0168] Of course, the situation where the network element configuration needs to be changed is an exemplary case. In the event of random failures in the communication network, the method provided in this application embodiment can determine the root cause of the failure in the control plane of the network element in the communication network, repair the random failure based on the root cause, and achieve closed loop.
[0169] On the one hand, the embodiments of this application can perform preventative simulation before network element configuration changes (i.e., pre-configuration), and this simulation can be implemented through software without requiring additional functional configuration of network elements in the communication network, nor without adding new hardware (such as physical network elements or sensors). This not only improves flexibility and scalability but also reduces various costs such as labor costs, material costs, operation and maintenance costs, and time costs, ensuring the convenience and real-time nature of determining the root cause of the fault and improving the user experience. For example, users can access and use the software at any time without being limited by physical location or network environment. Thus, it provides convenience and efficiency for determining the root cause of the fault and fault repair, realizing fault discovery, fault root cause determination, and fault repair from an end-to-end perspective, forming a closed loop, reducing the communication network interruption time when a fault occurs, and narrowing the impact of the fault on the communication network.
[0170] On the other hand, the embodiments of this application can visualize the forwarding plane and the control plane. The visualization of the forwarding plane intuitively shows the traffic forwarding process of the forwarding plane, and the visualization of the control plane intuitively shows the information processing process of the control plane, such as the label propagation process and the entire life cycle of routing. This is conducive to users understanding the specific situation and scope of the network element failure in detail and quickly. It can help users identify the network element with the control plane failure and improve the efficiency of users' network analysis. Compared with the simple method of providing alarm information or log recording, the embodiments of this application can improve the efficiency of determining the root cause of the failure and facilitate efficient fault troubleshooting and repair.
[0171] On the other hand, the embodiments of this application can automatically determine the root cause of a fault. Users can determine the root cause of a fault by performing a simple operation (such as a one-click operation), which lowers the technical threshold for determining the root cause of a fault. Moreover, the root cause of the fault can be pinpointed to the fact that at least one of the command lines or parameters included in the network data of the network element is incorrect, which has high accuracy and is conducive to achieving efficient fault repair. Furthermore, the embodiments of this application can overlay the determined root cause of the fault on the user interface, for example, overlay it on the routing life cycle diagram, to more intuitively show the user the network element with a control plane fault and the root cause of the fault.
[0172] See Figure 13Taking routing simulation as an example, based on network data and simulation technology from multiple network elements, the routing processing of the control plane of multiple network elements is simulated. The resulting control plane simulation results include a routing table, which includes the obtained routes and the reasons for routing processing. Additionally, a full lifecycle diagram of routing for controlling plane visualization and a path propagation diagram for user-defined forwarding plane visualization can be obtained. A three-step method can be used in the process of controlling plane fault location and delimitation and root cause determination. First, the path propagation diagram is displayed on the user interface to facilitate the initial determination of a large-scale forwarding plane fault range. Second, the full lifecycle diagram of routing is displayed on the user interface to facilitate the determination of a smaller-scale control plane fault range, thereby narrowing the fault range in the communication network. Third, the root cause of the fault is determined within the control plane fault range. The root cause can be overlaid on the full lifecycle diagram of routing to facilitate user fault repair and restoration of services in the communication network. For example, if the root cause includes incorrect parameters in the network data of a network element in the communication network, the root cause will be overlaid with the network element's identifier in the full lifecycle diagram of routing. (Refer to...) Figure 14 When the path propagation graph is displayed on the user interface in the first step (e.g.) Figure 6 The path propagation diagram shown can be used to trigger the second step by clicking "Next" on the user interface, which displays a diagram of the entire route lifecycle (e.g., ...). Figure 7 (See the route propagation diagram shown). Afterwards, users can trigger a third step by clicking "Next" on the user interface to determine the root cause of the fault and overlay it onto the route lifecycle diagram.
[0173] In this embodiment, the visualization of the control plane—that is, displaying a schematic diagram of the entire routing lifecycle on the user interface—intuitively demonstrates the entire lifecycle of a route in the network, including processes such as route propagation, route maintenance (e.g., route comparison or route aggregation), and route failure (e.g., route dropping). When browsing the user interface, users can easily observe the propagation path of a route from the source network element to the destination network element, as well as the processing status of each network element along the propagation path. Therefore, users can understand the dynamic changes in network topology and routing, which is beneficial for identifying the scope of faults and determining their root causes, and for promptly discovering potential faults or anomalies, allowing users to take appropriate measures to resolve them. This embodiment can achieve control plane visualization in various complex scenarios such as large-scale communication networks, high dynamism, cross-domain differences, and difficult data processing.
[0174] See Figure 15Taking the method provided in this application embodiment implemented through a server as an example, the interaction process between the user and the server is described. The server includes a client and a backend, with the client interacting with the user and the backend respectively. When a user has a location and delimitation request, i.e., the user needs to determine if there is a root cause of a fault, the user accesses the client, the client interacts with the backend and completes login, and then the fault root cause determination process is initiated. The backend reads network data stored in a database or memory. This network data consists of network data of network elements included in the communication network. The backend parses and models the network data, and performs a pre-simulation process based on the obtained model to obtain control plane simulation results and forwarding plane simulation results. Next, the backend feeds back the path propagation diagram to the client, and the client displays the path propagation diagram through the user interface, realizing the visualization of the forwarding plane. The client also reads the full lifecycle diagram of the routing system from the backend and displays it through the user interface, realizing the visualization of the control plane. After the user displays the full lifecycle diagram of the route on the user interface, they select a range of key network elements (e.g., network elements in the second set of network elements determined by the user). The client interacts with the backend, which calls reference rules to determine the root cause of the fault in the range of key network elements and sends the determined root cause back to the client. The client displays the root cause of the fault through the user interface, thus providing a reference for the user and guiding the user in determining the root cause of the fault.
[0175] The above describes a method for determining the root cause of a fault provided in the embodiments of this application. Corresponding to the above method, the embodiments of this application also provide an apparatus for determining the root cause of a fault. This apparatus is applied to computer equipment. The apparatus is used to determine the root cause of a fault by... Figure 16 Each module shown performs the above... Figure 4 Methods used by computer equipment to determine the root cause of a failure. For example... Figure 16 As shown in the embodiments of this application, the apparatus for determining the root cause of a fault includes the following modules.
[0176] The acquisition module 1601 is used to acquire network data of a first network element, which includes a first command set and a first parameter set. The acquisition module 1601 is also used to acquire the model corresponding to the first network element based on the first command set and the first parameter set. The first attribute of the model corresponding to the first network element is determined by the first command set, and the value of the first attribute is determined by the first parameter set. The acquisition module 1601 is also used to acquire control surface simulation results based on the model corresponding to the first network element. The control surface simulation results are used to determine the root causes of control surface faults in the network.
[0177] In an exemplary embodiment, the acquisition module 1601 is further configured to acquire network data of a second network element, the network data of the second network element including a second command set and a second parameter set; and to acquire a model corresponding to the second network element based on the second command set and the second parameter set, wherein the second attribute of the model corresponding to the second network element is determined by the second command set and the value of the second attribute is determined by the second parameter set.
[0178] In an exemplary embodiment, the acquisition module 1601 is used to acquire control plane simulation results corresponding to the first network element and the second network element based on the model corresponding to the first network element and the model corresponding to the second network element. The control plane simulation results are control plane simulation results of the network including the first network element and the second network element.
[0179] For example, the acquisition module 1601 is used to determine the network topology based on the first attribute and the value of the first attribute; and to reconstruct the control plane behavior of the network elements contained in the network based on the first attribute, the value of the first attribute and the topology, so as to obtain the control plane simulation result, wherein the control plane behavior includes at least one of the routing process or the label propagation process.
[0180] For example, the acquisition module 1601 is used to map at least one command line in the first command set to a first attribute; and to map at least one parameter in the first parameter set to the value of the first attribute.
[0181] In an exemplary embodiment, see Figure 16 The device also includes a display module 1602, which is used to display the control plane simulation results and network element identifiers. The network element identifier is the identifier of the first network element generated according to the first command set and the first parameter set.
[0182] For example, the control plane simulation results include routes obtained by network elements in the network through the routing process and the reasons for the routing process. The reasons for the routing process include at least one of the reasons for obtaining a route or the reasons for not obtaining a route other than a route. The routing process includes at least one of the following: route flooding process, route origination process, route comparison process, route introduction process, route aggregation process, route cancellation process, or route discarding process.
[0183] For example, the control plane simulation results include the labels obtained by the network elements contained in the network through the label propagation process and the reasons for label propagation. The reasons for label propagation include at least one of the reasons for obtaining a label or the reasons for not obtaining a label other than a label.
[0184] In an exemplary embodiment, see Figure 16The device further includes: a determination module 1603, used to determine the source network element and the destination network element from the network elements contained in the network; and an acquisition module 1601, used to acquire the forwarding plane simulation results based on the source network element, the destination network element, the control plane simulation results and the model corresponding to the first network element, wherein the forwarding plane simulation results and the control plane simulation results are used to determine the root cause of the control plane fault in the network.
[0185] For example, the acquisition module 1601 is used to reconstruct the traffic forwarding process from the source network element to the destination network element based on the source network element, the destination network element, the control plane simulation results, the first attribute, and the value of the first attribute, so as to obtain the forwarding plane simulation results.
[0186] For example, the forwarding plane simulation results include at least one of the reasons why any network element from the source network element to the destination network element forwards traffic or does not forward traffic during the traffic forwarding process.
[0187] It should be understood that the above Figure 16 The device shown, in performing its function, possesses beneficial effects and Figure 4 The illustrated method embodiments have the same beneficial effects. Figure 16 The illustrated device demonstrates its functionality using the aforementioned functional module divisions. In practical applications, these functions can be assigned to different functional modules as needed, meaning 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 examples belong to the same concept; their specific implementation processes are detailed in the method embodiments and will not be repeated here.
[0188] In an exemplary embodiment, this application provides an apparatus for determining the root cause of a fault. The apparatus includes a memory and a processor. The memory stores at least one computer instruction, which is loaded and executed by the processor to cause the apparatus to perform the aforementioned actions. Figure 4 The method embodiment shown. Optionally, the device can be the computer device described above.
[0189] See Figure 17 , Figure 17 A schematic diagram of an exemplary device 1700 for determining the root cause of a fault is shown. The device 1700 includes at least one processor 1701, a memory 1703, and at least one network interface 1704.
[0190] Processor 1701 may be, for example, a general-purpose central processing unit (CPU), a digital signal processor (DSP), a network processor (NP), a graphics processing unit (GPU), a neural-network processing unit (NPU), a data processing unit (DPU), a microprocessor, or one or more integrated circuits or application-specific integrated circuits (ASICs), programmable logic devices (PLDs), other general-purpose processors or other programmable logic devices, discrete gates, transistor logic devices, discrete hardware components, or any combination thereof for implementing the scheme of this application. A PLD may be, for example, a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), generic array logic (GAL), or any combination thereof. A general-purpose processor may be a microprocessor or any conventional processor. In an exemplary embodiment, the processor may be a processor supporting an advanced reduced instruction set machine (RISC) machine (ARM) architecture. It can implement or execute various logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processor can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.
[0191] Optionally, the device 1700 for determining the root cause of a fault also includes a bus 1702. The bus 1702 is used to transmit information between the components of the device 1700. The bus 1702 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus 1702 can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 17 The bus is represented by a single line, but this does not mean that there is only one bus or one type of bus.
[0192] The memory 1703 may be, for example, volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. 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.
[0193] By way of example, but not limitation, many forms of ROM and RAM are available. For example, ROM is a compact disc read-only memory (CD-ROM). RAM includes, but is not limited to, 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).
[0194] Memory 1703 can also be other types of storage devices capable of storing static information and instructions. Alternatively, it can be other types of dynamic storage devices capable of storing information and instructions. It can also be other optical disc storage, optical disk storage (including compressed optical discs, laser discs, optical discs, digital versatile optical discs, Blu-ray discs, etc.), magnetic disk storage media, or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures that can be accessed by a computer, but is not limited thereto. Memory 1703 may exist independently, for example, and be connected to processor 1701 via bus 1702. Memory 1703 may also be integrated with processor 1701.
[0195] Network interface 1704 uses any transceiver-like device for communicating with other devices or communication networks, such as Ethernet, radio access network (RAN), or wireless local area network (WLAN). Network interface 1704 can include wired network interfaces and wireless network interfaces. Specifically, network interface 1704 can be an Ethernet interface, such as Fast Ethernet (FE), Gigabit Ethernet (GE), Asynchronous Transfer Mode (ATM), WLAN, cellular network, or combinations thereof. The Ethernet interface can be an optical interface, an electrical interface, or a combination thereof. In some embodiments of this application, network interface 1704 can be used by device 1700, which determines the root cause of a fault, to communicate with other devices.
[0196] In specific implementations, as some embodiments, processor 1701 may include one or more CPUs, such as Figure 17 The CPU0 and CPU1 shown are examples of processors. Each of these processors can be a single-core processor or a multi-core processor. A processor here can refer to one or more devices, circuits, and / or processing cores used to process data (e.g., computer program code).
[0197] In specific implementations, as some embodiments, the device 1700 for determining the root cause of a fault may include multiple processors, such as... Figure 17 The processors 1701 and 1705 are shown. Each of these processors can be a single-core processor or a multi-core processor. Here, "processor" can refer to one or more devices, circuits, and / or processing cores used to process data (such as computer program code).
[0198] In some embodiments, memory 1703 is used to store program code 1710 for executing the scheme of this application, and processor 1701 can execute the program code 1710 stored in memory 1703. That is, device 1700 for determining the root cause of a fault can implement the method provided in the method embodiment through processor 1701 and program code 1710 in memory 1703. Figure 4 The method is shown. Program code 1710 may include one or more software modules. Optionally, processor 1701 itself may also store program code for executing the scheme of this application.
[0199] In specific implementation, the device 1700 for determining the root cause of a fault in this application can correspond to a computer device for performing the above method. The processor 1701 in the device 1700 reads instructions from the memory 1703, causing... Figure 17 The device 1700 shown for determining the root cause of a fault is capable of performing all or part of the steps in the method embodiments.
[0200] The device 1700 for determining the root cause of a fault can also correspond to the above. Figure 16 The device shown, Figure 16 Each functional module in the illustrated device is implemented using software from the device 1700 for determining the root cause of a failure. In other words, Figure 16 The device shown includes a functional module generated by the processor 1701 of the device 1700 for determining the root cause of a fault after reading the program code 1710 stored in the memory 1703.
[0201] in, Figure 4 Each step of the method shown is accomplished by integrated logic circuitry in the hardware or by instructions in the software form of the processor of the device 1700 for determining the root cause of a fault. The steps of the method embodiments disclosed in this application can be directly implemented by a hardware processor, or by a combination of hardware and software modules within the processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other storage media readily available in the art. Since this storage medium is located in memory, the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method embodiments; to avoid repetition, these will not be described in detail here.
[0202] In an exemplary embodiment, this application also provides a system for determining the root cause of a fault, the system including a device for determining the root cause of a fault (e.g., for performing...). Figure 4 The method embodiment shown includes a computer device and at least one network element.
[0203] For example, embodiments of this application also provide a chip, including a processor, for calling and executing instructions stored in memory, causing a computer with the chip installed to perform the above-described... Figure 4 The method embodiment shown.
[0204] In an exemplary embodiment, this application also provides another chip, including: an input interface, an output interface, a processor, and a memory. The input interface, output interface, processor, and memory are connected via internal connection paths. The processor is used to execute code in the memory. When the code is executed, a computer with the chip installed performs... Figure 4 The method embodiment shown.
[0205] For example, embodiments of this application also provide a computer-readable storage medium that stores computer instructions, which, when executed on a computer, [are used to execute the aforementioned instructions]. Figure 4 The method embodiments shown are executed by a computer.
[0206] By way of example, embodiments of this application also provide a computer program or computer program product, the computer program or computer program product including: computer instructions, which, when executed by a computer, cause the computer to perform the above-described... Figure 4 The method embodiment shown.
[0207] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. A computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, all or part of the flow or function according to this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) 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 (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk).
[0208] In this application, the terms "first," "second," etc., are used to distinguish identical or similar items that have essentially the same function. It should be understood that there is no logical or temporal dependency between "first," "second," and "nth," nor does it limit the quantity or order of execution. It should also be understood that although the following description uses the terms "first," "second," etc., to describe various elements, these elements should not be limited by the terms. These terms are merely used to distinguish one element from another.
[0209] In the various embodiments of this application, the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. The term "at least one" in this application means one or more, and the term "multiple" means two or more. For example, multiple network elements refer to two or more network elements. The terms "system" and "network" are often used interchangeably herein. The terminology used in the description of various examples herein is for the purpose of describing particular examples only and is not intended to be limiting. As used in the description of various examples and the appended claims, the singular forms "a" and "the" are intended to also include the plural forms unless the context explicitly indicates otherwise. The term "and / or" as used herein refers to and covers any and all possible combinations of one or more of the associated listed items. The term "and / or" is a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone. Additionally, the character " / " in this application generally indicates that the preceding and following objects are in an "or" relationship. The terms "if" and "if" can be interpreted as meaning "when" or "upon" or "in response to determination" or "in response to detection". Similarly, depending on the context, the phrases "if determination..." or "if detection [the stated condition or event]" can be interpreted as meaning "when determination..." or "in response to determination..." or "when detection [the stated condition or event]" or "in response to detection [the stated condition or event]".
[0210] The above are merely embodiments of this application and are not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the principles of this application should be included within the protection scope of this application.
Claims
1. A method for determining the root cause of a fault, characterized in that, The method includes: Obtain network data of a first network element, wherein the network data of the first network element includes a first command set and a first parameter set; The model corresponding to the first network element is obtained based on the first command set and the first parameter set. The first attribute of the model corresponding to the first network element is determined by the first command set, and the value of the first attribute is determined by the first parameter set. The control surface simulation results are obtained based on the model corresponding to the first network element, and the control surface simulation results are used to determine the root cause of the control surface fault of the network.
2. The method according to claim 1, characterized in that, The method further includes: Obtain network data from the second network element, wherein the network data of the second network element includes a second command set and a second parameter set; The model corresponding to the second network element is obtained based on the second command set and the second parameter set. The second attribute of the model corresponding to the second network element is determined by the second command set, and the value of the second attribute is determined by the second parameter set.
3. The method according to claim 2, characterized in that, The process of obtaining control surface simulation results based on the model corresponding to the first network element includes: Based on the model corresponding to the first network element and the model corresponding to the second network element, the control plane simulation results corresponding to the first network element and the second network element are obtained. The control plane simulation results are the control plane simulation results of the network including the first network element and the second network element.
4. The method according to claim 1 or 2, characterized in that, The process of obtaining control surface simulation results based on the model corresponding to the first network element includes: The topology of the network is determined based on the first attribute and the value of the first attribute; Based on the first attribute, the value of the first attribute, and the topology reconstruction of the control plane behavior of the network elements contained in the network, the control plane simulation result is obtained, and the control plane behavior includes at least one of the routing process or the label propagation process.
5. The method according to any one of claims 1-4, characterized in that, The step of obtaining the model corresponding to the first network element based on the first command set and the first parameter set includes: Map at least one command line in the first command set to the first attribute; Map at least one parameter in the first parameter set to the value of the first attribute.
6. The method according to any one of claims 1-5, characterized in that, The method further includes: The control plane simulation results and network element identifiers are displayed. The network element identifiers are generated based on the first command set and the first parameter set.
7. The method according to any one of claims 1-6, characterized in that, The control plane simulation results include routes and routing processing reasons obtained by network elements in the network through the routing process. The routing processing reasons include at least one of the reasons for obtaining the route or the reasons for not obtaining other routes besides the route. The routing process includes at least one of the following: route flooding process, route origination process, route comparison process, route introduction process, route aggregation process, route cancellation process, or route discarding process.
8. The method according to any one of claims 1-6, characterized in that, The control plane simulation results include the labels and reasons for label propagation obtained by the network elements contained in the network through the label propagation process. The reasons for label propagation include at least one of the reasons for obtaining the label or the reasons for not obtaining other labels besides the label.
9. The method according to any one of claims 1-8, characterized in that, The method further includes: Determine the source network element and the destination network element from the network elements contained in the network; Based on the source network element, the destination network element, the control plane simulation results, and the model corresponding to the first network element, the forwarding plane simulation results are obtained. The forwarding plane simulation results and the control plane simulation results are used to determine the root cause of the control plane failure in the network.
10. The method according to claim 9, characterized in that, The step of obtaining the forwarding plane simulation results based on the source network element, the destination network element, the control plane simulation results, and the model corresponding to the first network element includes: Based on the source network element, the destination network element, the control plane simulation results, the first attribute, and the value of the first attribute, the traffic forwarding process from the source network element to the destination network element is reconstructed, and the forwarding plane simulation results are obtained.
11. The method according to claim 9 or 10, characterized in that, The forwarding plane simulation results include at least one of the reasons why any network element from the source network element to the destination network element forwards traffic or does not forward traffic during the traffic forwarding process.
12. An apparatus for determining the root cause of a fault, characterized in that, The device includes: The acquisition module is used to acquire network data of the first network element, wherein the network data of the first network element includes a first command set and a first parameter set. The acquisition module is further configured to acquire the model corresponding to the first network element based on the first command set and the first parameter set, wherein the first attribute of the model corresponding to the first network element is determined by the first command set and the value of the first attribute is determined by the first parameter set. The acquisition module is further configured to acquire control plane simulation results based on the model corresponding to the first network element, and the control plane simulation results are used to determine the root cause of control plane faults in the network.
13. The apparatus according to claim 12, characterized in that, The acquisition module is further configured to acquire network data of a second network element, the network data of the second network element including a second command set and a second parameter set; acquire the model corresponding to the second network element based on the second command set and the second parameter set, the second attribute of the model corresponding to the second network element being determined by the second command set, and the value of the second attribute being determined by the second parameter set.
14. The apparatus according to claim 13, characterized in that, The acquisition module is used to acquire control plane simulation results corresponding to the first network element and the second network element based on the model corresponding to the first network element and the model corresponding to the second network element. The control plane simulation results are control plane simulation results of the network including the first network element and the second network element.
15. The apparatus according to claim 12 or 13, characterized in that, The acquisition module is used to determine the topology of the network based on the first attribute and the value of the first attribute; and to reconstruct the control plane behavior of the network elements contained in the network based on the first attribute, the value of the first attribute and the topology, so as to obtain the control plane simulation result, wherein the control plane behavior includes at least one of the routing process or the label propagation process.
16. The apparatus according to any one of claims 12-15, characterized in that, The acquisition module is used to map at least one command line in the first command set to the first attribute; and to map at least one parameter in the first parameter set to the value of the first attribute.
17. The apparatus according to any one of claims 12-16, characterized in that, The device further includes: The display module is used to display the control plane simulation results and network element identifiers, wherein the network element identifiers are the identifiers of the first network element generated based on the first command set and the first parameter set.
18. The apparatus according to any one of claims 12-17, characterized in that, The control plane simulation results include routes and routing processing reasons obtained by network elements in the network through the routing process. The routing processing reasons include at least one of the reasons for obtaining the route or the reasons for not obtaining other routes besides the route. The routing process includes at least one of the following: route flooding process, route origination process, route comparison process, route introduction process, route aggregation process, route cancellation process, or route discarding process.
19. The apparatus according to any one of claims 12-17, characterized in that, The control plane simulation results include the labels and reasons for label propagation obtained by the network elements contained in the network through the label propagation process. The reasons for label propagation include at least one of the reasons for obtaining the label or the reasons for not obtaining other labels besides the label.
20. The apparatus according to any one of claims 12-19, characterized in that, The device further includes: a determining module, configured to determine a source network element and a destination network element from the network elements contained in the network; The acquisition module is further configured to acquire forwarding plane simulation results based on the source network element, the destination network element, the control plane simulation results, and the model corresponding to the first network element. The forwarding plane simulation results and the control plane simulation results are used to determine the root cause of the control plane fault in the network.
21. The apparatus according to claim 20, characterized in that, The acquisition module is used to reconstruct the traffic forwarding process from the source network element to the destination network element based on the source network element, the destination network element, the control plane simulation result, the first attribute, and the value of the first attribute, and to obtain the forwarding plane simulation result.
22. The apparatus according to claim 20 or 21, characterized in that, The forwarding plane simulation results include at least one of the reasons why any network element from the source network element to the destination network element forwards traffic or does not forward traffic during the traffic forwarding process.