Network fault diagnosis method, device, equipment and storage medium

By receiving BGP messages to generate a derivation graph, the configuration information of network devices is verified and repaired, solving the problem of low reliability in network fault diagnosis in large-scale networks and achieving efficient network fault diagnosis and repair.

CN122120096APending Publication Date: 2026-05-29RUIJIE NETWORKS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411729806.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-28
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

In large-scale networks, changes, deletions, or additions to network device information increase the probability of network failures, and existing technologies struggle to effectively diagnose and repair these failures.

Method used

By receiving Border Gateway Protocol (BGP) messages, a derivation diagram of network devices is generated, configuration information is verified, and repair processing is performed when verification fails, including abstraction processing, slicing processing, and error location. Verification and repair are carried out using network service models and service forwarding models.

Benefits of technology

It improves the reliability and efficiency of network fault diagnosis and repair, and can promptly detect and repair errors in configuration information in large-scale network environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122120096A_ABST
    Figure CN122120096A_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a network fault diagnosis method, device, equipment and storage medium. The method comprises: receiving a first border gateway protocol (BGP) message, the first BGP message comprising a derived relationship graph of a network corresponding to a first network device, the derived relationship graph being used to indicate five-tuple information and a routing relationship of each network device, the first network device being any network device in the network; determining a target verification result, the target verification result being obtained by verifying configuration information of the first network device according to the first BGP message. The reliability of network fault diagnosis and repair is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a method, apparatus, device and storage medium for diagnosing network faults. Background Technology

[0002] A network can include multiple network devices, such as routers and switches. These devices enable the exchange and transmission of network information. Changes to, deletion of, or addition of a network device can render the configuration information of related target devices inapplicable, leading to network failures. The probability of network failures increases as the network grows. Summary of the Invention

[0003] This application provides a method, apparatus, device, and storage medium for diagnosing network faults, thereby improving the reliability of network fault diagnosis and repair.

[0004] In a first aspect, embodiments of this application provide a method for diagnosing network faults, applied to a first network device, comprising:

[0005] Receive a first border gateway protocol (BGP) message, the first BGP message including a derivation diagram of the network corresponding to the first network device, the derivation diagram being used to indicate the five-tuple information and routing relationship of each network device, the first network device being any one of the network devices in the network;

[0006] The target verification result is determined, which is obtained by verifying the configuration information of the first network device based on the first BGP message.

[0007] In one possible implementation, if the target verification result is a verification failure, the configuration information is repaired.

[0008] In one possible implementation, the target verification result is obtained by verifying the configuration information of the first network device based on the first BGP message, including:

[0009] Based on the derived relationship graph, a current relationship graph between the first network device and the plurality of network devices is generated;

[0010] Based on the current relationship graph, the configuration information is verified to obtain the target verification result.

[0011] In one possible implementation, the configuration information is verified based on the current relationship graph to obtain the target verification result, including:

[0012] Based on the current relationship graph, the configuration information is subjected to a first verification process to obtain a first verification result, which is used to indicate whether there is a fault in the configuration information.

[0013] A second verification process is performed on the service forwarding process corresponding to the current relationship graph to obtain the second verification result. The second verification result is used to indicate whether there is a fault in the service forwarding process.

[0014] Based on the first verification result and the second verification result, the target verification result is determined, and the target verification result includes verification success and verification failure.

[0015] In one possible implementation, the configuration information is subjected to a first verification process based on the current relationship graph to obtain a first verification result, including:

[0016] Obtain the network service model;

[0017] The network service model is used to analyze and process the current relationship graph to determine the network service graph.

[0018] The network service graph is analyzed and processed to obtain the first verification result.

[0019] In one possible implementation, the network service graph is determined by analyzing and processing the current relationship graph using the network service model, including:

[0020] Based on the network service model, access relationship data, network connection data, and service relationship data are determined in the current relationship graph;

[0021] The network service graph is obtained by associating the access relationship data, the network connection data, and the service relationship data.

[0022] In one possible implementation, the network service graph is analyzed and processed to obtain the first verification result, including:

[0023] Obtain at least one preset error logic;

[0024] Based on the at least one preset error logic, determine whether there is a preset error logic in the network service graph;

[0025] If so, then the first verification result is verification failure;

[0026] If not, then the first verification result is a successful verification.

[0027] In one possible implementation, the at least one preset error logic includes at least one of the following: service access side error, network side configuration error, virtual configuration error, and physical configuration error.

[0028] In one possible implementation, based on the current relationship graph, a second verification process is performed on the service forwarding flow to obtain the second verification result, including:

[0029] Obtain a service forwarding model, wherein the service forwarding model includes at least one adapter program and a general program;

[0030] Based on the current relationship diagram, determine the current forwarding logic of the first network device;

[0031] The current forwarding logic is simulated using the service forwarding model to obtain the second verification result.

[0032] In one possible implementation, the current forwarding logic is simulated using a service forwarding model to obtain the second verification result, including:

[0033] Based on the current forwarding logic, a target adapter is determined in the at least one adapter;

[0034] The target adapter and the general program are used to simulate the first network device to perform data forwarding verification, and the second verification result is obtained. The second verification result includes verification failure and verification success.

[0035] In one possible implementation, determining the target adapter in the at least one adapter based on the current forwarding logic includes:

