Network verification method and communication system
By using verification packets in IP networks for forwarding relationship verification, the loop problem caused by inconsistent forwarding lists of forwarding devices is solved, ensuring the normal transmission of messages and the stability of the communication system.
Patent Information
- Application Number
- CN202310781991.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-28
- Publication Date
- 2024-12-31
AI Technical Summary
In IP networks, inconsistent forwarding lists of forwarding devices may lead to loop problems and affect the normal transmission of packets.
By introducing verification messages in the communication system, the forwarding device performs forwarding relationship verification based on the destination address and forwarding information of the verification message to ensure the consistency of the forwarding relationship, avoid the formation of a loop, and fail to pass the verification of the forwarding relationship Stop transmitting service messages.
It effectively avoids repeated forwarding of service messages between loops, ensures the normality of service communication, and realizes end-to-end forwarding relationship verification through hop-by-hop update verification packets, simplifying the network verification process.
Smart Images

Figure CN119232628A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of Internet protocol (IP) technology, and in particular to a network verification method and a communication system. Background Art
[0002] In an IP network, routing and forwarding devices (also called forwarding devices) can forward messages according to the forwarding table. To ensure that hop-by-hop forwarding does not form a loop and that messages can be effectively transmitted in the communication system, the network topology and forwarding logic maintained by all forwarding devices in the communication system should be consistent.
[0003] When a link failure or node failure occurs in a communication system, the information about the failure needs to be spread and synchronized throughout the communication system. During the process of routing convergence, the forwarding table in the forwarding device may be inconsistent in the communication system. When the forwarding table is inconsistent, loop problems are likely to occur.
[0004] As mentioned above, loop problems are mainly caused by deviations in the forwarding path and conflicts in the forwarding table entries. Therefore, it is important to verify the forwarding relationship of the forwarding device. Summary of the invention
[0005] The present application provides a network verification method and a communication system. The present application can realize lightweight forwarding relationship verification. The technical solution provided by the present application is as follows:
[0006] In a first aspect, the present application provides a network verification method. The method is applied to a communication system. The communication system includes a forwarding plane, and the forwarding plane includes multiple forwarding devices. The method includes: a first forwarding device receives a verification message sent by a second forwarding device, the verification message carries first forwarding information, and the first forwarding information is used to instruct the first forwarding device to forward the verification message; the first forwarding device obtains the second forwarding information used to forward the verification message based on the destination address of the verification message and the forwarding information recorded by the first forwarding device; the first forwarding device verifies the forwarding relationship of the first forwarding device based on the first forwarding information and the second forwarding information; the first forwarding device transmits a service message based on the forwarding relationship when the forwarding relationship passes the verification, and stops transmitting the service message based on the forwarding relationship when the forwarding relationship fails the verification.
[0007] In the network verification method provided by the present application, a verification message is sent to the first forwarding device through the second forwarding device, and the verification message carries the first forwarding information used by the first forwarding device to forward the verification message. The first forwarding device verifies the forwarding relationship of the first forwarding device based on the first forwarding information and the second forwarding information recorded in its forwarding table, and then determines whether to forward the service message according to the verification result, which can avoid the repeated forwarding of the service message between loops and ensure the normal communication of the service. In addition, by forwarding the verification message and verifying the forwarding relationship according to the first forwarding information carried by the verification message, a lightweight forwarding relationship verification can be achieved, ensuring that the network verification method is simple and easy to implement.
[0008] In one implementation, the method also includes: when the forwarding relationship passes the verification, the first forwarding device updates the first forwarding information carried in the verification message, and sends the updated verification message to the third forwarding device, the updated first forwarding information is used to instruct the third forwarding device to forward the verification message; the third forwarding device obtains the fourth forwarding information used to forward the verification message based on the destination address of the verification message and the forwarding information recorded by the third forwarding device; the third forwarding device verifies the forwarding relationship of the third forwarding device based on the third forwarding information and the fourth forwarding information; when the forwarding relationship passes the verification, the third forwarding device transmits the service message based on the forwarding relationship, and when the forwarding relationship fails the verification, stops transmitting the service message based on the forwarding relationship.
[0009] This method is equivalent to updating the forwarding information in the verification message at each forwarding device. By updating the first forwarding information carried by the verification message hop by hop, end-to-end forwarding relationship verification can be achieved through a verification message on the forwarding path of the verification message.
[0010] Optionally, the method further includes: after any forwarding device verifies its forwarding relationship, adding a verification mark to the forwarding relationship, the verification mark is used to indicate that the forwarding relationship has been verified; when the forwarding relationship of any forwarding device does not have a verification mark, the previous hop forwarding device of any forwarding device sends a verification message to any forwarding device indicating that the forwarding relationship is to be verified. In this way, repeated verification of the forwarding relationship can be avoided.
[0011] The communication system also includes a control plane, and the method further includes: when any forwarding device fails to pass the verification of its forwarding relationship, sending verification feedback indicating that the verification failed to the control plane. When the forwarding relationship of the forwarding device fails to pass the verification, sending verification feedback indicating that the check bit passes to the control plane can facilitate the control plane to execute measures to improve the forwarding relationship of the forwarding device, thereby ensuring normal forwarding of the message.
[0012] In one implementation, the method further includes: the control plane locates the forwarding device having a fault in the communication system based on the verification feedback sent by the forwarding device. In this way, the fault point can be quickly located through the control plane.
[0013] Optionally, the control plane may send a verification instruction to the forwarding device in the forwarding plane it manages to instruct the forwarding device to verify the forwarding relationship of the forwarding device. In one implementation, the verification instruction may indicate that the forwarding relationship of the forwarding device needs to be verified without indicating the verification scope. In another implementation, the verification instruction may also indicate the verification scope, such as indicating the subnet of the forwarding relationship to be verified.
[0014] In one implementation, the first forwarding information in the verification message received by any forwarding device includes: the next hop information of any forwarding device, or the multi-hop information starting from the next hop of any forwarding device. Among them, the multi-hop information starting from the next hop of the forwarding device can at least include the next hop information and the next-next-hop information of the forwarding device. When the forwarding table includes the multi-hop information starting from the next hop of the forwarding device, when the information includes more hops, the more information can be referenced for verifying the forwarding relationship of the forwarding device, which helps to improve the accuracy of verifying the forwarding relationship of the forwarding device.
[0015] In the present application, in addition to verifying the forwarding relationship through the forwarding device, the forwarding relationship can also be verified through the control plane. In one implementation, the communication system also includes multiple control planes, and the multiple control planes include a first control plane and a second control plane. The method also includes: a control plane sends the fifth forwarding information of the first control plane to the second control plane, and the fifth forwarding information is used to indicate the forwarding relationship of the forwarding device managed by the first control plane; the second control plane verifies the sixth forwarding information recorded in the second control plane based on the fifth forwarding information. By verifying the forwarding relationship through the control plane, lightweight verification of the forwarding relationship can be achieved, ensuring that the network verification method is simple and easy to implement.
[0016] In the second aspect, the present application provides a communication system. The communication system includes a forwarding plane, and the forwarding plane includes multiple forwarding devices. The first forwarding device is used to receive a verification message sent by a second forwarding device, and the verification message carries first forwarding information, and the first forwarding information is used to instruct the first forwarding device to forward the verification message; the first forwarding device is also used to obtain the second forwarding information used to forward the verification message based on the destination address of the verification message and the forwarding information recorded by the first forwarding device; the first forwarding device is also used to verify the forwarding relationship of the first forwarding device based on the first forwarding information and the second forwarding information; the first forwarding device is also used to transmit the service message based on the forwarding relationship when the forwarding relationship passes the verification, and stop transmitting the service message based on the forwarding relationship when the forwarding relationship fails the verification.
[0017] Optionally, the first forwarding device is also used to update the first forwarding information carried in the verification message when the forwarding relationship passes the verification, and send the updated verification message to the third forwarding device, the updated first forwarding information being used to instruct the third forwarding device to forward the verification message; the third forwarding device is used to obtain fourth forwarding information used to forward the verification message based on the destination address of the verification message and the forwarding information recorded in the third forwarding device; the third forwarding device is also used to verify the forwarding relationship of the third forwarding device based on the third forwarding information and the fourth forwarding information; the third forwarding device is also used to transmit the service message based on the forwarding relationship when the forwarding relationship passes the verification, and stop transmitting the service message based on the forwarding relationship when the forwarding relationship fails the verification.
[0018] Optionally, any forwarding device is also used to add a verification mark to the forwarding relationship after verifying its forwarding relationship, and the verification mark is used to indicate that the forwarding relationship has been verified; the previous-hop forwarding device of any forwarding device is also used to send a verification message to any forwarding device to instruct the forwarding relationship to be verified when the forwarding relationship does not have a verification mark.
[0019] Optionally, the communication system further includes a control plane; any forwarding device is further configured to send verification feedback indicating that the verification has failed to the control plane when its forwarding relationship has failed the verification.
[0020] Optionally, the control plane is used to locate a failed forwarding device in the communication system based on the verification feedback sent by the forwarding device.
[0021] Optionally, the control plane is also used to send a verification indication to the forwarding device, the verification indication is used to instruct to verify the forwarding relationship of the forwarding device; the forwarding device is also used to send a verification message to the next hop of the forwarding device based on the verification indication to instruct to verify the forwarding relationship of the next hop.
[0022] Optionally, the verification indication is also used to indicate a subnet to be verified.
[0023] Optionally, the first forwarding information in the verification message received by any forwarding device includes: next hop information of any forwarding device, or multi-hop information starting from the next hop of any forwarding device.
[0024] Optionally, the communication system also includes multiple control planes, including a first control plane and a second control plane; the first control plane is also used to send fifth forwarding information of the first control plane to the second control plane, and the fifth forwarding information is used to indicate the forwarding relationship of the forwarding device managed by the first control plane; the second control plane is also used to verify the sixth forwarding information recorded in the second control plane based on the fifth forwarding information.
[0025] In a third aspect, the present application provides a computing device including a memory and a processor, wherein the memory stores program instructions, and the processor runs the program instructions to execute the method provided in the first aspect of the present application and any possible implementation thereof.
[0026] In a fourth aspect, the present application provides a computer cluster comprising at least one computing device, each computing device comprising a processor and a memory, the processor of at least one computing device being used to execute instructions stored in the memory of at least one computing device, so that the computing device cluster executes the method provided in the first aspect of the present application and any possible implementation thereof.
[0027] In a fifth aspect, the present application provides a computer-readable storage medium, which is a non-volatile computer-readable storage medium, and the computer-readable storage medium includes program instructions. When the program instructions are executed on a computing device, the computing device executes the method provided in the first aspect of the present application and any possible implementation thereof.
[0028] In a sixth aspect, the present application provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the method provided in the first aspect of the present application and any possible implementation thereof. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] Figure 1 is a schematic diagram of a communication system involved in a network verification method provided in an embodiment of the present application;
[0030] Figure 2 is a schematic diagram of a forwarding plane provided in an embodiment of the present application;
[0031] Figure 3 is a schematic diagram of a loop provided in an embodiment of the present application;
[0032] Figure 4 is another schematic diagram of a loop provided in an embodiment of the present application;
[0033] Figure 5 is a schematic diagram of another loop provided in an embodiment of the present application;
[0034] Figure 6 This is another schematic diagram of a loop provided in an embodiment of the present application;
[0035] Figure 7 is a schematic diagram of another loop provided in an embodiment of the present application;
[0036] Figure 8 is a flow chart of a network verification method provided by an embodiment of the present application;
[0037] Fig. 9 is a schematic diagram of a network composed of forwarding devices provided in an embodiment of the present application;
[0038] Fig.10 This is a method provided by the embodiment of the present application. Fig. 9 The diagram of the shortest path tree of the network shown is with forwarding device 1 as the root node;
[0039] Fig.11 This is a schematic diagram of a control plane locating a fault point provided by an embodiment of the present application;
[0040] Fig.12 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application;
[0041] Fig.13 It is a structural diagram of a computing device cluster provided in an embodiment of the present application. DETAILED DESCRIPTION
[0042] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.
[0043] The following is an example of a communication system involved in the network verification method provided in an embodiment of the present application.
[0044] Figure 1 Schematic diagram of a communication system involved in a network verification method provided in an embodiment of the present application. Figure 1 As shown, the communication system includes: a control plane 10 and a forwarding plane 20. The control plane 10 includes one or more control devices. The forwarding plane 20 includes multiple forwarding devices. The forwarding device is used to forward the service message so that the service message can be transmitted from the remote end to the destination end. A communication connection can be established between the control plane 10 and the forwarding devices in the forwarding plane 20 through a communication network, and a communication connection can also be established between the forwarding devices through the communication network. For example, Figure 2 As shown, the forwarding plane 20 includes a forwarding device 201, a forwarding device 202, a forwarding device 203, a forwarding device 204 and a forwarding device 205. The forwarding device 201 has communication connections with the forwarding device 202 and the forwarding device 204 respectively through the communication network. The forwarding device 203 has communication connections with the forwarding device 202 and the forwarding device 205 respectively through the communication network. The forwarding device 204 also has a communication connection with the forwarding device 205 through the communication network.
[0045] The communication network of the present application can be applied to various communication systems, such as: global system of mobile communication (GSM), code division multiple access (CDMA) system, wideband code division multiple access wireless (WCDMA), general packet radio service (GPRS), long term evolution (LTE), etc. Optionally, the communication network can also be a local area network, the Internet, or other networks, which are not limited in the embodiments of the present application.
[0046] The control device in the control plane may be a control plane GW-C of a packet data network gateway entity (P-GW) / serving gateway entity (S-GW) under the SAE architecture of a 3GPP evolved network. The forwarding device may be a forwarding plane GW-U of a P-GW / S-GW. It should be noted that the embodiments of the present application are not limited thereto, and the control device and the forwarding device may be a radio network controller (RNC), a serving GPRS support node (SGSN), a gateway GPRS support node (GGSN) in a general packet radio service (GPRS) network, or an evolved base station (evolved node B, eNodeB), S-GW, P-GW, S-GW / P-GW integrated device, etc. in an evolved packet system (EPS) network, after control and forwarding are decoupled.
[0047] Optionally, Figure 1The communication system may also include user equipment (UE), radio access network (RAN), mobility management network element, public data network (PDN) and other equipment. The embodiment of the present application does not limit the number of these network elements. RAN may include access network elements of various systems (for example, GERAN, UTRAN or E-UTRAN), such as RNC, eNodeB, etc. PDN may be in the form of WAP, Internet, VPN, etc., which is not limited by the embodiment of the present application.
[0048] As an embodiment, the control device can be implemented by a general computing platform, and the forwarding device can be implemented by a dedicated router platform. The general computing platform is suitable for processing interface signaling; the signaling processing capability of the dedicated router platform is relatively low, but the efficiency of data forwarding is high. This can simplify the design of the hardware platform, reduce the cost of the hardware platform, and greatly improve the processing performance of the gateway control plane entity and the user plane entity.
[0049] The mobility management network element may be an MME and / or an SGSN, and may be implemented by a general computing platform. Therefore, as another embodiment, the control device and the mobility control network element may be integrated together, such as Figure 1 As shown in the dotted box 17, this can simplify the number of network elements in the system.
[0050] It should be understood that the above content is an illustrative description of the application scenarios of the network verification method provided in the embodiments of the present application, and does not constitute a limitation on the application scenarios of the network verification method. A person of ordinary skill in the art can know that as business needs change, its application scenarios can be adjusted according to application needs, and the embodiments of the present application do not list them one by one.
[0051] In an IP network, routing and forwarding devices (also called forwarding devices) can forward messages according to the forwarding table. To ensure that hop-by-hop forwarding does not form a loop and that messages can be effectively transmitted in the communication system, the network topology and forwarding logic maintained by all forwarding devices in the communication system should be consistent.
[0052] When a link failure or node failure occurs in a communication system, the information about the failure needs to be spread and synchronized throughout the communication system. During the process of routing convergence, the forwarding table in the forwarding device may be inconsistent in the communication system. When the forwarding table is inconsistent, loop problems are likely to occur. The following examples are used to explain the occurrence of loops.
[0053] In the first case, after a fault occurs, a loop occurs after local switching. Figure 3As shown in the figure, when the link from S to D fails, local switching is performed. When S reconverges, the next hop from S to D is refreshed to A, that is, the path from S to D is S→A→B→D. However, since the convergence speed of A is slower than that of S, for A, the next hop from A to D is still S, that is, the path from A to D is A→S→D, so the traffic forms a loop between S and A.
[0054] In the second case, after the fault is restored, a loop occurs after local switchback. Figure 4 As shown in the figure, the link from S to D has returned to normal, that is, the link failure from S to D has been restored. After local switchback, if A converges first, the next hop from A to D points to S, that is, the path from A to D is A→S→D, but S has not completed convergence, and the next hop from S to D is still A, that is, the path from S to D is S→A→B→D. In this way, the traffic forms a loop between S and A.
[0055] In the third case, after a fault occurs, a loop occurs after remote switching. Figure 5 As shown in the figure, the path from S to D was originally S→E→D. When the link from E to D fails, remote switching is performed. If A has not converged yet, the next hop of A still points to S, that is, the path from A to D is A→S→E→D. However, S has converged, and the next hop from S to D is refreshed to A, that is, the path from S to D is S→A→B→C→D. In this way, a loop is formed between S and A.
[0056] In the fourth case, after the fault is restored, a loop occurs after remote switching. Figure 6 As shown in the figure, after the fault is restored, that is, the link from E to D is restored to normal, and remote switchback is performed. The path from S to D is S→E→D. A completes convergence first, and the next hop from A to D points to S, that is, the path from A to D is A→S→E→D. If S has not completed convergence, the next hop of S still points to A, that is, the path from S to D is S→A→B→C→D. In this way, the traffic from S to D forms a loop between S and A.
[0057] In addition to the loops that may occur during routing synchronization, if a silent fault occurs in a device, other devices cannot sense it. In this way, although a loop may not necessarily occur during the forwarding process, the forwarding table is actually not unified. For example, Figure 7 As shown in the figure, the normal path from A to E is A→B→C→E. However, due to a silent failure at C, the cost of the link between CEs becomes 10, and an error occurs in the forwarding table. As a result, after receiving the message, C returns the message to B, causing a loop.
[0058] As we know above, loop problems are mainly caused by deviations in the forwarding path and conflicts in the forwarding table entries. Therefore, it is important to verify the forwarding relationship of the forwarding device.
[0059] An embodiment of the present application provides a network verification method. The method is applied to a communication system, and the communication system includes a forwarding plane 20, and the forwarding plane 20 includes multiple forwarding devices. The method includes: a first forwarding device receives a verification message sent by a second forwarding device, and the verification message carries a first forwarding information, and the first forwarding information is used to indicate the first forwarding information used by the first forwarding device to forward the verification message; the first forwarding device obtains the second forwarding information used to forward the verification message based on the forwarding information recorded by the first forwarding device; the first forwarding device verifies the forwarding relationship of the first forwarding device based on the first forwarding information and the second forwarding information; the first forwarding device transmits a service message based on the forwarding relationship when the forwarding relationship passes the verification, and stops transmitting the service message based on the forwarding relationship when the forwarding relationship fails the verification.
[0060] In this network verification method, a verification message is sent to a first forwarding device through a second forwarding device, and the verification message carries first forwarding information used by the first forwarding device to forward the verification message. The first forwarding device verifies the forwarding relationship of the first forwarding device based on the first forwarding information and the second forwarding information recorded in its forwarding table, and then determines whether to forward the service message based on the verification result, thereby avoiding repeated forwarding of the service message between loops and ensuring normal communication of the service.
[0061] The network verification method provided by the embodiment of the present application is described below. Figure 8 As shown, the network verification method includes the following steps:
[0062] Step 801: A forwarding device in a communication system obtains forwarding information.
[0063] The forwarding device can obtain the forwarding information that guides it to forward the message, and record the forwarding information for query when forwarding the message. For example, during the topology convergence process (such as during the calculation and update process of the shortest path tree (SPT)), the forwarding device can obtain the forwarding table that guides it to forward the message, and record the forwarding table.
[0064] In one implementation, since the forwarding relationship of the forwarding device needs to be verified based on the first forwarding information and the second forwarding information in the present application, and the verification message used for verification carries the first forwarding information, the forwarding information recorded by the forwarding device should include the second forwarding information corresponding to the first forwarding information. Wherein, the first forwarding information is used to instruct the forwarding device to forward the verification message. For example, when the first forwarding information includes the next hop information of the forwarding device, the forwarding table includes the next hop information of the forwarding device. When the first forwarding information includes the information of multiple hops starting from the next hop of the forwarding device, the forwarding table includes the information of multiple hops starting from the next hop of the forwarding device. Wherein, the information of multiple hops starting from the next hop of the forwarding device may at least include the next hop information and the next-next-next hop information of the forwarding device. When the forwarding table includes the information of multiple hops starting from the next hop of the forwarding device, when the number of hops included in the information is more, the more information can be referenced for verifying the forwarding relationship of the forwarding device, which helps to improve the accuracy of verifying the forwarding relationship of the forwarding device.
[0065] In another implementation, the forwarding table may not include the remaining hop information except the next hop information. In this case, the forwarding device can obtain the remaining hop information and establish a mapping relationship between the next hop information, the destination address and the remaining hop information, so that the remaining hop information can be obtained based on the mapping relationship, the next hop information and the destination address. For example, the control plane can not only provide the forwarding device with a forwarding table including the next hop information, but also provide the forwarding device with the remaining hop information, so that the forwarding device can obtain the forwarding table and the remaining hop information from the control plane. For another example, when the forwarding device calculates the SPT, it can not only calculate the next hop information for each destination device, but also calculate the remaining hop information.
[0066] It should be noted that if the forwarding information includes more hops, the overhead of the information will be greater. When implementing this application, the total number of hops included in the multi-hop information starting from the next hop of the forwarding device can be set according to needs to achieve a balance between the overhead and the accuracy of verifying the forwarding relationship.
[0067] Step 802: The control plane sends a verification instruction to the forwarding device, where the verification instruction is used to instruct to verify the forwarding relationship of the forwarding device.
[0068] The control plane may send a verification instruction to the forwarding device in the forwarding plane it manages to instruct the forwarding device to verify the forwarding relationship of the forwarding device. In one implementation, the verification instruction may indicate that the forwarding relationship of the forwarding device needs to be verified without indicating the verification scope. In another implementation, the verification instruction may also indicate the verification scope, such as indicating the subnet of the forwarding relationship to be verified. For example, Fig. 9 A schematic diagram of a network composed of forwarding devices provided in an embodiment of the present application, the Fig. 9 Each circle in the figure represents a forwarding device. Fig. 9 As shown, the control plane can send a verification instruction to any forwarding device in the network, and the verification instruction is used to instruct the forwarding device that receives the verification instruction to verify its own forwarding relationship. Alternatively, the verification instruction can also instruct the forwarding device to verify the forwarding relationship of each forwarding device in the subnet starting from the forwarding device, such as instructing to verify the forwarding relationship of each forwarding device in the subnet starting from forwarding device 2, and the subnet includes forwarding device 2, forwarding device 5, forwarding device 3, forwarding device 8, forwarding device 6 and forwarding device 9. Optionally, the verification process can be performed periodically, or it can be performed according to demand. Accordingly, the control plane can send a verification instruction to the forwarding device periodically or when needed. In addition, the verification instruction sent when needed can also instruct the forwarding device to respond to the verification instruction in real time, or instruct the forwarding device to respond to the verification instruction at a specified time, for example, instructing the forwarding device to respond to the verification instruction periodically.
[0069] Step 803: The second forwarding device sends a verification message to the first forwarding device based on the verification instruction. The verification message carries first forwarding information. The first forwarding information is used to instruct the first forwarding device to forward the verification message.
[0070] After receiving the verification indication, the second forwarding device can send a verification message to the first forwarding device based on the verification indication, so that the first forwarding device can verify the forwarding relationship of the first forwarding device based on the verification message. Among them, the verification message can be a message dedicated to verifying the forwarding system. For example, the verification message can be a message generated by the first forwarding device in the network that sends the verification message. At this time, the destination address of the verification message is the address of the last forwarding device in the network link that needs to be verified. Alternatively, the verification message can be a business message, but the business message carries the first forwarding information in addition to the business data. In one implementation, when the second forwarding device receives the business message, the second forwarding device can insert an extension field into the business message with the packet, and carry the first forwarding information in the extension field. For example, a type of an extension header is added to the Internet Protocol Version 6 (IPv6) message, or a dedicated verification security identifier (SID) is added to the segment routing (Segment Routing IPv6, SRv6) message based on the IPv6 forwarding plane. Alternatively, the second forwarding device may use a reserved field of the service message to carry the first forwarding information in the reserved field. Fig.10 yes Fig. 9 The network shown is the shortest path tree with forwarding device 1 as the root node. Fig.10 As shown, assuming that the destination address of the verification message is the address of forwarding device 9, the first forwarding device is forwarding device 2, and according to the shortest path book, the next hop of forwarding device 2 is forwarding device 5 and forwarding device 3, then the first forwarding information in the extended field of the verification message indicates that the next hop of the first forwarding device is forwarding device 5 and forwarding device 3.
[0071] Optionally, when the check message is not generated by the second forwarding device, such as when the check message is generated by the previous hop of the second forwarding device, or when the check message is a service message, the implementation process of step 803 may be: after receiving the message, the second forwarding device checks whether a check indication is received, and when receiving the check indication, encapsulates the first forwarding information into the message to obtain a check message, and then sends the check message to the first forwarding device. In addition, in the embodiment of the present application, the first forwarding information in the check message received by any forwarding device may include: the next hop information of any forwarding device, or the multi-hop information starting from the next hop of any forwarding device.
[0072] In an embodiment of the present application, the forwarding relationship of a forwarding device refers to the forwarding relationship used by the forwarding device to forward a message to a destination address. In this way, the forwarding relationship of the same forwarding device for different destination addresses is different. When verifying the forwarding relationship, the forwarding device may need to verify different forwarding relationships separately. Moreover, after any forwarding device completes the verification operation of any forwarding relationship, it can add a verification mark to the forwarding relationship to indicate that the forwarding relationship has been verified. Furthermore, after receiving the verification indication, the second forwarding device can determine the forwarding relationship to be verified based on the verification indication, and when the forwarding relationship does not have a verification mark, send a verification message to the first forwarding device so that the first forwarding device can verify the forwarding relationship.
[0073] Step 804: The first forwarding device obtains second forwarding information used to forward the verification message based on the destination address of the verification message and the forwarding information recorded by the first forwarding device.
[0074] After the first forwarding device receives the verification message sent by the second forwarding device, it can obtain the second forwarding information used to forward the verification message according to the destination address of the verification message and the forwarding information recorded by the first forwarding device. The forwarding information recorded by the first forwarding device includes the next hop information and the remaining hop information except the next hop information. When the first forwarding information includes the next hop information of the forwarding device, the second forwarding information includes the next hop information of the forwarding device. When the first forwarding information includes the information of multiple hops starting from the next hop of the forwarding device, the second forwarding information includes the information of multiple hops starting from the next hop of the forwarding device. For example, continuing with Fig.10For example, forwarding device 2 queries the forwarding table recorded in forwarding device 2 based on the destination address of the verification message, and obtains second forwarding information of forwarding device 2, where the second forwarding information indicates that the next hop of forwarding device 2 is forwarding device 5.
[0075] Step 805: The first forwarding device verifies the forwarding relationship of the first forwarding device based on the first forwarding information and the second forwarding information.
[0076] After the first forwarding device obtains the first forwarding information and the second forwarding information, it can verify the forwarding relationship of the first forwarding device to determine whether the forwarding relationship of the first forwarding device is correct. When the forwarding relationship of the first forwarding device passes the verification, it means that the forwarding relationship of the first forwarding device is correct. If the message is forwarded according to the forwarding relationship, the correct forwarding of the message can be achieved. When the forwarding relationship of the first forwarding device fails to pass the verification, it means that the forwarding relationship of the first forwarding device is incorrect. If the message is forwarded according to the forwarding relationship, the correct forwarding of the message cannot be achieved. For example, the incorrect forwarding relationship may cause a loop in the network, resulting in the inability to send the message to the destination address.
[0077] As can be known above, when the first forwarding information includes the next hop information of the forwarding device, the second forwarding information may include the next hop information of the forwarding device. At this time, the implementation process of step 805 includes: comparing the next hop information included in the first forwarding information with the next hop information included in the second forwarding information; when the next hop information included in the first forwarding information is the same as the next hop information included in the second forwarding information, determining that the forwarding relationship of the first forwarding device has passed the verification; when the next hop information included in the first forwarding information is different from the next hop information included in the second forwarding information, determining that the forwarding relationship of the first forwarding device has not passed the verification. Similarly, when the first forwarding information includes multi-hop information starting from the next hop of the forwarding device, and the second forwarding information includes multi-hop information starting from the next hop of the forwarding device, the implementation process of step 805 includes: comparing the multi-hop information included in the first forwarding information with the multi-hop information included in the second forwarding information one by one, and when the multi-hop information included in the first forwarding information and the multi-hop information included in the second forwarding information are both corresponding to each other, it is determined that the forwarding relationship of the first forwarding device has passed the verification, and when at least one of the multi-hop information included in the first forwarding information and the multi-hop information included in the second forwarding information is not corresponding to each other, it is determined that the forwarding relationship of the first forwarding device has not passed the verification. For example, when the first forwarding information includes the next hop information and the next-next-hop information of the first forwarding device, and the second forwarding information also includes the next hop information and the next-next-hop information of the first forwarding device, the next hop information of the first forwarding device in the first forwarding information can be compared with the next hop information of the second forwarding device in the second forwarding information, and the next-next-hop information of the first forwarding device in the first forwarding information can be compared with the next-next-hop information of the second forwarding device in the second forwarding information. When the next hop information of the first forwarding device in the first forwarding information is the same as the next hop information of the second forwarding device in the second forwarding information, and the next next hop information of the first forwarding device in the first forwarding information is the same as the next next hop information of the second forwarding device in the second forwarding information, it is determined that the forwarding relationship of the first forwarding device has passed the verification. When the next hop information of the first forwarding device in the first forwarding information is different from the next hop information of the second forwarding device in the second forwarding information, and / or the next next hop information of the first forwarding device in the first forwarding information is different from the next next hop information of the second forwarding device in the second forwarding information, it is determined that the forwarding relationship of the first forwarding device has not passed the verification.
[0078] Optionally, after the first forwarding device verifies its forwarding relationship, a verification mark may be added to the forwarding relationship, and the verification mark is used to indicate that the forwarding relationship has been verified. Among them, the forwarding relationship of a certain forwarding device refers to the forwarding relationship used by the forwarding device to forward a message to a certain destination address. In this way, the forwarding relationship of the same forwarding device for different destination addresses is different. When verifying the forwarding relationship, the forwarding device may need to verify different forwarding relationships separately. After the forwarding device receives the verification message, it can search for the forwarding relationship corresponding to the destination address according to the destination address of the verification message, and when the forwarding relationship does not have a verification mark, the forwarding relationship is verified based on the verification message to avoid repeated verification.
[0079] Step 806, when the forwarding relationship of the first forwarding device passes the verification, if the first forwarding device is not the destination device of the verification message, the first forwarding information carried by the verification message is updated, and the updated verification message is sent to the third forwarding device. The updated first forwarding information is used to instruct the third forwarding device to forward the verification message. If the first forwarding device is the destination device of the verification message, the verification completion information is sent to the source device of the verification message.
[0080] When the first forwarding device is not the destination device of the verification message, after the forwarding relationship passes the verification, the first forwarding device can update the first forwarding information carried by the verification message to the forwarding information indicating that the next hop (such as the third forwarding device) of the first forwarding device forwards the verification message, and send the verification message after updating the first forwarding information to the next hop of the first forwarding device, so that the next hop of the first forwarding device can verify its forwarding relationship based on the verification message. It should be noted that when the first forwarding device is the penultimate hop of the verification message, the first forwarding device can update the first forwarding information to the specified information (such as FF) to indicate that the first forwarding device is the penultimate hop of the verification message. Among them, the way in which the first forwarding device adds the first forwarding information to the verification message can refer to the way in which the second forwarding device adds the first forwarding information to the verification message, which will not be repeated here. In addition, the first forwarding device can also determine whether to send the verification message to the next hop based on the verification indication and the verification mark, and its implementation method can also refer to the relevant content in step 803, which will not be repeated here. When the first forwarding device is the destination device of the verification message, after receiving the verification message, the first forwarding device will find that the destination address of the verification message is its own address, and then send a verification completion message to the source device of the verification message to indicate that the verification of all forwarding relationships used by the verification message is completed. Fig.10For example, the second forwarding information of forwarding device 2 indicates that the next hop of forwarding device 2 is forwarding device 5, and the first forwarding information indicates that the next hop of forwarding device 2 is forwarding device 5 and forwarding device 3. If forwarding device 5 can be matched, it means that the forwarding relationship including forwarding device 5 is correct. If forwarding device 5 is not the destination device of the verification message, the first forwarding information carried by the verification message can be updated, and the updated verification message can be sent to forwarding device 5.
[0081] It should be noted that when the forwarding relationship passes the verification, the first forwarding device can determine that the forwarding relationship is correct. Then, when the first forwarding device receives the service message, it can transmit the service message based on the forwarding relationship.
[0082] This method is equivalent to updating the forwarding information in the verification message at each forwarding device. By updating the first forwarding information carried by the verification message hop by hop, end-to-end forwarding relationship verification can be achieved through a verification message on the forwarding path of the verification message.
[0083] Step 807: When the forwarding relationship of the first forwarding device fails to pass the verification, the first forwarding device sends a verification feedback indicating that the verification fails to the control plane.
[0084] When the forwarding relationship fails to pass the verification, the first forwarding device can send an indication verification feedback to the control plane, so that the control plane can perform corresponding measures based on the verification feedback. In addition, when the forwarding relationship fails to pass the verification, the first forwarding device can determine that the forwarding relationship is incorrect. Then, when the first forwarding device receives a service message, it is not necessary to forward the service message based on the forwarding relationship, that is, it stops transmitting the service message based on the forwarding relationship and discards the service message.
[0085] Step 808: The third forwarding device obtains fourth forwarding information used to forward the verification message based on the destination address of the verification message and the forwarding information recorded by the third forwarding device.
[0086] For the implementation process of this step, please refer to the implementation process of step 804, which will not be repeated here.
[0087] Step 809: The third forwarding device verifies the forwarding relationship of the third forwarding device based on the third forwarding information and the fourth forwarding information.
[0088] For the implementation process of this step, please refer to the implementation process of step 805, which will not be repeated here.
[0089] Step 810, when the forwarding relationship of the third forwarding device passes the verification, if the third forwarding device is not the destination device of the verification message, the first forwarding information carried by the verification message is updated, and the updated verification message is sent to the next-hop device of the third forwarding device, and the updated first forwarding information is used to instruct the next-hop device of the third forwarding device to forward the verification message using the fourth forwarding information; if the third forwarding device is the destination device of the verification message, the verification completion information is sent to the source device of the verification message, and so on, until the verification message is sent to the destination device of the verification message.
[0090] The implementation process of this step is referred to the implementation process of step 806, which will not be described here. In addition, when the forwarding relationship passes the verification, the third forwarding device can determine that the forwarding relationship is correct, and when the third forwarding device receives the service message, it can transmit the service message based on the forwarding relationship.
[0091] Step 811: When the forwarding relationship of the third forwarding device fails to pass the verification, the third forwarding device sends a verification feedback indicating that the verification fails to the control plane.
[0092] When the forwarding relationship fails to pass the verification, the third forwarding device can send an indication verification feedback to the control plane, so that the control plane can perform corresponding measures based on the verification feedback. In addition, when the forwarding relationship fails to pass the verification, the third forwarding device can determine that the forwarding relationship is incorrect. Then, when the third forwarding device receives a service message, it is not necessary to forward the service message based on the forwarding relationship, that is, it stops transmitting the service message based on the forwarding relationship and discards the service message.
[0093] Step 812: The control plane locates the failed forwarding device in the communication system based on the verification feedback sent by the forwarding device.
[0094] After the control plane receives the verification feedback sent by the forwarding device in the communication system, it can summarize all the verification feedback to obtain the forwarding device that has failed in the communication system. In one implementation, when multiple forwarding relationships of a certain forwarding device fail to pass the verification, it can be determined that the forwarding device has failed. Alternatively, when the forwarding relationships that fail to pass the verification are concentrated in a certain forwarding device, it is determined that the forwarding device has failed. For example, Fig.11As shown in the figure, during the forwarding process from A to G, the link from C to D fails, but node F does not perceive synchronization. According to its forwarding table, F believes that the next hop of F is C, but the check message indicates that the next hop of F is G. After checking, F finds that the information of the two is inconsistent. F sends a check feedback indicating that the check failed to the control plane, and the control plane identifies that the possible fault point is E or F. During the forwarding process from F to G, the check message sent by F to C indicates that the next hop of C is D. After receiving the message, the C node finds that the next hop recorded in its forwarding table is actually B. After checking, it finds that the information of the two is inconsistent. C sends a check feedback indicating that the check failed to the control plane, and the control plane identifies that the possible fault point is F or C. Similarly, there are nodes on other paths that report inconsistent information. The control plane summarizes the fault reporting information and finds that the error point is concentrated on F, so it can be determined that the fault point is F. Therefore, through the centralized reporting method, the control plane can quickly determine the fault range and possible fault points by performing multi-point analysis on the reported information, and realize the rapid location of the fault point.
[0095] In an embodiment of the present application, in addition to verifying the forwarding relationship through the forwarding device, the forwarding relationship can also be verified through the control plane. In one implementation, when the communication system also includes multiple control planes, assuming that the multiple control planes include a first control plane and a second control plane, the network verification method provided in the embodiment of the present application also includes: the first control plane sends the fifth forwarding information of the first control plane to the second control plane, and the fifth forwarding information is used to indicate the forwarding relationship of the forwarding device managed by the first control plane; the second control plane verifies the sixth forwarding information recorded by the second control plane based on the fifth forwarding information. For example, after the first control plane obtains the shortest path tree used by the forwarding device managed by it to forward the message to the destination address, it can send the shortest path tree to the second control plane. After the second control plane receives the shortest path tree, it matches the shortest path tree with the shortest path tree recorded by the second control plane. When the shortest path tree sent by the first control plane matches the shortest path tree sent by the second control plane, it is determined that the forwarding relationship indicated by the shortest path tree recorded by the second control plane is correct. Among them, matching the shortest path tree sent by the first control plane with the shortest path tree recorded by the second control plane means matching the forwarding relationship used by the forwarding message to the specified destination address recorded in the shortest path tree sent by the first control plane with the forwarding relationship used by the forwarding message to the specified destination address recorded in the shortest path tree recorded by the second control plane. When the forwarding paths indicated by the two forwarding relationships are the same, it is determined that the shortest path tree sent by the first control plane matches the shortest path tree sent by the second control plane. There can be one or more forwarding devices managed by the control plane. For example, when the control plane is implemented by a controller, one controller can manage one forwarding device. By verifying the forwarding relationship through the control plane, lightweight forwarding relationship verification can be achieved, ensuring that the network verification method is simple and easy to implement.
[0096] As can be seen from the above, in the network verification method provided in the embodiment of the present application, a verification message is sent to the first forwarding device through the second forwarding device, and the verification message carries the first forwarding information used by the first forwarding device to forward the verification message. The first forwarding device verifies the forwarding relationship of the first forwarding device based on the first forwarding information and the second forwarding information recorded in its forwarding table, and then determines whether to forward the service message according to the verification result, which can avoid the repeated forwarding of the service message between loops and ensure the normal communication of the service. In addition, by forwarding the verification message and verifying the forwarding relationship according to the first forwarding information carried by the verification message, a lightweight forwarding relationship verification can be achieved, ensuring that the network verification method is simple and easy to implement.
[0097] It should be noted that the sequence of steps of the network verification method provided in the embodiment of the present application can be adjusted appropriately, and the steps can be increased or decreased accordingly according to the situation. Any technician familiar with the technical field can easily think of a change within the technical scope disclosed in this application, which should be included in the protection scope of this application, so it will not be repeated.
[0098] The network verification method of the embodiment of the present application is described above. Corresponding to the above method, the embodiment of the present application also provides a communication system. Please refer to the structural diagram of the communication system Figure 1 .based on Figure 1 As shown in the following multiple devices, the Figure 1 The communication system shown is capable of performing the above Figure 8 It should be understood that the communication system may include more devices than those shown or omit some of the devices shown, and the embodiments of the present application are not limited to this. Figure 1 As shown, the communication system includes: a forwarding plane, which includes multiple forwarding devices.
[0099] The first forwarding device is used to receive a verification message sent by the second forwarding device, the verification message carries first forwarding information, and the first forwarding information is used to instruct the first forwarding device to forward the verification message; the first forwarding device is also used to obtain second forwarding information used to forward the verification message based on the destination address of the verification message and the forwarding information recorded by the first forwarding device; the first forwarding device is also used to verify the forwarding relationship of the first forwarding device based on the first forwarding information and the second forwarding information; the first forwarding device is also used to transmit the service message based on the forwarding relationship when the forwarding relationship passes the verification, and stop transmitting the service message based on the forwarding relationship when the forwarding relationship fails the verification.
[0100] Optionally, the first forwarding device is also used to update the first forwarding information carried in the verification message when the forwarding relationship passes the verification, and send the updated verification message to the third forwarding device, the updated first forwarding information being used to instruct the third forwarding device to forward the verification message; the third forwarding device is used to obtain fourth forwarding information used to forward the verification message based on the destination address of the verification message and the forwarding information recorded in the third forwarding device; the third forwarding device is also used to verify the forwarding relationship of the third forwarding device based on the third forwarding information and the fourth forwarding information; the third forwarding device is also used to transmit the service message based on the forwarding relationship when the forwarding relationship passes the verification, and stop transmitting the service message based on the forwarding relationship when the forwarding relationship fails the verification.
[0101] Optionally, any forwarding device is also used to add a verification mark to the forwarding relationship after verifying its forwarding relationship, and the verification mark is used to indicate that the forwarding relationship has been verified; the previous-hop forwarding device of any forwarding device is also used to send a verification message to any forwarding device to instruct the forwarding relationship to be verified when the forwarding relationship does not have a verification mark.
[0102] Optionally, the communication system further includes a control plane; any forwarding device is further configured to send verification feedback indicating that the verification has failed to the control plane when its forwarding relationship has failed the verification.
[0103] Optionally, the control plane is used to locate a failed forwarding device in the communication system based on the verification feedback sent by the forwarding device.
[0104] Optionally, the control plane is also used to send a verification indication to the forwarding device, the verification indication is used to instruct to verify the forwarding relationship of the forwarding device; the forwarding device is also used to send a verification message to the next hop of the forwarding device based on the verification indication to instruct to verify the forwarding relationship of the next hop.
[0105] Optionally, the verification indication is also used to indicate a subnet to be verified.
[0106] Optionally, the first forwarding information in the verification message received by any forwarding device includes: next hop information of any forwarding device, or multi-hop information starting from the next hop of any forwarding device.
[0107] Optionally, the communication system also includes multiple control planes, including a first control plane and a second control plane; the first control plane is also used to send fifth forwarding information of the first control plane to the second control plane, and the fifth forwarding information is used to indicate the forwarding relationship of the forwarding device managed by the first control plane; the second control plane is also used to verify the sixth forwarding information recorded in the second control plane based on the fifth forwarding information.
[0108] In summary, in the communication system provided in the embodiment of the present application, a verification message is sent to the first forwarding device through the second forwarding device, and the verification message carries the first forwarding information used by the first forwarding device to forward the verification message. The first forwarding device verifies the forwarding relationship of the first forwarding device based on the first forwarding information and the second forwarding information recorded in its forwarding table, and then determines whether to forward the service message according to the verification result, which can avoid the repeated forwarding of the service message between loops and ensure the normal communication of the service. In addition, by forwarding the verification message and verifying the forwarding relationship according to the first forwarding information carried by the verification message, a lightweight forwarding relationship verification can be achieved, ensuring that the network verification is simple and easy to implement.
[0109] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described devices and modules can refer to the corresponding contents in the aforementioned method embodiments and will not be repeated here.
[0110] The embodiment of the present application provides a computing device, which is used to implement part or all of the functions of any device in the network verification method provided in the embodiment of the present application. Fig.12 Schematic diagram of a computing device provided in an embodiment of the present application. Fig.12 As shown, the computing device 1200 includes a processor 1201, a memory 1202, a communication interface 1203 and a bus 1204. The processor 1201, the memory 1202 and the communication interface 1203 are connected to each other through the bus 1204.
[0111] Processor 1201 may include a general processor and / or a dedicated hardware chip. A general processor may include: a central processing unit (CPU), a microprocessor or a graphics processing unit (GPU). The CPU is, for example, a single-core processor (single-CPU) or a multi-core processor (multi-CPU). A dedicated hardware chip is a hardware module for high-performance processing. A dedicated hardware chip includes at least one of a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or a network processor (NP). Processor 1201 may also be an integrated circuit chip with signal processing capabilities. In the implementation process, part or all of the functions of any device in the network verification method of the present application can be completed by the hardware integrated logic circuit in the processor 1201 or instructions in the form of software.
[0112] The memory 1202 is used to store computer programs, and the computer programs include an operating system 1202a and executable codes (i.e., program instructions) 1202b. The memory 1202 is, for example, a read-only memory or other types of static storage devices that can store static information and instructions, or a random access memory or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory, a read-only optical disc or other optical disc storage, an optical disc storage (including a compressed optical disc, a laser disc, an optical disc, a digital versatile disc, a blue-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired executable code in the form of an instruction or data structure and can be accessed by a computer, but is not limited thereto. For example, the memory 1202 is used to store an outbound port queue, etc. The memory 1202 is, for example, independent and connected to the processor 1201 via a bus 1204. Or the memory 1202 and the processor 1201 are integrated together. The memory 1202 can store executable code. When the executable code stored in the memory 1202 is executed by the processor 1201, the processor 1201 is used to execute part or all of the functions of any device in the network verification method provided in the embodiment of the present application. For the implementation of the processor 1201 to execute the process, please refer to the relevant description in the aforementioned embodiment. The memory 1202 may also include software modules and data required for other running processes such as the operating system.
[0113] The communication interface 1203 uses a transceiver module such as, but not limited to, a transceiver to achieve communication with other devices or communication networks. For example, the communication interface 1203 can be any one or any combination of the following devices: a network interface (such as an Ethernet interface), a wireless network card, and other devices with network access functions.
[0114] The bus 1204 is any type of communication bus for interconnecting the internal devices of the computing device (e.g., the memory 1202, the processor 1201, and the communication interface 1203). For example, a system bus. The embodiment of the present application takes the interconnection of the above-mentioned devices inside the computing device through the bus 1204 as an example. Optionally, the above-mentioned devices inside the computing device 1200 can also be connected to each other in communication with each other using other connection methods other than the bus 1204. For example, the above-mentioned devices inside the computing device 1200 are interconnected through an internal logical interface.
[0115] It should be noted that the above-mentioned multiple devices can be respectively arranged on independent chips, or at least partially or completely arranged on the same chip. Whether to independently arrange each device on different chips or to integrate and arrange it on one or more chips often depends on the needs of product design. The embodiments of the present application do not limit the specific implementation form of the above-mentioned devices. The descriptions of the processes corresponding to the above-mentioned figures have different focuses. For the parts not described in detail in a certain process, please refer to the relevant descriptions of other processes.
[0116] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware, or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product. The computer program product providing a program development platform includes one or more computer instructions, and when these computer program instructions are loaded and executed on a computing device, all or part of the functions of any device in the network verification method provided in the embodiments of the present application are implemented.
[0117] Furthermore, computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, computer instructions may be transmitted from one website, computer, server or data center to another website, computer, server or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium stores computer program instructions that provide a program development platform.
[0118] The embodiment of the present application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.
[0119] Optionally, the structure of at least one computing device included in the computing device cluster can be found in Figure 1 The computing device 1200 shown. The memory 1202 in one or more computing devices 1200 in the computing device cluster may store the same instructions for implementing the functions of any device in the network verification method.
[0120] In some possible implementations, the memory 1202 of one or more computing devices 1200 in the computing device cluster may also store partial instructions for executing the network verification method. In other words, the combination of one or more computing devices 1200 can jointly execute instructions for executing the network verification method. It should be noted that the memory 1202 in different computing devices 1200 in the computing device cluster can store different instructions, which are respectively used to execute partial functions of the communication system. In some possible implementations, one or more computing devices in the computing device cluster can be connected via a network. Among them, the network can be a wide area network or a local area network, etc. Fig.13 A possible implementation is shown. Fig.13 As shown, two computing devices 1300A and 1300B are connected via a network. Specifically, they are connected to the network via a communication interface in each computing device. In this type of possible implementation, computing devices 1300A and 1300B include a bus 1302, a processor 1304, a memory 1306, and a communication interface 1308.
[0121] It should be understood that Fig.13 The function of the computing device 1300A shown in the figure can also be completed by multiple computing devices 1300. Similarly, the function of the computing device 1300B can also be completed by multiple computing devices 1300. And the deployment mode of the module for implementing the network verification method in the computing device can also be adjusted according to the application requirements.
[0122] An embodiment of the present application also provides a computer-readable storage medium, which is a non-volatile computer-readable storage medium. The computer-readable storage medium includes program instructions. When the program instructions are executed on a computing device, the computing device implements the network verification method provided in the embodiment of the present application.
[0123] The embodiment of the present application also provides a computer program product including instructions. When the computer program product is executed on a computer, the computer implements the network verification method provided by the embodiment of the present application.
[0124] A person skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware or by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.
[0125] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, stored data, displayed data, etc.) and signals involved in this application are all authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions. For example, the networking information and link status involved in this application are all obtained with full authorization.
[0126] In the embodiments of the present application, the terms "first", "second" and "third" are used for descriptive purposes only and are not to be understood as indicating or implying relative importance. The term "at least one" means one or more, and the term "plurality" means two or more, unless otherwise expressly defined.
[0127] The term "and / or" in this application is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.
[0128] The above description is only an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the concept and principle of the present application shall be included in the protection scope of the present application.
Claims
1. A network verification method, characterized in that: The method is applied to a communication system, the communication system includes a forwarding plane, the forwarding plane includes a plurality of forwarding devices, and the method includes: The first forwarding device receives a verification message sent by the second forwarding device, where the verification message carries first forwarding information, and the first forwarding information is used to instruct the first forwarding device to forward the verification message; The first forwarding device acquires second forwarding information used for forwarding the verification message based on the destination address of the verification message and the forwarding information recorded by the first forwarding device; The first forwarding device verifies the forwarding relationship of the first forwarding device based on the first forwarding information and the second forwarding information; The first forwarding device transmits the service message based on the forwarding relationship when the forwarding relationship passes the verification, and stops transmitting the service message based on the forwarding relationship when the forwarding relationship fails the verification.
2. The method according to claim 1, characterized in that The method further comprises: When the forwarding relationship passes the verification, the first forwarding device updates the first forwarding information carried in the verification message, and sends the updated verification message to the third forwarding device, where the updated first forwarding information is used to instruct the third forwarding device to forward the verification message; The third forwarding device acquires fourth forwarding information used to forward the verification message based on the destination address of the verification message and the forwarding information recorded by the third forwarding device; The third forwarding device verifies the forwarding relationship of the third forwarding device based on the third forwarding information and the fourth forwarding information; The third forwarding device transmits the service message based on the forwarding relationship when the forwarding relationship passes the verification, and stops transmitting the service message based on the forwarding relationship when the forwarding relationship fails the verification.
3. The method according to claim 1 or 2, characterized in that The method further comprises: After any forwarding device verifies its forwarding relationship, it adds a verification mark to the forwarding relationship, and the verification mark is used to indicate that the forwarding relationship has completed verification; When the forwarding relationship does not have the verification mark, the previous-hop forwarding device of any forwarding device sends a verification message instructing to verify the forwarding relationship to the any forwarding device.
4. The method according to any one of claims 1 to 3, characterized in that: The communication system further includes a control plane, and the method further includes: When any forwarding device fails to pass the verification of its forwarding relationship, it sends a verification feedback indicating that the verification has failed to the control plane.
5. The method according to claim 4, characterized in that The method further comprises: The control plane locates a failed forwarding device in the communication system based on the verification feedback sent by the forwarding device.
6. The method according to claim 4 or 5, characterized in that The method further comprises: The control surface sends a verification instruction to the forwarding device, where the verification instruction is used to instruct to verify the forwarding relationship of the forwarding device; Based on the verification instruction, the forwarding device sends a verification message to the next hop of the forwarding device, instructing to verify the forwarding relationship of the next hop.
7. The method according to claim 6, characterized in that The verification indication is also used to indicate the subnet to be verified.
8. The method according to any one of claims 1 to 7, characterized in that: The first forwarding information in the verification message received by any forwarding device includes: the next hop information of any forwarding device, or the multi-hop information starting from the next hop of any forwarding device.
9. The method according to any one of claims 1 to 8, characterized in that: The communication system further includes a plurality of control planes, the plurality of control planes including a first control plane and a second control plane, and the method further includes: The first control plane sends fifth forwarding information of the first control plane to the second control plane, where the fifth forwarding information is used to indicate a forwarding relationship of a forwarding device managed by the first control plane; The second control plane verifies the sixth forwarding information recorded in the second control plane based on the fifth forwarding information.
10. A communication system, characterized in that: The communication system includes a forwarding plane, and the forwarding plane includes a plurality of forwarding devices; The first forwarding device is used to receive a verification message sent by the second forwarding device, where the verification message carries first forwarding information, and the first forwarding information is used to instruct the first forwarding device to forward the verification message; The first forwarding device is further configured to obtain second forwarding information used to forward the verification message based on the destination address of the verification message and the forwarding information recorded by the first forwarding device; The first forwarding device is further used to verify the forwarding relationship of the first forwarding device based on the first forwarding information and the second forwarding information; The first forwarding device is further configured to transmit a service message based on the forwarding relationship when the forwarding relationship passes the verification, and stop transmitting the service message based on the forwarding relationship when the forwarding relationship fails the verification.
11. The communication system according to claim 10, characterized in that The first forwarding device is further used to update the first forwarding information carried in the verification message when the forwarding relationship passes the verification, and send the updated verification message to the third forwarding device, where the updated first forwarding information is used to instruct the third forwarding device to forward the verification message; The third forwarding device is used to obtain fourth forwarding information used for forwarding the verification message based on the destination address of the verification message and the forwarding information recorded by the third forwarding device; The third forwarding device is further used to verify the forwarding relationship of the third forwarding device based on the third forwarding information and the fourth forwarding information; The third forwarding device is further configured to transmit the service message based on the forwarding relationship when the forwarding relationship passes the verification, and stop transmitting the service message based on the forwarding relationship when the forwarding relationship fails the verification.
12. The communication system according to claim 10 or 11, characterized in that: Any forwarding device is further used to add a verification mark to the forwarding relationship after verifying the forwarding relationship, and the verification mark is used to indicate that the forwarding relationship has completed verification; The previous-hop forwarding device of any forwarding device is further configured to send a verification message instructing to verify the forwarding relationship to any forwarding device when the forwarding relationship does not have the verification mark.
13. The communication system according to any one of claims 10 to 12, characterized in that: The communication system also includes a control plane; Any forwarding device is further configured to send verification feedback indicating that the verification has failed to the control plane when its forwarding relationship has failed the verification.
14. The communication system according to claim 13, characterized in that The control plane is used to locate a failed forwarding device in the communication system based on the verification feedback sent by the forwarding device.
15. The communication system according to claim 13 or 14, characterized in that: The control plane is further used to send a verification instruction to the forwarding device, where the verification instruction is used to instruct to verify the forwarding relationship of the forwarding device; The forwarding device is further configured to send, based on the verification instruction, to a next hop of the forwarding device a verification message instructing to verify a forwarding relationship of the next hop.
16. The communication system according to claim 15, characterized in that The verification indication is also used to indicate the subnet to be verified.
17. The communication system according to any one of claims 10 to 16, characterized in that: The first forwarding information in the verification message received by any forwarding device includes: the next hop information of any forwarding device, or the multi-hop information starting from the next hop of any forwarding device.
18. The communication system according to any one of claims 10 to 17, characterized in that: The communication system further includes a plurality of control planes, the plurality of control planes including a first control plane and a second control plane; The first control plane is further used to send fifth forwarding information of the first control plane to the second control plane, where the fifth forwarding information is used to indicate a forwarding relationship of a forwarding device managed by the first control plane; The second control plane is further used to verify the sixth forwarding information recorded in the second control plane based on the fifth forwarding information.
19. A computing device cluster, characterized in that: The method comprises at least one computing device, each computing device comprises a processor and a memory, and the processor of the at least one computing device is used to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method according to any one of claims 1 to 9.
20. A computer program product comprising instructions, characterized in that When the instructions are executed by a computing device cluster, the computing device cluster executes the method according to any one of claims 1 to 9.
21. A computer-readable storage medium, characterized in that: The method comprises computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster performs the method according to any one of claims 1 to 9.