[0036] If the target adapter is not present in the at least one adapter, then the target adapter is determined according to the current forwarding logic;

[0037] The target adaptation procedure updates the service forwarding model.

[0038] In one possible implementation, the current forwarding logic includes a forwarding table, an ingress policy, a quality of service policy, and at least one private implementation.

[0039] In one possible implementation, generating a current relationship graph between the first network device and the plurality of network devices based on the derived relationship graph includes:

[0040] The configuration information of the first network device is abstracted to obtain the five-tuple information;

[0041] The quintuple information is integrated with the derivation relationship graph to obtain the current relationship graph.

[0042] In one possible implementation, the configuration information is repaired, including:

[0043] Obtain at least one fault configuration corresponding to the first network device;

[0044] The at least one incorrect configuration is updated to repair the configuration information.

[0045] In one possible implementation, obtaining at least one faulty configuration corresponding to the first network device includes:

[0046] The configuration information is sliced ​​to obtain multiple slice information, which includes configuration plane information, service plane information and control plane information;

[0047] Error location is performed on each slice of information to obtain at least one incorrect configuration.

[0048] Secondly, embodiments of this application provide a network fault diagnosis device, including a receiving module and a processing module:

[0049] The receiving module is used to receive a first border gateway protocol (BGP) message, the first BGP message including a derivation relationship diagram of the network corresponding to the first network device, the derivation relationship diagram being used to indicate the five-tuple information and routing relationship of each network device, the first network device being any network device in the network;

[0050] The processing module is used to determine the target verification result, which is obtained by verifying the configuration information of the first network device based on the first BGP message.

[0051] In one possible implementation, the device further includes a repair module:

[0052] The repair module is used to repair the configuration information if the target verification result is a verification failure.

[0053] In one possible implementation, the processing module is specifically used for:

[0054] Based on the derived relationship graph, a current relationship graph between the first network device and the plurality of network devices is generated;

[0055] Based on the current relationship graph, the configuration information is verified to obtain the target verification result.

[0056] In one possible implementation, the processing module is specifically used for:

[0057] Based on the current relationship graph, the configuration information is subjected to a first verification process to obtain a first verification result, which is used to indicate whether there is a fault in the configuration information.

[0058] A second verification process is performed on the service forwarding process corresponding to the current relationship graph to obtain the second verification result. The second verification result is used to indicate whether there is a fault in the service forwarding process.

[0059] Based on the first verification result and the second verification result, the target verification result is determined, and the target verification result includes verification success and verification failure.

[0060] In one possible implementation, the processing module is specifically used for:

[0061] Obtain the network service model;

[0062] The network service model is used to analyze and process the current relationship graph to determine the network service graph.

[0063] The network service graph is analyzed and processed to obtain the first verification result.

[0064] In one possible implementation, the processing module is specifically used for:

[0065] Based on the network service model, access relationship data, network connection data, and service relationship data are determined in the current relationship graph;

[0066] The network service graph is obtained by associating the access relationship data, the network connection data, and the service relationship data.

[0067] In one possible implementation, the processing module is specifically used for:

[0068] Obtain at least one preset error logic;

[0069] Based on the at least one preset error logic, determine whether there is a preset error logic in the network service graph;

[0070] If so, then the first verification result is verification failure;

[0071] If not, then the first verification result is a successful verification.

[0072] In one possible implementation, the at least one preset error logic includes at least one of the following: service access side error, network side configuration error, virtual configuration error, and physical configuration error.

[0073] In one possible implementation, the processing module is specifically used for:

[0074] Obtain a service forwarding model, wherein the service forwarding model includes at least one adapter program and a general program;

[0075] Based on the current relationship diagram, determine the current forwarding logic of the first network device;

[0076] The current forwarding logic is simulated using the service forwarding model to obtain the second verification result.

[0077] In one possible implementation, the processing module is specifically used for:

[0078] Based on the current forwarding logic, a target adapter is determined in the at least one adapter;

[0079] The target adapter and the general program are used to simulate the first network device to perform data forwarding verification, and the second verification result is obtained. The second verification result includes verification failure and verification success.

[0080] In one possible implementation, the processing module is specifically used for:

[0081] If the target adapter is not present in the at least one adapter, then the target adapter is determined according to the current forwarding logic;

[0082] The target adaptation procedure updates the service forwarding model.

[0083] In one possible implementation, the current forwarding logic includes a forwarding table, an ingress policy, a quality of service policy, and at least one private implementation.

[0084] In one possible implementation, the processing module is specifically used for:

[0085] The configuration information of the first network device is abstracted to obtain the five-tuple information;

[0086] The quintuple information is integrated with the derivation relationship graph to obtain the current relationship graph.

[0087] In one possible implementation, the repair module is specifically used for:

[0088] Obtain at least one fault configuration corresponding to the first network device;

[0089] The at least one incorrect configuration is updated to repair the configuration information.

[0090] In one possible implementation, the repair module is specifically used for:

[0091] The configuration information is sliced ​​to obtain multiple slice information, which includes configuration plane information, service plane information and control plane information;

[0092] Error location is performed on each slice of information to obtain at least one incorrect configuration.

[0093] Thirdly, embodiments of this application provide a device including: a memory and a processor;

[0094] The memory stores computer-executed instructions;

[0095] The processor executes computer execution instructions stored in the memory, causing the processor to perform the first aspect and / or various possible implementations of the first aspect as described above.

[0096] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the first aspect and / or various possible implementations of the first aspect.

[0097] Fifthly, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the first aspect and / or various possible implementations of the first aspect.

[0098] The network fault diagnosis method, apparatus, device, and storage medium provided in this application can receive a first BGP message and verify the configuration information of a first network device based on the first BGP message to obtain a target verification result. Any network device can diagnose and repair its configuration information through the first BGP message, enabling timely self-diagnosis of faults in large-scale network environments and improving the reliability of network fault diagnosis. Attached Figure Description

[0099] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0100] Figure 1 A schematic diagram illustrating the application scenarios provided in this application;

[0101] Figure 2 A flowchart illustrating the network fault diagnosis method provided in this application;

[0102] Figure 3 This is a schematic diagram of the structure of a BGP Update message provided in an embodiment of this application;

[0103] Figure 4 This is a schematic diagram of an extended community attribute provided in an embodiment of this application;

[0104] Figure 5 A schematic diagram of an index for an AS-Path extended community attribute provided in an embodiment of this application;

[0105] Figure 6 A flowchart illustrating the process of determining the target verification result for an embodiment of this application;

[0106] Figure 7 This is a schematic diagram of a process for verifying configuration information provided in an embodiment of this application;

[0107] Figure 8 A flowchart illustrating a verification service forwarding process provided in an embodiment of this application;

[0108] Figure 9 A schematic diagram of the architecture of a network fault diagnosis method provided in an embodiment of this application;

[0109] Figure 10 A schematic diagram of the structure of a network fault diagnosis device provided in an embodiment of this application;

[0110] Figure 11 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application.

[0111] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation

[0112] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.

[0113] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and are not used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first," "second," etc., are generally of the same class and are not limited in number; for example, a first object can be one or more.

[0114] Furthermore, the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.

[0115] The terms "at least one," "at least one of," etc., used in the specification and claims of this application refer to any one, any two, or a combination of two or more of the included items. For example, at least one of a, b, and c can mean: "a," "b," "c," "a and b," "a and c," "b and c," and "a, b, and c," where a, b, and c can be single or multiple. Similarly, "at least two" refers to two or more items, and its meaning is similar to that of "at least one."

[0116] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application.

[0117] Figure 1 This is a schematic diagram illustrating one application scenario provided by this application. Please refer to [link / reference]. Figure 1 This application provides an exemplary application scenario: a network 100 may include multiple network devices 101, which can forward information to each other. The network device sending information among the multiple network devices 101 is called the source network device, and the network device receiving information is called the target network device. The source network device can forward information to the target network device, or it can determine the route corresponding to forwarding information from the source network device to the target network device based on Border Gateway Protocol (BGP) messages. The route can be used to indicate the forwarding path between the source network device and the target network device, and the forwarding path may include at least one network device 101.

[0118] The source network device, the target network device, or any network device 101 can be a router, switch, gateway, etc.

[0119] In one possible implementation, multiple network devices can be managed through an abstraction layer. The abstraction layer can configure the configuration logic corresponding to each device type and store the configuration information of each network node. If the information of a network device is changed, a device is deleted, or a new device is added, the abstraction layer can identify the changed network device. The operation and maintenance personnel can use the abstraction layer to repair and maintain the configuration information of the target devices associated with that network device.

[0120] However, in large-scale network environments, managing each network device uniformly through an abstraction layer increases the workload of network fault diagnosis and reduces its reliability.

[0121] In the network fault diagnosis method provided in this application embodiment, the network device can receive BGP messages. The BGP messages may include a derivation graph of the network relationship corresponding to the network device. Based on the BGP messages, the configuration information of the network device can be verified to obtain the target verification result. In the above process, any network device in the network can diagnose its configuration information through BGP messages, enabling timely self-diagnosis of faults in large-scale network environments, thus improving the reliability of network fault diagnosis.

[0122] The BGP message carries the five-tuple information of each network device 101. The five-tuple information may include the source transmission port, destination transmission port, interaction event, protocol ID, and device status. In network 100, after receiving the BGP message, any network device 101 can perform verification processing on the configuration information of the network device 101 according to the BGP message to obtain the target verification result.

[0123] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.

[0124] Figure 2 A flowchart illustrating the network fault diagnosis method provided in this application. Please refer to [link / reference]. Figure 2 The method may include:

[0125] S201, Receive First Border Gateway Protocol (BGP) message.

[0126] The execution subject of this application embodiment can be a first network device or a network fault diagnosis device set in the first network device. The network fault diagnosis device can be implemented by software or by a combination of software and hardware.

[0127] The first network device can be any network device in the network. The first network device can receive the first BGP message sent by the upstream network device. The first BGP message can include a derivation diagram, which can be used to indicate the five-tuple information and routing relationships of each network device.

[0128] In a network topology consisting of multiple network devices, the network device that sends a message to the first network device can be identified as the upstream network device, and the network device that receives the message sent by the first network device can be identified as the downstream network device. The upstream network device communicates with the first network device, and the downstream network device communicates with the first network device.

[0129] BGP (Border Gateway Protocol) is a core routing protocol of the Internet, used to exchange routing information between different Autonomous Systems (AS). The AS-Path attribute is a fundamental attribute of BGP routes. It records the sequence of all ASs a BGP route traverses from its source AS to the current AS. In essence, a BGP route refers to routing information propagated and managed within the network via BGP.

[0130] The first BGP message can be in the format of a BGP update message: path attribute + address prefix. If multiple address prefixes have the same path attribute, they will be encapsulated into the same attribute. Even if a large number of routes need to be advertised, the length of the update message will not increase significantly.

[0131] Among them, the BGP Update message is a message type in the BGP protocol, used to send routing information updates to neighboring routers.

[0132] Figure 3 This is a schematic diagram illustrating the structure of a BGP Update message provided in an embodiment of this application. Please refer to [link / reference]. Figure 3A BGPUpdate message can include five parts: Withdrawn Routes Length, Withdrawn Routes list, Total Path Attribute Length, Path Attributes, and Network Layer Reachability Information (NLRI). Among them, Path Attributes can include AS-Path attribute, Next Hop attribute, Local Preference attribute, etc.

[0133] Path attributes can also include BGP extended community attributes, which can be used to pass additional information and can carry derivation graphs.

[0134] A derivation graph can be a graphical data structure that represents the relationships between different routing entries. A derivation graph can include nodes and edges. Each node can represent a routing entry or a specific network prefix, and the edges can represent the relationship between two nodes, which are usually the paths or conditions that need to be considered in the routing decision process.

[0135] The five-tuple information of each network device in the network, as well as the routing relationships between multiple network devices, can be stored by deriving a relational graph.

[0136] The first network device can periodically receive BGP messages and send BGP messages to downstream network devices. As the first BGP message announces the five-tuple information and routing relationships of each network device, no additional burden is required, which helps to reduce network transmission overhead.

[0137] Based on the above embodiments, the following is combined with Figure 4 and Figure 5 The present application provides a further explanation of the method of deriving relational graphs through extended community attributes of BGP provided in the embodiments of this application.

[0138] Figure 4 This is a schematic diagram illustrating the structure of an extended community attribute provided in an embodiment of this application. Please refer to... Figure 4BGP extended community attributes typically consist of 8 bytes (64 bits) and are divided into three main parts: Type high, Type low, and Value. Type high occupies 1 byte and is used to indicate the category of the extended community; Type low occupies 1 byte and is used to further subdivide the category of the extended community; Value occupies 6 bytes and contains the specific attribute value.

[0139] It's worth noting that the derivation graph includes five-tuple information for multiple network devices and the routing relationships between them. Based on the AS-Path attribute, an AS-Path extended community attribute can be constructed within the BGP extended community attribute. The derivation graph can then be carried within the AS-Path extended community attribute; that is, the derivation graph is carried in the BGP extended community attribute in the form of an AS-Path attribute. The following section will combine... Figure 5 This application describes the AS-Path extended community attributes provided.

[0140] Figure 5 This is a schematic diagram illustrating an index of an AS-Path extended community attribute provided in an embodiment of this application. Please refer to... Figure 5 The AS-Path extended community attribute includes the Type high field, Type low field, and reserved field. The Type high value can occupy the bit corresponding to 0xCF, the Type low value can occupy the bit corresponding to 0xE1, and the reserved field can occupy bits in the range [0x00, 0xFF]. The reserved field can carry the derivation graph. Specifically, in the reserved field, 0x00 carries the AS number of the route source (i.e., the AS number of the source network device), 0x01 carries the VPN-id value of the route source (i.e., the VPN-id value of the source network device), 0x02 carries the ID value of the configured route group, and 0x03 to 0xFF can be reserved values ​​for the derivation graph.

[0141] S202. Determine the target verification results.

[0142] The target verification result can be obtained by verifying the configuration information of the first network device based on the first BGP message.

[0143] The first BGP message may include a deduced relationship graph, which can be used to generate a current relationship graph between the first network device and multiple network devices. Based on the current relationship graph, the configuration information is verified to obtain the target verification result.

[0144] The configuration information of the first network device may include information used to indicate the quintuple information of the first network device.

[0145] The current relationship graph can be used to indicate the addition of the five-tuple information of the first network device to the derived relationship graph, as well as the routing relationship between the first network device and each network device in the derived relationship graph.

[0146] Specifically, the execution process of generating the current relationship graph between the first network device and multiple network devices based on the derived relationship graph can be as follows: the configuration information of the first network device is abstracted to obtain the five-tuple information of the first network device, and the five-tuple information is integrated with the derived relationship graph to obtain the current relationship graph.

[0147] The 5-tuple information may include the source port, destination port, interaction event, protocol ID, and device status.

[0148] After determining the current relationship graph, the configuration information can be verified in the following way to obtain the target verification result: The configuration information and service forwarding process of the first network device can be verified through the current relationship graph to obtain the target verification result, which can include verification success and verification failure.

[0149] For details on verifying configuration information and the execution process of service forwarding, please refer to the following text. Figure 6 The execution process shown will not be described in detail here.

[0150] After determining the target verification result, if the target verification result is successful and the configuration information of the first network device in the current relationship graph is correct, the current relationship graph can be encapsulated in a second BGP message and sent to the downstream network device. The current relationship graph in the second BGP message is the deduced relationship graph obtained by the downstream network device. The deduced relationship graph can include the five-tuple information of the first network device and each of the upstream network devices of the first network device, as well as the routing relationship.

[0151] If the target verification result is verification failure, the configuration information of the first network device in the current relationship graph is incorrect. Then, based on the target verification result, at least one incorrect configuration corresponding to the network device can be obtained; at least one incorrect configuration can be updated to repair the configuration information.

[0152] Furthermore, the configuration information can be sliced ​​to obtain multiple slices. Error location can be performed on each slice to obtain at least one incorrect configuration. The slice information can be configuration plane information, service plane information, or control plane information.

[0153] Configuration plane information can be used for the setup and management of network devices. It can include the device's initial settings, parameter adjustments, and policy configurations.

[0154] Business plane information (also known as data plane information) is responsible for the actual data forwarding and processing.

[0155] Control plane information is responsible for communication and information exchange between network devices in order to establish and maintain network topology.

[0156] After repairing the configuration information, the repaired configuration information can be abstracted to obtain the repaired quintuple information of the first network device. The repaired quintuple information is then integrated with the derivation relationship graph to obtain the current relationship graph.

[0157] The network fault diagnosis method provided in this application embodiment allows a first network device to receive a first BGP message. The first BGP message may include a derivation graph of the network corresponding to the first network device. This derivation graph can be used to indicate the five-tuple information and routing relationships of multiple network devices. The first network device can be any network device in the network. Based on the first BGP message, the configuration information of the first network device can be verified to obtain a target verification result. The first network device can diagnose configuration information through the first BGP message. In a large-scale network environment, this method can promptly diagnose network device faults, improving the reliability of network fault diagnosis.

[0158] In addition, when the target verification result of the network device is a verification failure, the configuration information can be repaired in a timely manner, which can improve the efficiency of network fault repair.

[0159] Based on the above embodiments, the following is combined with Figure 6 The execution process for verifying configuration information provided in the embodiments of this application will be further explained.

[0160] Figure 6 This is a schematic flowchart illustrating the process of determining the target verification result as provided in an embodiment of this application. Please refer to... Figure 6 The method includes:

[0161] S601. Based on the current relationship diagram, perform the first verification process on the configuration information to obtain the first verification result.

[0162] Based on the derivation of the relationship graph, the current relationship graph integrates the configuration information of the first network device. The derivation of the relationship graph represents the correct configuration logic verified by the upstream network device. When analyzing the current relationship graph, if the verification of the current relationship graph fails, it can be determined that there is an error in the configuration information.

[0163] Specifically, the first verification result can be determined as follows: obtain the network service model, analyze and process the current relationship graph through the network service model to determine the network service graph; analyze and process the network service graph to obtain the first verification result.

[0164] The network service model can be a preset model. Staff can sort out multiple business relationships in the network and determine the network service model.

[0165] If the business relationships of the network or any service change, the network business model can be updated directly, which facilitates the adjustment and maintenance of the network business model and improves the efficiency of network diagnosis.

[0166] The first verification result can be used to indicate whether there is a fault in the configuration information. If there is a fault in the configuration information, the first verification result is verification failure; if there is no fault in the configuration information, the first verification result is verification success.

[0167] S602. Perform a second verification process on the business forwarding process corresponding to the current relationship diagram to obtain the second verification result.

[0168] Based on control plane verification technology, the service forwarding model can be determined, and the service forwarding process corresponding to the current relationship graph can be subjected to a second verification process through the service forwarding model.

[0169] Control plane verification technology is used to verify the correctness and reliability of the control plane functionality of network devices. The control plane is the part of a network device responsible for managing and controlling data flow, and may include routing, network topology management, protocol processing, etc.

[0170] The service forwarding model can be tested and verified using automated testing tools and simulation environments without affecting the actual network operation.

[0171] The second verification result can be used to indicate whether there is a fault in the service forwarding process. If there is a fault in the service forwarding process, the second verification result is verification failure; if there is no fault in the service forwarding process, the second verification result is verification success.

[0172] S603. Determine the target verification result based on the first verification result and the second verification result.

[0173] The target validation result can include validation success and validation failure.

[0174] If either the first verification result or the second verification result is a verification failure, then the target verification result is a verification failure; otherwise, the target verification result is a verification success.

[0175] The network fault diagnosis method provided in this application embodiment can perform a first verification process on the configuration information according to the current relationship diagram to obtain a first verification result, perform a second verification process on the service forwarding process to obtain a second verification result, and determine the target verification result based on the first verification result and the second verification result. This method can realize the verification of the configuration information and service forwarding process of the first network device, thereby improving the accuracy of network fault detection.

[0176] Based on the above embodiments, the following is combined with Figure 7 The execution process of performing the first verification process on the configuration information provided in the embodiments of this application will be described.

[0177] Figure 7 This is a schematic diagram illustrating a process for verifying configuration information, provided in an embodiment of this application. Please refer to... Figure 7 The method may include:

[0178] S701, Obtain the network service model.

[0179] When deploying services in a network, both physical configuration (underlay) networks and virtual configuration (overlay) networks are deployed. The network service model can be determined based on the network and the service relationships within the network.

[0180] Specifically, for any given service, if the configuration information of all network devices corresponding to that service is the same, the configuration information of the network devices corresponding to that service can be compared to identify network devices with incorrect configuration information.

[0181] S702. Based on the network service model, determine the access relationship data, network connection data, and service relationship data in the current relationship diagram.

[0182] The network service model can include service relationship information corresponding to multiple different services. The current relationship graph can be analyzed and processed through the network service model to determine the network service graph of the first network device; the network service graph can be analyzed and processed to obtain the first verification result.

[0183] The data in the current relationship graph can be sorted out through the network service model to determine the network access relationship data, network connection data, and service relationship data.

[0184] Access relationship data can include data from the four network layers of TCP / IP: network interface layer, network layer, transport layer, and application layer.

[0185] Network connection data may include underlay networks, overlay networks, slice networks, and general tunnel connection data, where tunnel connection data can be underlay tunnel data or overlay tunnel data.

[0186] Business relationship data can show how access services / service exits provided within network devices are matched with the exit network, or how access services are matched with the service exits, or how services are matched with the network exits at a network entry point during network switching.

[0187] S703. Perform correlation processing on access relationship data, network connection data, and service relationship data to obtain a network service graph.

[0188] A network service diagram can include the service architecture diagrams corresponding to various services in the network. For any given service, if the service architecture diagram is incomplete or the configuration information of the network devices corresponding to the service does not match, then the service has an error.

[0189] S704, Obtain at least one preset error logic.

[0190] Preset error logic can include errors on the service access side, network configuration side, virtual (overlay) configuration errors, and physical (underlay) configuration errors.

[0191] Among these issues, errors on the service access side may cause the service access link to fail to connect to the corresponding network exit; network-side configuration errors may result in the network connection not existing or the network performance not meeting the service requirements, making it unable to support the service; and overlay configuration errors may result in the absence of an underlay network, or the presence of an underlay network but the service exit being unable to connect, etc.

[0192] S705. Determine whether there is a preset error logic in the network service diagram based on at least one preset error logic.

[0193] The network service graph can be traversed to determine if there is a preset error logic. If so, step S706 is executed; otherwise, step S707 is executed.

[0194] S706, The first verification result is verification failure.

[0195] S707, The first verification result is successful.

[0196] The network fault diagnosis method provided in this application embodiment can determine access relationship data, network connection data, and service relationship data in the current relationship graph through a network service model, perform correlation processing on the access relationship data, network connection data, and service relationship data to obtain a network service graph, and determine whether there is a preset error logic in the network service graph according to at least one preset error logic to obtain a first verification result. The current relationship graph can be analyzed through the network service model to improve the reliability of network fault diagnosis.

[0197] Figure 8 This is a flowchart illustrating a verification service forwarding process provided in an embodiment of this application. Please refer to [link / reference]. Figure 8 The method may include:

[0198] S801, Obtain the service forwarding model.

[0199] The service forwarding model can be validated for forwarding by multiple network devices in situations where underlay and overlay networks coexist, and where underlay and overlay networks overlap.

[0200] The business forwarding model can cover multiple forwarding logics, which may include forwarding tables, entry policies, QoS policies, and various private implementations. Entry policies may include policy matching, policy redirection, and escape paths, while private implementations may include redirection between public and private networks, redirection between underlay and overlay, and escape paths.

[0201] For different types of network devices, each network device has its own corresponding forwarding logic. The service forwarding model may include at least one adapter program and a general program.

[0202] A general program can be used to indicate the same forwarding logic for network devices of different device types, while an adapter program can be used to indicate the special forwarding logic for any device type.

[0203] S802. Based on the current relationship diagram, determine the current forwarding logic of the first network device.

[0204] The current forwarding logic includes policy-related data and control plane data. Policy-related data can be determined in the configuration plane of the first network device, and control plane data can be determined in the control plane.

[0205] The current relationship graph includes five-tuple information for each network device. The five-tuple information can include abstract data of the configuration plane and control plane of the corresponding network device. Therefore, the current forwarding logic of the first network device can be determined in the current relationship graph.

[0206] S803. Based on the current forwarding logic, determine the target adapter in at least one adapter.

[0207] For example, suppose there are 3 adapters, namely adapters 1-3. Assume that adapter 1 corresponds to forwarding logic 1, adapter 2 corresponds to forwarding logic 2, and adapter 3 corresponds to forwarding logic 3. Assume that the current forwarding logic is forwarding logic 1, and we can determine that the adapter corresponding to the current forwarding logic is adapter 1.

[0208] If a network device of a certain type undergoes logical changes or expansion, the corresponding adapter program for that device type can be updated; if a new device type is added, the corresponding adapter program for that device type can be added.

[0209] Specifically, if the target adapter is not found in at least one adapter, the target adapter is determined based on the current forwarding logic; and the business forwarding model is updated through the target adapter.

[0210] The reliability of service forwarding process verification can be improved by updating the adapter program in the service forwarding model.

[0211] S804. Through the target adapter program and the general program, the first network device is simulated to perform data forwarding verification, and the second verification result is obtained.

[0212] The second verification result can include verification failure and verification success. If the forwarding is successful, the second verification result is verification success; if the forwarding fails, the second verification result is verification failure.

[0213] The network fault diagnosis method provided in this application embodiment can simulate forwarding using a service forwarding model and the current forwarding logic of the first network device in the model to verify whether there are errors in the service forwarding process, thereby improving the reliability of network fault diagnosis.

[0214] Figure 9 This is a schematic diagram illustrating the architecture of a network fault diagnosis method provided in an embodiment of this application. Please refer to [link / reference]. Figure 9 The first network device can receive a first BGP message, which includes a derived relationship graph. Based on the derived relationship graph and the five-tuple information of the first network device, a current relationship graph between the first network device and multiple network devices can be generated. Based on the current relationship graph, a first verification process can be performed on the configuration information to obtain a first verification result. A second verification process can be performed on the service forwarding process corresponding to the current relationship graph to obtain a second verification result. Based on the first and second verification results, the target verification result of the first network device is determined.

[0215] Figure 10This is a schematic diagram of a network fault diagnosis device provided in an embodiment of this application. Please refer to... Figure 10 The network fault diagnosis device 10 may include a receiving module 11 and a processing module 12:

[0216] The receiving module 11 is used to receive a first border gateway protocol (BGP) message. The first BGP message includes a derivation diagram of the network corresponding to the first network device. The derivation diagram is used to indicate the five-tuple information and routing relationship of each network device. The first network device is any network device in the network.

[0217] The processing module 12 is used to determine the target verification result, which is obtained by verifying the configuration information of the first network device based on the first BGP message.

[0218] The network fault diagnosis device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.

[0219] In one possible implementation, the device 10 further includes a repair module 13:

[0220] The repair module 13 is used to repair the configuration information if the target verification result is a verification failure.

[0221] In one possible implementation, the processing module 12 is specifically used for:

[0222] Based on the derived relationship graph, generate the current relationship graph between the first network device and multiple network devices;

[0223] Based on the current relationship diagram, the configuration information is validated to obtain the target validation result.

[0224] In one possible implementation, the processing module 12 is specifically used for:

[0225] Based on the current relationship diagram, the configuration information is subjected to a first verification process to obtain a first verification result. The first verification result is used to indicate whether there is a fault in the configuration information.

[0226] A second verification process is performed on the business forwarding process corresponding to the current relationship diagram to obtain a second verification result. The second verification result is used to indicate whether there is a fault in the business forwarding process.

[0227] Based on the first verification result and the second verification result, the target verification result is determined, which includes verification success and verification failure.

[0228] In one possible implementation, the processing module 12 is specifically used for:

[0229] Obtain the network service model;

[0230] By analyzing and processing the current relationship graph through the network service model, the network service graph is determined.

[0231] The network service graph was analyzed and processed to obtain the first verification result.

[0232] In one possible implementation, the processing module 12 is specifically used for:

[0233] Based on the network service model, determine the access relationship data, network connection data, and service relationship data in the current relationship graph;

[0234] The network service graph is obtained by associating access relationship data, network connection data, and service relationship data.

[0235] In one possible implementation, the processing module 12 is specifically used for:

[0236] Obtain at least one preset error logic;

[0237] Based on at least one preset error logic, determine whether there is a preset error logic in the network service diagram;

[0238] If so, the first verification result is verification failure;

[0239] If not, the first verification result is successful.

[0240] In one possible implementation, at least one preset error logic includes at least one of the following: service access side error, network side configuration error, virtual configuration error, and physical configuration error.

[0241] In one possible implementation, the processing module 12 is specifically used for:

[0242] Obtain the service forwarding model, which includes at least one adapter program and a general program;

[0243] Based on the current relationship diagram, determine the current forwarding logic of the first network device;

[0244] By simulating the current forwarding logic using the business forwarding model, a second verification result is obtained.

[0245] In one possible implementation, the processing module 12 is specifically used for:

[0246] Based on the current forwarding logic, determine the target adapter in at least one adapter;

[0247] By using the target adapter program and the general program, the first network device is simulated to perform data forwarding verification, and a second verification result is obtained. The second verification result includes verification failure and verification success.

[0248] In one possible implementation, the processing module 12 is specifically used for:

[0249] If the target adapter is not found in at least one of the adapters, the target adapter is determined based on the current forwarding logic.

[0250] Update the business forwarding model through the target adaptation program.

[0251] In one possible implementation, the current forwarding logic includes a forwarding table, an ingress policy, a quality of service policy, and at least one private implementation.

[0252] In one possible implementation, the processing module 12 is specifically used for:

[0253] The configuration information of the first network device is abstracted to obtain the quintuple information;

[0254] The quintuple information is integrated with the derivation relation graph to obtain the current relation graph.

[0255] In one possible implementation, the repair module 13 is specifically used for:

[0256] Obtain at least one fault configuration corresponding to the first network device;

[0257] Update at least one incorrect configuration to repair the configuration information.

[0258] In one possible implementation, the repair module 13 is specifically used for:

[0259] The configuration information is sliced ​​to obtain multiple slice information, which includes configuration plane information, service plane information and control plane information;

[0260] Error location is performed on each slice of information to obtain at least one incorrect configuration.

[0261] The network fault diagnosis device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.

[0262] It is worth noting that in the network fault diagnosis device provided in this application embodiment, any two or all of the receiving module 11, processing module 12 and repair module 13 can be integrated into one module.

[0263] Figure 11This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Please refer to... Figure 11 The electronic device 20 may include a processor 21 and a memory 22. Exemplarily, the processor 21 and the memory 22 are interconnected via a bus 23.

[0264] Memory 22 stores instructions executed by the computer;

[0265] The processor 21 executes computer execution instructions stored in the memory 22, causing the processor 21 to perform the network fault diagnosis method as described in the above method embodiment.

[0266] Accordingly, this application provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the network fault diagnosis method of the above method embodiments.

[0267] Accordingly, embodiments of this application may also provide a computer program product, including a computer program, which, when executed by a processor, can implement the network fault diagnosis method shown in the above method embodiments.

[0268] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0269] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0270] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0271] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0272] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0273] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0274] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0275] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0276] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A method for diagnosing network faults, characterized in that, Applied to the first network device, including: Receive a first border gateway protocol (BGP) message, the first BGP message including a derivation diagram of the network corresponding to the first network device, the derivation diagram being used to indicate the five-tuple information and routing relationship of each network device, the first network device being any one of the network devices in the network; The target verification result is determined, which is obtained by verifying the configuration information of the first network device based on the first BGP message.

2. The method according to claim 1, characterized in that, If the target verification result is a verification failure, the configuration information will be repaired.

3. The method according to claim 1, characterized in that, The target verification result is obtained by verifying the configuration information of the first network device based on the first BGP message, including: Based on the derived relationship graph, a current relationship graph between the first network device and multiple network devices is generated; Based on the current relationship graph, the configuration information is verified to obtain the target verification result.

4. The method according to claim 3, characterized in that, Based on the current relationship graph, the configuration information is validated to obtain the target validation result, including: Based on the current relationship graph, the configuration information is subjected to a first verification process to obtain a first verification result, which is used to indicate whether there is a fault in the configuration information. A second verification process is performed on the service forwarding process corresponding to the current relationship graph to obtain the second verification result. The second verification result is used to indicate whether there is a fault in the service forwarding process. Based on the first verification result and the second verification result, the target verification result is determined, and the target verification result includes verification success and verification failure.

5. The method according to claim 4, characterized in that, Based on the current relationship graph, the configuration information undergoes a first verification process to obtain a first verification result, including: Obtain the network service model; The network service model is used to analyze and process the current relationship graph to determine the network service graph. The network service graph is analyzed and processed to obtain the first verification result.

6. The method according to claim 5, characterized in that, The network service graph is determined by analyzing and processing the current relationship graph using the network service model, including: Based on the network service model, access relationship data, network connection data, and service relationship data are determined in the current relationship graph; The network service graph is obtained by associating the access relationship data, the network connection data, and the service relationship data.

7. The method according to claim 6, characterized in that, The network service graph is analyzed and processed to obtain the first verification result, including: Obtain at least one preset error logic; Based on the at least one preset error logic, determine whether there is a preset error logic in the network service graph; If so, then the first verification result is verification failure; If not, then the first verification result is a successful verification.

8. The method according to claim 7, characterized in that, The at least one preset error logic includes at least one of the following: service access side error, network side configuration error, virtual configuration error, and physical configuration error.

9. The method according to claim 4, characterized in that, Based on the current relationship diagram, a second verification process is performed on the service forwarding flow to obtain the second verification result, including: Obtain a service forwarding model, wherein the service forwarding model includes at least one adapter program and a general program; Based on the current relationship diagram, determine the current forwarding logic of the first network device; The current forwarding logic is simulated using the service forwarding model to obtain the second verification result.

10. The method according to claim 9, characterized in that, The second verification result is obtained by simulating the current forwarding logic using a service forwarding model, including: Based on the current forwarding logic, a target adapter is determined in the at least one adapter; The target adapter and the general program are used to simulate the first network device to perform data forwarding verification, and the second verification result is obtained. The second verification result includes verification failure and verification success.

11. The method according to claim 10, characterized in that, Based on the current forwarding logic, determining the target adapter in the at least one adapter includes: If the target adapter is not present in the at least one adapter, then the target adapter is determined according to the current forwarding logic; The target adaptation procedure updates the service forwarding model.

12. The method according to claim 11, characterized in that, The current forwarding logic includes a forwarding table, an entry policy, a quality of service policy, and at least one private implementation.

13. The method according to claim 3, characterized in that, Based on the derived relationship graph, a current relationship graph between the first network device and multiple network devices is generated, including: The configuration information of the first network device is abstracted to obtain the five-tuple information; The quintuple information is integrated with the derivation relationship graph to obtain the current relationship graph.

14. The method according to claim 2, characterized in that, The configuration information is repaired, including: Obtain at least one fault configuration corresponding to the first network device; The at least one incorrect configuration is updated to repair the configuration information.

15. The method according to claim 14, characterized in that, Obtain at least one fault configuration corresponding to the first network device, including: The configuration information is sliced ​​to obtain multiple slice information, which includes configuration plane information, service plane information and control plane information; Error location is performed on each slice of information to obtain at least one incorrect configuration.

16. A network fault diagnosis device, characterized in that, Includes a receiving module and a processing module: The receiving module is used to receive a first border gateway protocol (BGP) message, the first BGP message including a derivation relationship diagram of the network corresponding to the first network device, the derivation relationship diagram being used to indicate the five-tuple information and routing relationship of each network device, the first network device being any network device in the network; The processing module is used to determine the target verification result, which is obtained by verifying the configuration information of the first network device based on the first BGP message.

17. An electronic device, characterized in that, include: Memory and processor The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory, causing the processor to perform the network fault diagnosis method as described in any one of claims 1 to 15.

18. A computer program product comprising a computer program that, when executed by a processor, implements the method for diagnosing network faults as described in any one of claims 1 to 15.