Message transmission method, device and system
By using a consistent identification list in the detection message and response message in the communication system, the problem of low path fault detection accuracy is solved, and higher fault detection accuracy and user experience is achieved.
Patent Information
- Application Number
- CN202110267901.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-12-21
- Filing Date
- 2021-03-11
- Publication Date
- 2025-01-17
- Estimated Expiration
- 2041-03-11
AI Technical Summary
The accuracy of path failure detection in existing communication systems is low, which may be misjudged as normal when path failure occurs, resulting in business interruption and user experience degradation.
By carrying identification lists in the detection message and response message, we ensure that the transmission path of the response message is consistent with the transmission path of the detection message, and use these identification lists to determine whether the path is faulty and improve the accuracy of fault detection.
It improves the accuracy of path failure detection, reduces the probability of business interruption caused by switching paths when there is no fault, and improves user experience.
Smart Images

Figure CN114726754B_ABST
Abstract
Description
[0001] This application claims priority to Chinese patent application No. 202011517278.8, filed on December 21, 2020, and entitled “A method, device and system for sending a message”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of communication technology, and in particular to a message transmission method, device and system. Background Art
[0003] With the development of communication technology, tunnel technology has been widely used in communication systems. Communication systems usually include multiple nodes, and nodes can use tunnel technology to transmit messages along the path of the tunnel. In order to ensure that the message can be transmitted smoothly on the path, the head node of the path needs to detect faults on the path.
[0004] For example, taking path 1 from node A to node B as an example, when node A detects path 1, it can send a detection message to node B along path 1. After receiving the detection message, node B will determine the shortest path (path 2) from node B to node A according to the Internet Protocol (IP) routing, and send a response message of the detection message to node A along path 2. If node A receives the response message within the time threshold after sending the detection message, node A determines that path 1 is not faulty, and can continue to transmit messages on path 1 later. If node A does not receive the response message within the time threshold after sending the detection message, node A determines that path 1 is faulty, and will not transmit messages on path 1 later.
[0005] However, since the path 2 of the response message transmission may be different from the path 1 that needs to be detected, when path 1 is not faulty and path 2 is faulty, node A cannot receive the response message within the time threshold after sending the detection message. At this time, node A will determine that path 1 is faulty, and such a detection result does not match the actual situation. Therefore, the accuracy of path fault detection is low. Summary of the invention
[0006] The present application provides a message transmission method, device and system, which can solve the problem of low accuracy of path fault detection. The technical solution is as follows:
[0007] In a first aspect, a message transmission method is provided, the method comprising: after receiving a detection message, a first node obtains and sends a response message to the detection message. The detection message carries a first identifier list, the first identifier list is used to indicate a first path from a second node to the first node, and the first identifier list includes: a first identifier of a first intermediate node on the first path; the response message carries a second identifier list, the second identifier list is obtained by the first node according to the first identifier list, the second identifier list is used to indicate a second path from the first node to the second node, and the second identifier list includes the first identifier.
[0008] When both the first identifier list and the second identifier list include the first identifier of the first intermediate node, the first path and the second path both pass through the first intermediate node indicated by the first identifier, and the head and tail nodes of the first path and the second path are opposite, so the second path is more consistent with the first path. Therefore, the transmission path of the response message is more consistent with the transmission path of the detection message, the transmission status of the response message is more consistent with the transmission status of the detection message, the transmission status of the response message can reflect the fault status of the first path, and the second node determines whether the first path is faulty based on the response message with higher accuracy.
[0009] Furthermore, since the second node determines whether the first path is faulty with high accuracy, the probability of service interruption caused by the second node switching the path when the first path is not faulty is reduced, thereby improving user experience.
[0010] The path in the embodiment of the present application may be a path of a tunnel or may not be a path of a tunnel, and the embodiment of the present application does not limit this. Among them, the tunnel may be any type of tunnel, for example, a tunnel based on the Segment Routing Internet Protocol version 6 policy (SRv6 policy), a Segment Routing Traffic Engineering Tunnel (SR-TE Tunnel), or a best-effort segment routing (Segment Routing Best Effort policy, SR-BE), etc. When the first path is the path of a tunnel, the first identification list may be a segment routing list (segment list).
[0011] Optionally, the detection message carries: an operation code, and the operation code is used to indicate: generate a response message carrying a list of identifiers indicating that the path is consistent with the first path and in the opposite direction; the first node can generate the response message when the detection message carries the operation code. When the detection message carries the operation code, the first node can generate a response message according to the instruction of the operation code, so that the efficiency of the first node in generating a response message after receiving the detection message can be improved. The detection message may not carry an operation code, and this application does not limit this. It should be noted that in this application, the first path is consistent with the second path, and the consistency here can be strict consistency, such as the nodes passed by the first path and the second path are exactly the same, and the consistency here can also be non-strict consistency, such as the nodes passed by the first path and the second path are only partially the same.
[0012] Optionally, the first identifier list includes: identifiers of multiple intermediate nodes on the first path; the second identifier list also includes: identifiers of the multiple intermediate nodes; the arrangement order of the identifiers of the multiple intermediate nodes in the second identifier list is opposite to the arrangement order of the identifiers of the multiple intermediate nodes in the first identifier list. In this case, the consistency between the first path and the second path is further improved, and the accuracy of the second node in determining whether the first path is faulty based on the response message is also further improved.
[0013] The above-mentioned multiple intermediate nodes may be some or all of the intermediate nodes on the first path, which is not limited in this application. Optionally, the multiple intermediate nodes include: other nodes in the first path except the first node and the second node. In this case, the consistency between the first path and the second path is relatively high.
[0014] Optionally, when the first node obtains a response message to the detection message, it can obtain the second identifier list in reverse order based on the identifiers of the multiple intermediate nodes included in the first identifier list, and then encapsulate the second identifier list into the response message.
[0015] Optionally, the first identifier includes: the identifier of the port or link through which the first intermediate node receives the detection message. Alternatively, the first identifier may also be the node identifier of the first intermediate node, which is not limited in the present application. It should be noted that when the first identifier includes: the identifier of the port or link through which the first intermediate node receives the detection message, the first intermediate node may send a response message from the port or link in the first intermediate node when sending a response message. In this way, it is ensured that the port or link through which the first intermediate node receives the detection message and sends the response message is the same, thereby further improving the consistency between the transmission path of the detection message and the transmission path of the response message.
[0016] When the first identifier in the detection message received by the first node is the identifier of the port or link of the first intermediate node, the identifier of the first intermediate node in the detection message sent by the second node may be different from the first identifier. After receiving the detection message, the first intermediate node needs to update the identifier of the first intermediate node in the detection message to the above-mentioned first identifier.
[0017] Optionally, the second identifier list may also include the identifier of the second node. When the second identifier list includes the identifier of the second node, the identifier of the second node may be obtained by the first node in any manner. By way of example, the detection message also carries the address of the second node, and the first node may determine the identifier of the second node based on the address of the second node before obtaining the response message. The first node may store a correspondence between the address and the identifier of the node, and the first node may determine the identifier of the second node corresponding to the address of the second node based on the correspondence.
[0018] Optionally, the detection message includes a first segment routing header (Segment Routing Header, SRH), the first SRH carries the first identifier list; the response message includes a second SRH, the second SRH carries the second identifier list. Alternatively, the detection message includes a first load part, the first load part carries the first identifier list; the response message includes a second load part, the second load part carries the second identifier list.
[0019] Optionally, the detection message is a Seamless Bidirectional Forwarding Detection (SBFD) message. The detection message may also be other types of messages, which are not limited in the present application.
[0020] In the second aspect, a message transmission method is provided, the method comprising: a second node generates a detection message, and sends the detection message to a first node. The detection message carries a first identifier list, the first identifier list is used to indicate a first path from the second node to the first node, and the first identifier list includes: an initial identifier of a first intermediate node on the first path. The detection message is used to indicate the first node: obtain a response message to the detection message, the response message carries a second identifier list; the second identifier list is obtained by the first node according to the first identifier list, the second identifier list is used to indicate a second path from the first node to the second node, and the second identifier list includes: the first identifier of the first intermediate node.
[0021] When both the first identifier list and the second identifier list include the first identifier of the first intermediate node, the first path and the second path both pass through the first intermediate node indicated by the first identifier, and the head and tail nodes of the first path and the second path are opposite, so the second path is more consistent with the first path. Therefore, the transmission path of the response message is more consistent with the transmission path of the detection message, the transmission status of the response message is more consistent with the transmission status of the detection message, the transmission status of the response message can reflect the fault status of the first path, and the second node determines whether the first path is faulty based on the response message with higher accuracy.
[0022] Furthermore, since the second node determines whether the first path is faulty with high accuracy, the probability of service interruption caused by the second node switching the path when the first path is not faulty is reduced, thereby improving user experience.
[0023] Optionally, the detection message carries: an operation code; the operation code is used to indicate: generating a response message carrying a list of identifiers indicating paths that are consistent with the first path and in the opposite direction. When the detection message carries an operation code, the first node can generate a response message according to the instruction of the operation code, so that the efficiency of the first node in generating a response message after receiving the detection message can be improved. The detection message may not carry an operation code, and this application does not limit this.
[0024] Optionally, the first identifier list includes: identifiers of multiple intermediate nodes on the first path; the second identifier list also includes: identifiers of the multiple intermediate nodes; the arrangement order of the identifiers of the multiple intermediate nodes in the second identifier list is opposite to the arrangement order of the identifiers of the multiple intermediate nodes in the first identifier list. In this case, the consistency between the first path and the second path is further improved, and the accuracy of the second node in determining whether the first path is faulty based on the response message is also further improved.
[0025] Optionally, the detection message also carries: a first indication; the first indication is used to instruct the first intermediate node: when the detection message carries the first indication, update the initial identifier to the first identifier. Accordingly, the first intermediate node may update the initial identifier in the first identifier list to the first identifier of the first intermediate node when the detection message carries the first indication. When the detection message does not carry the first indication, the first intermediate node may not change the initial identifier. In this way, the first intermediate node can determine whether it is necessary to change the identifier in the message based on the first indication, thereby avoiding the first intermediate node changing the identifier in each received message and reducing the power consumption of the first intermediate node.
[0026] Optionally, the Flags field in the message header of the detection message carries the first indication.
[0027] Optionally, the detection message includes a first SRH, and the first SRH carries the first identifier list; or, the detection message includes a first load part, and the first load part carries the first identifier list.
[0028] In a third aspect, a message transmission method is provided, the method is executed by a third node on a first path, the first path is a path from a second node to a first node, the method comprising: first, the third node receives a detection message. The detection message carries a first identifier list, the first identifier list is used to indicate the first path, and the first identifier list includes an initial identifier of the third node. Afterwards, the third node updates the initial identifier in the first identifier list to the first identifier of the third node, obtains the updated detection message, and processes the updated detection message.
[0029] The third node may be the first node on the first path, or the first intermediate node on the first path, and the first intermediate node is any intermediate node on the first path. When the third node is the first node, the third node processing the updated detection message may include: the third node generating a response message according to the updated detection message. When the third node is the first intermediate node, the third node processing the updated detection message may include: the third node sending the updated detection message.
[0030] When the third node is the first intermediate node, since the first intermediate node updates the identifier of the first intermediate node in the detection message, the second identifier list in the response message generated by the first node based on the detection message includes: the first identifier of the first intermediate node, and the first identifier is the identifier of the port or link of the first intermediate node receiving the detection message, so when the first intermediate node sends a response message, it can send the response message from the port or link in the first intermediate node. In this way, it is ensured that the port or link where the first intermediate node receives the detection message and sends the response message is the same, thereby further improving the consistency of the transmission path of the detection message and the transmission path of the response message.
[0031] The initial identifier of the above-mentioned third node is different from the first identifier. Optionally, the initial identifier includes: the node identifier of the third node, such as the node identifier can be a node segment identifier (Node SID); the first identifier includes: the identifier of the port or link where the third node receives the detection message, such as the first identifier can be a link segment identifier (End.XSID).
[0032] Optionally, the detection message also carries: a first indication, and the third node may update the initial identifier to the first identifier when the detection message carries the first indication. When the detection message does not carry the first indication, the third node may not change the initial identifier. In this way, the third node can determine whether it is necessary to change the identifier in the message based on the first indication, thereby avoiding the third node from changing the identifier in each received message and reducing the power consumption of the third node.
[0033] Optionally, when the third node is the first intermediate node, the third node processes the updated detection message, including: the third node sends the updated detection message; the method also includes: after the third node processes the updated detection message, it receives a response message to the detection message and sends the response message. The response message carries a second identifier list, the second identifier list is used to indicate a second path from the first node to the second node, and the second identifier list includes the first identifier.
[0034] In a fourth aspect, a message transmission device is provided, the message transmission device belongs to a first node, and the message transmission device includes: a receiving module, an obtaining module, and a sending module. Among them, the receiving module is used to receive a detection message, the detection message carries a first identifier list, the first identifier list is used to indicate the first path from the second node to the first node, and the first identifier list includes: the first identifier of the first intermediate node on the first path; the obtaining module is used to obtain a response message of the detection message, the response message carries a second identifier list, the second identifier list is obtained according to the first identifier list, the second identifier list is used to indicate the second path from the first node to the second node, and the second identifier list includes the first identifier; the sending module is used to send the response message.
[0035] When both the first identifier list and the second identifier list include the first identifier of the first intermediate node, the first path and the second path both pass through the first intermediate node indicated by the first identifier, and the head and tail nodes of the first path and the second path are opposite, so the second path is more consistent with the first path. Therefore, the transmission path of the response message is more consistent with the transmission path of the detection message, the transmission status of the response message is more consistent with the transmission status of the detection message, the transmission status of the response message can reflect the fault status of the first path, and the second node determines whether the first path is faulty based on the response message with higher accuracy.
[0036] Furthermore, since the second node determines whether the first path is faulty with high accuracy, the probability of service interruption caused by the second node switching the path when the first path is not faulty is reduced, thereby improving user experience.
[0037] Optionally, the detection message carries: an operation code, the operation code is used to indicate: generate a response message carrying a list of identifiers indicating paths that are consistent with the first path and in the opposite direction; the acquisition module is used to: generate the response message when the detection message carries the operation code. When the detection message carries the operation code, the first node can generate a response message according to the instruction of the operation code, so that the efficiency of the first node in generating a response message after receiving the detection message can be improved. The detection message may not carry an operation code, and this application does not limit this.
[0038] Optionally, the first identifier list includes: identifiers of multiple intermediate nodes on the first path; the second identifier list also includes: identifiers of the multiple intermediate nodes; the arrangement order of the identifiers of the multiple intermediate nodes in the second identifier list is opposite to the arrangement order of the identifiers of the multiple intermediate nodes in the first identifier list. In this case, the consistency between the first path and the second path is further improved, and the accuracy of the second node in determining whether the first path is faulty based on the response message is also further improved.
[0039] Optionally, the plurality of intermediate nodes include: other nodes in the first path except the first node and the second node. In this case, the first path and the second path have a high degree of consistency.
[0040] Optionally, the obtaining module is used to: obtain the second identification list in reverse order according to the identifications of the multiple intermediate nodes included in the first identification list; and encapsulate the second identification list into the response message.
[0041] Optionally, the first identifier includes: the identifier of the port or link through which the first intermediate node receives the detection message. Alternatively, the first identifier may also be the node identifier of the first intermediate node, which is not limited in the present application. It should be noted that when the first identifier includes: the identifier of the port or link through which the first intermediate node receives the detection message, the first intermediate node may send a response message from the port or link in the first intermediate node when sending a response message. In this way, it is ensured that the port or link through which the first intermediate node receives the detection message and sends the response message is the same, thereby further improving the consistency between the transmission path of the detection message and the transmission path of the response message.
[0042] When the first identifier in the detection message received by the first node is the identifier of the port or link of the first intermediate node, the identifier of the first intermediate node in the detection message sent by the second node may be different from the first identifier. After receiving the detection message, the first intermediate node needs to update the identifier of the first intermediate node in the detection message to the above-mentioned first identifier.
[0043] Optionally, the second identifier list may also include the identifier of the second node. When the second identifier list includes the identifier of the second node, the identifier of the second node may be obtained by the first node in any manner. By way of example, the detection message also carries the address of the second node, and the message transmission device further includes: a determination module, configured to determine the identifier of the second node according to the address of the second node before obtaining the response message, and the response message includes: the identifier of the second node. The first node may store a correspondence between the address of the node and the identifier, and the first node may determine the identifier of the second node corresponding to the address of the second node according to the correspondence.
[0044] Optionally, the detection message includes a first SRH, which carries the first identifier list; the response message includes a second SRH, which carries the second identifier list; or, the detection message includes a first load part, which carries the first identifier list; the response message includes a second load part, which carries the second identifier list.
[0045] Optionally, the detection message is: an SBFD message. The detection message may also be other types of messages, which are not limited in the present application.
[0046] In a fifth aspect, a message transmission device is provided, the message transmission device belongs to the second node, and the message transmission device includes: a generation module and a sending module. The generation module is used to generate a detection message, the detection message carries a first identifier list, the first identifier list is used to indicate the first path from the second node to the first node, and the first identifier list includes: the initial identifier of the first intermediate node on the first path; the sending module is used to send the detection message to the first node; the detection message is used to indicate the first node: obtain a response message to the detection message, and the response message carries a second identifier list; the second identifier list is obtained by the first node according to the first identifier list, the second identifier list is used to indicate the second path from the first node to the second node, and the second identifier list includes: the first identifier of the first intermediate node.
[0047] When both the first identifier list and the second identifier list include the first identifier of the first intermediate node, the first path and the second path both pass through the first intermediate node indicated by the first identifier, and the head and tail nodes of the first path and the second path are opposite, so the second path is more consistent with the first path. Therefore, the transmission path of the response message is more consistent with the transmission path of the detection message, the transmission status of the response message is more consistent with the transmission status of the detection message, the transmission status of the response message can reflect the fault status of the first path, and the second node determines whether the first path is faulty based on the response message with higher accuracy.
[0048] Furthermore, since the second node determines whether the first path is faulty with high accuracy, the probability of service interruption caused by the second node switching the path when the first path is not faulty is reduced, thereby improving user experience.
[0049] Optionally, the detection message carries: an operation code; the operation code is used to indicate: generating a response message carrying a list of identifiers indicating paths that are consistent with the first path and in the opposite direction. When the detection message carries an operation code, the first node can generate a response message according to the instruction of the operation code, so that the efficiency of the first node in generating a response message after receiving the detection message can be improved. The detection message may not carry an operation code, and this application does not limit this.
[0050] Optionally, the first identifier list includes: identifiers of multiple intermediate nodes on the first path; the second identifier list also includes: identifiers of the multiple intermediate nodes; the arrangement order of the identifiers of the multiple intermediate nodes in the second identifier list is opposite to the arrangement order of the identifiers of the multiple intermediate nodes in the first identifier list. In this case, the consistency between the first path and the second path is further improved, and the accuracy of the second node in determining whether the first path is faulty based on the response message is also further improved.
[0051] Optionally, the detection message also carries: a first indication; the first indication is used to instruct the first intermediate node: when the detection message carries the first indication, update the initial identifier to the first identifier. Accordingly, the first intermediate node may update the initial identifier in the first identifier list to the first identifier of the first intermediate node when the detection message carries the first indication. When the detection message does not carry the first indication, the first intermediate node may not change the initial identifier. In this way, the first intermediate node can determine whether it is necessary to change the identifier in the message based on the first indication, thereby avoiding the first intermediate node changing the identifier in each received message and reducing the power consumption of the first intermediate node.
[0052] Optionally, a flag field in a message header of the detection message carries the first indication.
[0053] Optionally, the detection message includes a first SRH, and the first SRH carries the first identifier list; or, the detection message includes a first load part, and the first load part carries the first identifier list.
[0054] In a sixth aspect, a message transmission device is provided, the message transmission device belongs to a third node on a first path, the first path is a path from a second node to a first node, and the message transmission device includes: a first receiving module, an updating module, and a processing module. The first receiving module is used to receive a detection message; the detection message carries a first identification list, the first identification list is used to indicate the first path, and the first identification list includes an initial identification of the third node; the updating module is used to update the initial identification in the first identification list to the first identification of the third node, and obtain the updated detection message; the processing module is used to process the updated detection message.
[0055] The third node may be the first node on the first path, or the first intermediate node on the first path, and the first intermediate node is any intermediate node on the first path. When the third node is the first node, the third node processing the updated detection message may include: the third node generating a response message according to the updated detection message. When the third node is the first intermediate node, the third node processing the updated detection message may include: the third node sending the updated detection message.
[0056] When the third node is the first intermediate node, since the first intermediate node updates the identifier of the first intermediate node in the detection message, the second identifier list in the response message generated by the first node based on the detection message includes: the first identifier of the first intermediate node, and the first identifier is the identifier of the port or link of the first intermediate node receiving the detection message, so when the first intermediate node sends a response message, it can send the response message from the port or link in the first intermediate node. In this way, it is ensured that the port or link where the first intermediate node receives the detection message and sends the response message is the same, thereby further improving the consistency of the transmission path of the detection message and the transmission path of the response message.
[0057] The initial identifier of the third node is different from the first identifier. Optionally, the initial identifier includes: the node identifier of the third node, such as the node identifier may be Node SID; the first identifier includes: the identifier of the port or link at which the third node receives the detection message, such as the first identifier may be End.X SID.
[0058] Optionally, the detection message also carries: a first indication, and the update module is used to: when the detection message carries the first indication, update the initial identifier to the first identifier. In this way, the third node can determine whether it is necessary to change the identifier in the message according to the first indication, thereby avoiding the third node from changing the identifier in each received message, and reducing the power consumption of the third node.
[0059] Optionally, the message transmission device further includes: a second receiving module and a sending module. The second receiving module is used to receive a response message to the detection message after the processing module processes the updated detection message; the response message carries a second identifier list, the second identifier list is used to indicate a second path from the first node to the second node, and the second identifier list includes the first identifier; the sending module is used to send the response message.
[0060] In the seventh aspect, a communication device is provided, comprising: a processor and a memory, wherein a program is stored in the memory; the processor is used to call the program stored in the memory so that the communication device executes the message transmission method as described in any design of the first aspect; or, the processor is used to call the program stored in the memory so that the communication device executes the message transmission method as described in any design of the second aspect; or, the processor is used to call the program stored in the memory so that the communication device executes the message transmission method as described in any design of the third aspect.
[0061] In the eighth aspect, a communication system is provided, which includes a first node and a second node; the first node includes: the message transmission device described in any design of the fourth aspect; the second node includes: the message transmission device described in any design of the fifth aspect.
[0062] Optionally, the communication system also includes: a first intermediate node; at least one of the first intermediate node and the second node is: the third node described in the message transmission device described in any design of the sixth aspect.
[0063] In a ninth aspect, a computer storage medium is provided, wherein the storage medium stores a computer program;
[0064] When the computer program is run on a computer, it enables the computer to execute the message transmission method described in any design of the first aspect; or, when the computer program is run on a computer, it enables the computer to execute the message transmission method described in any design of the second aspect; or, when the computer program is run on a computer, it enables the computer to execute the message transmission method described in any design of the third aspect.
[0065] In a tenth aspect, a computer program product comprising instructions is provided. When the computer program product is run on a message transmission device, the message transmission device executes the message transmission method as described in any one of the designs of the first aspect; or, when the computer program product is run on the message transmission device, the message transmission device executes the message transmission method as described in any one of the designs of the second aspect; or, when the computer program product is run on the message transmission device, the message transmission device executes the message transmission method as described in any one of the designs of the third aspect;
[0066] The technical effects brought about by any design method in the second aspect to the tenth aspect can refer to the technical effects brought about by the corresponding design method in the first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0067] Figure 1 A schematic diagram of the structure of a communication system provided in an embodiment of the present application;
[0068] Figure 2 A schematic diagram of the structure of a communication device provided in an embodiment of the present application;
[0069] Figure 3 A schematic diagram of a message transmission process provided in an embodiment of the present application;
[0070] Figure 4 A flowchart of a message transmission method provided in an embodiment of the present application;
[0071] Figure 5 A schematic diagram of another message transmission process provided in an embodiment of the present application;
[0072] Figure 6 A schematic diagram of another message transmission process provided in an embodiment of the present application;
[0073] Figure 7 A schematic diagram of the structure of an SRH provided in an embodiment of the present application;
[0074] Figure 8 A flowchart of another message transmission method provided in an embodiment of the present application;
[0075] Fig. 9 A schematic diagram of another message transmission process provided in an embodiment of the present application;
[0076] Fig.10 A schematic diagram of another message transmission process provided in an embodiment of the present application;
[0077] Fig.11 A block diagram of a message transmission device provided in an embodiment of the present application;
[0078] Fig.12A block diagram of another message transmission device provided in an embodiment of the present application;
[0079] Fig.13 A block diagram of another message transmission device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0080] In order to make the principles and technical solutions of the present application clearer, the implementation methods of the present application will be further described in detail below in conjunction with the accompanying drawings.
[0081] Figure 1 A schematic diagram of the structure of a communication system provided in an embodiment of the present application is shown in FIG. Figure 1 As shown, the communication system includes multiple nodes, such as Figure 1 Nodes R1, R2, R3, R4 and R5 in the communication system. It should be noted that the embodiment of the present application does not limit the number of nodes in the communication system. Figure 1 In the example above, a communication system including five nodes is taken. The number of nodes in the communication system may also be other values, such as 2, 10, 100 or 1000.
[0082] The nodes in the communication system may be a gateway, a router, an interface unit in a router, a server or a server cluster, etc. The nodes in the communication system are all communication devices, and the communication devices may include: a processor; the processor is used to couple with a memory, and after reading instructions in the memory, execute the method performed by the communication device as described in the embodiment of the present application according to the instructions.
[0083] In the communication device, the number of processors can be multiple, and the memory coupled to the processor can be independent of the processor or the communication device, or can be inside the processor or network device. The memory can be a physically independent unit, or it can be a storage space on a cloud server or a network hard disk, etc. Optionally, the memory can be one or more. When the number of memories is multiple, they can be located in the same or different locations, and can be used independently or in combination. For example, when the memory is located inside the communication device, please refer to Figure 2 , Figure 2 The present invention provides a schematic diagram of the structure of a communication device according to an embodiment of the present invention. The communication device 200 includes: a processor 202 and a memory 201, wherein the memory 201 is used to store programs, and the processor 202 is used to call the programs stored in the memory 201 so that the communication device executes corresponding methods or functions. Figure 2As shown, the communication device 200 may also include at least one communication interface 203 and at least one communication bus 204. The interface (such as communication interface 203) in the embodiment of the present application is also called a port. The memory 201, the processor 202 and the communication interface 203 are connected in communication via the communication bus 204. Among them, the communication interface 203 is used to communicate with other devices under the control of the processor 202, and the processor 202 can call the program stored in the memory 201 through the communication bus 204. The communication device provided in the embodiment of the present application can be used to perform the operations performed by the first node, the second node or the first intermediate node in the message transmission method provided in the subsequent embodiments of the present application.
[0084] There are connections between the nodes in the communication system, such as Figure 1 Nodes R1, R2, R3 and R4 are connected in sequence, and nodes R1, R5 and R4 are connected in sequence. Based on the connection relationship between nodes, a message transmission path can be deployed in the communication system, and the head node of the path can transmit the message along the path to the tail node of the path. For example, Figure 1 The path 1 deployed in the communication system shown may be: node R1→node R2→node R3→node R4. The head node R1 of the path may transmit the message to the tail node R4 through nodes R2 and R3 in sequence.
[0085] The path in the embodiment of the present application may be a path of a tunnel or may not be a path of a tunnel, and the embodiment of the present application does not limit this. The tunnel may be any type of tunnel, such as an SRv6 policy tunnel, an SR-TE tunnel, or an SR-BE tunnel.
[0086] In order to ensure that the message can be transmitted smoothly on the path, the head node of the path needs to detect faults on the path.
[0087] For example, Figure 1 When the head node R1 in detects path 1, Figure 3 As shown, a detection message can be sent to the tail node R4 along path 1. After receiving the detection message, the tail node R4 will determine the shortest path 2 (node R4→node R5→node R1) from the tail node R4 to the head node R1 according to the IP routing, and send a response message of the detection message to the head node R1 along the path 2.
[0088] After sending out the detection message, the head node R1 can determine whether a response message to the detection message is received within the time threshold after sending out the detection message. If the head node R1 receives the response message within the time threshold after sending out the detection message, the head node R1 determines that the path 1 is not faulty and can continue to transmit messages on the path 1. If the head node R1 does not receive the response message within the time threshold after sending out the detection message, the head node R1 determines that the path 1 is faulty and will not transmit messages on the path 1.
[0089] However, since the path 2 (node R4→node R5→node R1) of the response message transmission is different from the path 1 (node R1→node R2→node R3→node R4) to be detected, when path 1 is not faulty and path 2 is faulty, the head node R1 cannot receive the response message within the time threshold after sending the detection message. At this time, the head node R1 will determine that path 1 is faulty, and such a detection result does not match the actual situation. Therefore, the accuracy of path fault detection is low.
[0090] The embodiment of the present application provides a message transmission method, which can be used in the communication system provided by the embodiment of the present application. The message transmission method can transmit a response message along a second path with a higher degree of consistency with the first path according to the first path transmitted by the detection message. In this way, the path of the response message transmission is highly consistent with the path of the detection message transmission, so that the transmission status of the response message can reflect the fault status of the first path, and therefore, the head node has a higher accuracy in fault detection based on the response message.
[0091] For example, Figure 4 A flowchart of a message transmission method provided in an embodiment of the present application, such as Figure 4 As shown, the message transmission method includes:
[0092] S401. The second node generates a detection message, the detection message carries a first identifier list, the first identifier list is used to indicate a first path from the second node to the first node, and the first identifier list includes: a first identifier of a first intermediate node on the first path.
[0093] In the embodiment of the present application, the path to be detected is taken as the first path as an example. The first path may be a path of a tunnel or may not be a path of a tunnel. The embodiment of the present application does not limit this. The head node of the first path is the second node, and the tail node of the first path is the first node.
[0094] In order to perform fault detection on the first path, the head node (second node) of the first path needs to generate a detection message for fault detection. The detection message carries a first identifier list for indicating the first path. Optionally, when the first path is a tunnel path, the first identifier list can be a segment routing list. In the embodiment of the present application, the identifier of the node can be any identifier of the node, including: a segment identifier (Segment Identifier, SID), such as a node segment identifier (Node SID), or a link segment identifier (End.X SID) corresponding to the port in the node for sending the detection message.
[0095] The first identifier list may indicate the first path in any manner. For example, the first identifier list may include the identifier of each node on the first path except the head node (or include the identifier of each node on the first path), and these identifiers are arranged in sequence according to the arrangement order of the nodes on the first path, so that the first identifier list indicates the first path.
[0096] For example, suppose the first path is Figure 1 In the path 1 shown in FIG. 1 (node R1→node R2→node R3→node R4), node R1 is the second node and node R4 is the first node. The identifier of node R1 is 1::, the identifier of node R2 is 2::, the identifier of node R3 is 3::, and the identifier of node R4 is 4::. Then, if Figure 5 As shown, the first identifier list carried by the detection message may include: 4::, 3::, 2::. Optionally, the first identifier list may also include: 2::, 3::, 4::, which is not limited in the embodiment of the present application.
[0097] The first path includes at least one intermediate node between the first node and the second node. Regardless of how the first identifier list indicates the first path, the first identifier list may include: a first identifier of a first intermediate node on the first path, and the first intermediate node may be any node among the at least one intermediate node.
[0098] The first path indicated by the first identifier list passes through the nodes indicated by the node identifiers in the first identifier list, the first identifier list includes the first identifier of the first intermediate node, and the first path passes through the first intermediate node.
[0099] It should be noted that the node identifier can be a node identifier for indicating the node (such as the address of the node, etc.), or it can be an identifier for indicating a component in the node (such as the identifier of a port or link in the node), as long as the node can be determined based on the node identifier. In the embodiment of the present application, the node identifier is taken as an example of a node identifier for indicating the node.
[0100] The detection message generated by the second node can be a detection message in any format. In the embodiment of the present application, the detection message generated by the second node is an SBFD message as an example. Among them, SBFD is a simplified mechanism of Bidirectional Forwarding Detection (BFD). SBFD simplifies the state machine of BFD, shortens the negotiation time between nodes, improves the flexibility of the communication system, and can support fault detection of the path of the segment routing (SR) tunnel.
[0101] S402: The second node sends a detection message to the first node.
[0102] After generating the detection message, the second node can send the detection message to the first node along the first path indicated by the first identifier list. In the process of transmitting the detection message from the second node to the first node, it passes through each intermediate node on the first path in turn, and the intermediate node can send the message according to the first identifier list after receiving the detection message.
[0103] For example, Figure 5 As shown, on path 1, node R1 is the second node, node R4 is the first node, and nodes R2 and R3 are both intermediate nodes. Node R1 can send a message to node R2 according to the first identification list, node R2 can send a detection message to node R3 according to the first identification list, and node R3 can send a detection message to node R4 according to the first identification list.
[0104] S403, the first node obtains a response message to the detection message, the response message carries a second identifier list, the second identifier list is obtained based on the first identifier list, the second identifier list is used to indicate a second path from the first node to the second node, and the second identifier list includes the first identifier.
[0105] The detection message may be used to instruct the first node to obtain the response message. After receiving the detection message, the first node may obtain a response message to the detection message.
[0106] Similar to the detection message carrying a first identifier list, the response message carries a second identifier list. The second identifier list is obtained by the first node based on the first identifier list carried by the detection message, and the second identifier list is used to indicate the second path from the first node to the second node, and the second identifier list includes the first identifier of the first intermediate node in the first identifier list. It can be seen that both the first identifier list and the second identifier list contain the first identifier of the first intermediate node.
[0107] The second path indicated by the second identifier list passes through the nodes indicated by the identifiers in the second identifier list. The second identifier list includes the first identifier of the first intermediate node. Therefore, the second path also passes through the first intermediate node in the first path.
[0108] S404: The first node sends a response message to the second node.
[0109] After obtaining the response message, the first node may send the response message to the second node along the second path indicated by the second identifier list.
[0110] During the process of transmitting the detection message from the first node to the second node, the detection message passes through each intermediate node on the second path in sequence. After receiving the detection message, the intermediate node can send the message according to the second identification list.
[0111] For example, Figure 6 As shown, assuming that the second path is path 2 (node R4→node R3→node R2→node R1), on path 2, node R1 is the second node, node R4 is the first node, and nodes R2 and R3 are both intermediate nodes. Node R4 can send a response message to node R3 according to the second identifier list, node R3 can send a response message to node R2 according to the second identifier list, and node R2 can send a response message to node R1 according to the second identifier list.
[0112] It should be noted that, in the embodiment of the present application, the first path and the second path pass through the same intermediate nodes as an example, it is also possible that the first path and the second path pass through a part of the same intermediate nodes, while the other part of the intermediate nodes are different. Figure 5 Path 1 in (node R1→node R2→node R3→node R4). If node R4 is connected to node R2, the second path may be: (node R4→node R2→node R1); or, if node R5 is connected to both node R2 and node R3, the second path may be: (node R4→node R3→node R5→node R2→node R1), etc.
[0113] After sending the detection message, the second node can determine whether the first path is faulty according to the response message of the detection message. For example, if the second node receives the response message of the detection message within the time length threshold after sending the detection message, the second node can determine that the first path is not faulty; if the second node does not receive the response message within the time length threshold after sending the detection message, the second node determines that the first path is faulty.
[0114] When both the first identifier list and the second identifier list include the first identifier of the first intermediate node, the first path and the second path both pass through the first intermediate node indicated by the first identifier, and the head and tail nodes of the first path and the second path are opposite, so the second path is more consistent with the first path. Therefore, the transmission path of the response message is more consistent with the transmission path of the detection message, the transmission status of the response message is more consistent with the transmission status of the detection message, the transmission status of the response message can reflect the fault status of the first path, and the second node determines whether the first path is faulty based on the response message with higher accuracy.
[0115] Furthermore, since the second node determines whether the first path is faulty with high accuracy, the probability of service interruption caused by the second node switching the path when the first path is not faulty is reduced, thereby improving user experience.
[0116] In the above embodiment, the example in which both the first identifier list and the second identifier list include the first identifier is taken. Optionally, the first identifier list and the second identifier list may also both include: identifiers of multiple intermediate nodes (including the first intermediate node) on the first path. The arrangement order of the identifiers of the multiple intermediate nodes in the second identifier list is opposite to the arrangement order of the identifiers of the multiple intermediate nodes in the first identifier list. In this case, the consistency between the first path and the second path is further improved, and the accuracy of the second node in determining whether the first path is faulty based on the response message is also further improved.
[0117] For example, Figure 5 As shown, the first identification list includes: 3::, 2::, the first path passes through nodes R1, R2, R3 and R4 in sequence; Figure 6 As shown, the second identifier list includes: 2::, 3::, and the second path passes through nodes R4, R3, R2, and R1 in sequence. At this time, the second path passes through the same nodes as the first path, and the consistency between the first path and the second path is relatively high.
[0118] It should be noted that in the present application, the first path is consistent with the second path. The consistency here can be strict consistency, such as the nodes passed by the first path and the second path are exactly the same, or it can be non-strict consistency, such as the nodes passed by the first path and the second path are only partially the same.
[0119] Optionally, the multiple intermediate nodes may be some or all of the intermediate nodes on the first path, which is not limited in the embodiments of the present application. When the multiple intermediate nodes are all the intermediate nodes on the first path, the multiple intermediate nodes include: other nodes in the first path except the first node and the second node. In this case, the consistency between the first path and the second path is relatively high. In S403, the first node may obtain the second identification list in reverse order according to the identifiers of the multiple intermediate nodes in the first identification list, and encapsulate the second identification list into a response message. Among them, when the first node encapsulates the second identification list into the response message, it may complete the encapsulation according to the Operation Administration and Maintenance (OAM) instruction.
[0120] In the above embodiment, the first identification list and the second identification list include the identification of the intermediate node as an example. Optionally, the first identification list may also include the identification of the first node, and the second identification list may also include the identification of the second node. The identifications of the nodes in the first identification list may be arranged in sequence according to the order of the nodes on the first path, and the identifications of the nodes in the second identification list may be arranged in sequence according to the order of the nodes on the second path.
[0121] For example, taking the first path as Figure 5 Path 1 in (node R1→node R2→node R3→node R4), the second path is Figure 6 Take path 2 (node R4→node R3→node R2→node R1) in the example. Then, the first identifier list includes: 4::, 3::, 2::, and the second identifier list includes: 1::, 2::, 3::.
[0122] In the case where the first identifier list includes: the identifier of the first node and the identifier of each intermediate node on the first path, and the second identifier list includes: the identifier of the second node and the identifier of each intermediate node on the first path:
[0123] In S403, the first node may arrange the identifiers of multiple nodes in the first identifier list in reverse order, remove the identifier of the first node, and add the identifier of the second node, thereby obtaining a second identifier list. Wherein, when the first node adds the identifier of the second node, if the identifiers of the nodes in the first identifier list are arranged in sequence according to the arrangement order of the nodes on the first path, the first node may add the identifier of the second node before the remaining identifiers after removing the identifier of the first node. If the identifiers of the nodes in the first identifier list are arranged in sequence in reverse order of the arrangement order of the nodes on the first path, the first node may add the identifier of the second node after the remaining identifiers after removing the identifier of the first node.
[0124] For example, still Figure 5 and Figure 6 For example, assuming that the first identifier list includes: 4::, 3::, 2::, the first node can first arrange these identifiers in reverse order to obtain 2::, 3::, 4::. Afterwards, the first node can remove the identifier 4:: of the first node (node R4) to obtain 2::, 3::. Finally, the first node can add the identifier 1:: of the second node (R1) before the remaining identifiers to obtain 1::, 2::, 3::.
[0125] For example, still Figure 5 and Figure 6 For example, assuming that the first identifier list includes: 2::, 3::, 4::, the first node can first arrange these identifiers in reverse order to obtain 4::, 3::, 2::. Afterwards, the first node can remove the identifier 4:: of the first node (node R4) to obtain 3::, 2::. Finally, the first node can add the identifier 1:: of the second node (R1) after the remaining identifiers to obtain 3::, 2::, 1::.
[0126] When the second identifier list includes the identifier of the second node, the identifier of the second node may be obtained by the first node in any manner.
[0127] For example, the detection message sent by the second node also carries the address of the second node ( Figure 5 (not shown), the first node may determine the identifier of the second node according to the address of the second node carried in the detection message. Optionally, the first node may store a correspondence between the address and the identifier of the node, and the first node may determine the identifier of the second node corresponding to the address of the second node according to the correspondence.
[0128] Optionally, the first path may be a path of an SRv6 tunnel (also called an SRv6 policy tunnel), the detection message includes a first SRH carrying the first identifier list, and the response message includes a second SRH carrying the second identifier list.
[0129] For example, Figure 7 A schematic diagram of the structure of an SRH provided in an embodiment of the present application is shown in FIG. Figure 7As shown, the SRH includes: the next header type (Next Header) field, the header length (Hdr Ext Len) field, the routing header type (Routing Type) field, the remaining number of segments to the destination node (Segments Left, SL) field, the segment list last element index (Last Entry) field, the flag field, the same group data identifier (Tag) field, the segment routing list field and the optional content part (Optional Type Length Value Objects) field, and the optional content part field is a variable. Among them, in the first SRH of the detection message, the segment routing list field can carry the above-mentioned first identification list; in the second SRH of the response message, the segment routing list field can carry the above-mentioned second identification list.
[0130] The above-mentioned first path may not be the path of the SRv6 tunnel. The above-mentioned detection message includes a first load part, and the first load part carries a first identifier list. The above-mentioned response message includes a second load part, and the second load part carries a second identifier list.
[0131] In the above embodiment, the detection message generated by the second node carries the first identification list (or the first identification list and the address of the second node). Further, the detection message also carries other content, and the following will take the other four types of information carried by the detection message as an example for description.
[0132] (1) The detection message may also carry an operation code, which may be referred to as a first operation code. The first operation code is used to indicate: generate a response message carrying a list of identifiers indicating paths that are consistent with the first path and in the opposite direction. In the above S403, the first node may generate a response message when the detection message carries the first operation code.
[0133] For example, the first operation code may include: FE. The first operation code may be carried in the SRH or other extended header of the detection message. FE is used to instruct the generation of a response message carrying an identifier list indicating a path that is consistent with the first path and opposite in direction.
[0134] For another example, the first operation code may be an identifier of the first node. When the first identifier list includes the identifier of the first node, the identifier of the first node as the first operation code may be the same as or different from the identifier of the first node in the first identifier list. Figure 5 The identifier of the first node as the first operation code is 4::FE, and the identifier of the first node in the first identifier list is 4::. When the identifier of the first node is used as the first operation code, the identifier of the first node can be used to indicate: generate a response message carrying an identifier list indicating a path that is consistent with the first path and in the opposite direction.
[0135] Optionally, the first operation code may be generated by the second node, or sent to the second node by the controller.
[0136] (2) The detection message may also carry SL. The first path may be divided into a plurality of path segments arranged in sequence. During the transmission of the detection message on the first path, the detection message will be transmitted on the plurality of path segments in sequence. SL is used to indicate the number of remaining segment indexes to reach the destination node, which is equal to the number of path segments in the first path to which the detection message has not yet been transmitted.
[0137] For example, Figure 5 As shown, path 1 (first path) is divided into path segment 1 (node R1→node R2), path segment 2 (node R2→node R3) and path segment 3 (node R3→node R4), which are arranged in sequence. Figure 5 These three path segments are not marked. The detection message sent by node R1 also needs to be transmitted on these three path segments. Therefore, SL=3 in the detection message sent by node R1. After receiving the detection message sent by node R1, node R2 can determine that the detection message also needs to be transmitted on path segments 2 and 3 according to the first identification list. Therefore, node R2 will change SL=3 in the detection message to SL=2, and then transmit it to node R3. After receiving the detection message sent by node R2, node R3 can determine that the detection message also needs to be transmitted on path segment 3 according to the first identification list. Therefore, node R3 will change SL=2 in the detection message to SL=1, and then transmit it to node R4.
[0138] (3) The detection message may also carry a destination address (DA). DA indicates the address of the next node to which the detection message needs to be transmitted in the first path.
[0139] For example, Figure 5As shown, path 1 is: (node R1→node R2→node R3→node R4), node R1 needs to transmit the detection message to node R2. If the identifier of node R2 is the address of node R2, then DA=2::(identifier of node R2) in the detection message sent by node R1. After receiving the detection message sent by node R1, node R2 can determine that the detection message needs to be transmitted to node R3 according to the first identifier list. If the identifier of node R3 is the address of node R3, node R2 will change DA=2:: in the detection message to DA=3::(identifier of node R3) and then transmit it to node R3. After receiving the detection message sent by node R2, node R3 can determine that the detection message needs to be transmitted to node R4 according to the first identifier list. If the identifier of node R4 is the address of node R4, node R3 will change DA=3:: in the detection message to DA=4::(identifier of node R4) and then transmit it to node R4.
[0140] Optionally, when the first path is a path of an SRv6 tunnel, the DA may be an Internet Protocol version 6 (IPv6) DA.
[0141] (4) Figure 5 As shown, when the detection message is a SBFD message, the detection message may carry a SBFD payload.
[0142] In the above embodiment, the response message obtained by the first node carries the second identifier list. Further, similar to the detection message, the response message also carries other contents, and the following will be described by taking the other four types of information carried by the response message as an example.
[0143] (1) The response message may also carry an operation code, which is called a second operation code. The second operation code is used to indicate: perform fault detection on the first path according to the response message.
[0144] For example, the second operation code in the response message may include: FF. The second operation code may be carried in the SRH or other extended header of the detection message. FF is used to indicate that fault detection is performed on the first path according to the response message.
[0145] For another example, the second operation code may be an identifier of the second node. When the second identifier list includes the identifier of the second node, the identifier of the second node as the second operation code may be the same as or different from the identifier of the second node in the second identifier list. Figure 6The identifier of the second node as the second operation code is 1::FF, and the identifier of the second node in the second identifier list is 1::. When the identifier of the second node is used as the second operation code, the identifier of the second node can be used to indicate: perform fault detection on the first path according to the response message.
[0146] Optionally, the second operation code may be generated by the first node, or sent to the first node by the controller.
[0147] (2) The response message may also carry SL. The second path may be divided into a plurality of path segments arranged in sequence. During the transmission of the response message on the second path, the response message will be transmitted on the plurality of path segments in sequence. SL is used to indicate the number of path segments in the second path to which the response message has not yet been transmitted.
[0148] For example, Figure 6 As shown, path 2 (second path) is divided into path segment 3 (node R3→node R4), path segment 2 (node R2→node R3) and path segment 1 (node R1→node R2), which are arranged in sequence. Figure 6 These three path segments are not marked. The response message sent by node R4 also needs to be transmitted on these three path segments. Therefore, SL=3 in the response message sent by node R4. After receiving the response message sent by node R4, node R3 can determine that the response message also needs to be transmitted on path segment 2 and path segment 1 according to the second identifier list. Therefore, node R3 will change SL=3 in the response message to SL=2 and then transmit it to node R2. After receiving the response message sent by node R3, node R2 can determine that the response message also needs to be transmitted on path segment 1 according to the second identifier list. Therefore, node R2 will change SL=2 in the response message to SL=1 and then transmit it to node R1.
[0149] (3) The response message may also carry a DA.
[0150] For example, Figure 6 As shown, path 2 is: (node R4→node R3→node R2→node R1), node R4 needs to transmit the response message to node R3, so the DA=3::(identifier of node R3) in the response message sent by node R4. After receiving the response message sent by node R4, node R3 can determine that the response message needs to be transmitted to node R2 according to the second identifier list. Therefore, node R3 will change the DA=3:: in the response message to DA=2::(identifier of node R2) and then transmit it to node R2. After receiving the response message sent by node R3, node R2 can determine that the response message needs to be transmitted to node R1 according to the second identifier list. Therefore, node R2 will change the DA=2:: in the response message to DA=1::(identifier of node R1) and then transmit it to node R1.
[0151] Optionally, when the first path is a path of an SRv6 tunnel, the DA may be an Internet Protocol version 6 (IPv6) DA.
[0152] (4) Figure 6 As shown, when the detection message is an SBFD message, the response message is also an SBFD message, and the response message also carries an SBFD packet.
[0153] In the above embodiment, the detection message may carry a first operation code, and the response message may carry a second operation code.
[0154] On the one hand, the first operation code in the detection message may be included in the first identification list, and the first operation code may be followed by the identification of the first node.
[0155] For example, when the identifier of the first node is the last identifier in the first identifier list, the first operation code may be arranged after the identifier of the first node; when the identifier of the first node is the first identifier in the first identifier list, the first operation code may be arranged before the identifier of the first node.
[0156] For example, Figure 5 In the example, the first operation code (4::FE) is outside the first identification list. Optionally, Figure 5 The first operation code (4::FE) in may also be included in the first identification list. In this case, the first identification list may include: 4::FE, 4::, 3::, 2::, or, 2::, 3::, 4::, 4::FE.
[0157] On the other hand, similar to the detection message, the second operation code in the response message may also be included in the second identifier list, and the second operation code may be followed by the identifier of the second node.
[0158] For example, when the identifier of the second node is the last identifier in the second identifier list, the second operation code may be arranged after the identifier of the second node; when the identifier of the second node is the first identifier in the second identifier list, the second operation code may be arranged before the identifier of the second node.
[0159] For example, Figure 6 In the example, the second operation code (1::FF) is outside the second identification list. Optionally, Figure 6 The second operation code (1::FF) can be included in the second identification list. In this case, the second identification list can include: 1::FF, 1::, 2::, 3::, or, 3::, 2::, 1::, 1::FF.
[0160] When the first identification list includes the first operation code, the identification of the first node and the identification of each intermediate node on the first path, and the second identification list includes the second operation code, the identification of the second node and the identification of each intermediate node on the first path: in S403, the first node can arrange the contents in the first identification list (including the first operation code and the node identification) in reverse order, remove the first operation code and the identification of the first node, add the identification of the second node and the second operation code, and thus obtain the second identification list.
[0161] Furthermore, when the detection message is an SBFD message, before S401, the first node may also send a first SBFD control message to the second node, and the first SBFD control message carries information such as the SBFD descriptor (Discriminator) of the first node. The second node may also send a second SBFD control message to the first node, and the second SBFD control message carries information such as the SBFD descriptor of the second node. The SBFD descriptor of the node may be information such as the address of the node.
[0162] The first node may record the matching relationship between the SBFD descriptor of the first node and the SBFD descriptor of the second node. The above detection message may carry the SBFD descriptor of the second node. Before the above S403, the first node may determine whether the SBFD descriptor of the second node carried in the detection message matches the SBFD descriptor of the first node based on the recorded matching relationship. The first node will only execute the above S403 when the SBFD descriptor of the second node carried in the detection message matches the SBFD descriptor of the first node and the first node is in working state.
[0163] It should be noted that, in the above embodiment, the intermediate node in the first path does not adjust the first identifier list when sending the detection message. Optionally, the intermediate node may also adjust the first identifier list when sending the detection message.
[0164] For example, Figure 8 A flowchart of another message transmission method provided in an embodiment of the present application, such as Figure 8 As shown, the message transmission method includes:
[0165] S801. The second node generates a detection message, the detection message carries a first identifier list, the first identifier list is used to indicate a first path from the second node to the first node, and the first identifier list includes: an initial identifier of a first intermediate node on the first path.
[0166] S801 may refer to S401, and the embodiment of the present application will not be described in detail here.
[0167] The initial identifier of the first intermediate node may be a node identifier of the first intermediate node.
[0168] S802: The second node sends a detection message to the first intermediate node.
[0169] The process of the second node sending a detection message to the first intermediate node can be referred to Figure 4 The process of the second node sending a detection message in the embodiment shown.
[0170] S803: The first intermediate node updates the initial identifier in the first identifier list to the first identifier of the first intermediate node, and obtains an updated detection message.
[0171] The initial identifier and the first identifier are two different identifiers of the first intermediate node. When the identifier of the node is the SID of the node, the initial identifier and the first identifier are two different SIDs of the first intermediate node.
[0172] In one example, the initial identifier includes: a node identifier of the first intermediate node, which may be NodeSID, and the first identifier includes: an identifier of a port or link at which the first intermediate node receives a detection message, such as End.XSID.
[0173] For example, suppose the first path is Fig. 9 In the path 1 (node R1→node R2→node R3→node R4) shown in FIG. 1 , nodes R2 and R3 are both first intermediate nodes, and the first identification list in the detection message sent by node R1 is the same as Figure 5 The first identifier list in is the same, including 4::, 3::, 2::.
[0174] If node R2 has ports 1, 2 and 3, after receiving the detection message from port 1, node R2 can update the initial identifier of node R2 in the first identifier list (that is, the node identifier 2:: of node R2) to the identifier of port 1 in node R2 (2::1). The first identifier list in the updated detection message includes: 4::, 3::, 2::1.
[0175] If node R3 has ports 1 and 2, after receiving the detection message sent by node R2 from port 1, node R3 can update the initial identifier of node R3 in the first identifier list (that is, the node identifier 3:: of node R3) to the identifier of port 1 in node R3 (3::1). The first identifier list in the updated detection message includes: 4::, 3::1, 2::1.
[0176] In another example, the initial identifier may be a first End.X SID corresponding to an egress port through which the first intermediate node sends the detection message, and the first identifier may be a second End.XSID corresponding to an ingress port through which the first intermediate node receives the detection message.
[0177] For example, suppose the first path is Fig. 9 In the path 1 shown (node R1→node R2→node R3→node R4), nodes R2 and R3 are both first intermediate nodes, and the first identifier list in the detection message sent by node R1 includes 4::, 3::2, and 2::2. Among them, 2::2 represents the first End.X SID corresponding to the egress port 2 of the node R2 that sends the detection message, and 3::2 represents the first End.X SID corresponding to the egress port 2 of the node R3 that sends the detection message.
[0178] If node R2 receives a detection message from its ingress port 1, node R2 can update the first End.X SID (such as 2::2) corresponding to the egress port 2 of node R2 that sends the detection message in the first identification list to the second End.X SID (2::1) corresponding to the ingress port 1 of node R2 that receives the detection message. The first identification list in the updated detection message includes: 4::, 3::2, 2::1.
[0179] If node R3 receives a detection message from its ingress port 1, node R3 can update the first End.X SID (such as 3::2) corresponding to the egress port 2 of node R3 that sends the detection message in the first identification list to the second End.X SID (3::1) corresponding to the ingress port 1 of node R3 that receives the detection message. The first identification list in the updated detection message includes: 4::, 3::1, 2::1.
[0180] S804: The first intermediate node sends an updated detection message to the first node.
[0181] After obtaining the updated detection message, the first intermediate node may send the updated detection message according to the first identifier list in the updated detection message.
[0182] For example, Fig. 9 As shown, node R2, as the first intermediate node, can send the updated detection message to node R3 according to the first identifier list in the updated detection message; node R3, as the first intermediate node, can send the updated detection message to node R4 according to the first identifier list in the updated detection message.
[0183] S805. The first node obtains a response message to the detection message, the response message carries a second identifier list, the second identifier list is obtained based on the first identifier list, the second identifier list is used to indicate a second path from the first node to the second node, and the second identifier list includes the first identifier.
[0184] S805 may refer to S403, and the embodiment of the present application will not be elaborated here.
[0185] When obtaining the response message, the first node may obtain the second identifier list according to the first identifier list, and encapsulate the second identifier list in the response message.
[0186] It should be noted that, in the embodiment of the present application, the detection message received by the first node is a detection message updated by the first intermediate node, and the first identification list in the detection message carries the first identification of the first intermediate node, and the first identification is the identification of the port or link of the first intermediate node. Therefore, the identification of the first intermediate node in the second identification list obtained by the first node is also the first identification.
[0187] For example, Fig.10 As shown, node R4 serves as the first node, and the second identifier list in the response message generated by node R4 includes: 1::, 2::1, 3::1.
[0188] S806: The first node sends a response message to the first intermediate node.
[0189] S807: The first intermediate node sends a response message to the second node.
[0190] S806 and S807 may refer to S404, and the embodiments of the present application will not be described in detail here.
[0191] Since the second identifier list in the embodiment of the present application includes: the first identifier of the first intermediate node, and the first identifier is the identifier of the port or link on which the first intermediate node receives the detection message, when the first intermediate node sends a response message according to the second identifier list, the response message can be sent from the port or link in the first intermediate node. In this way, it is ensured that the port or link on which the first intermediate node receives the detection message and sends the response message is the same, thereby further improving the consistency of the transmission path of the detection message and the transmission path of the response message.
[0192] For example, Fig.10The second identifier list in the response message includes: 1::, 2::1, 3::1, and nodes R2 and R3 are both first intermediate nodes. Node R4 can send a response message to node R3, and node R3 can send the response message from port 1 of node R3 to node R2 according to 3::1 in the second identifier list. Node R2 can send the response message from port 1 of node R2 to node R1 according to 2::1 in the second identifier list. It can be seen that the transmission path of the detection message is the same as the transmission path of the response message.
[0193] Optionally, the detection message may also carry: a first indication (such as Fig. 9 SF=1), the first indication is used to instruct the first intermediate node: when the detection message carries the first indication, update the initial identifier to the first identifier. Accordingly, the first intermediate node can update the initial identifier in the first identifier list to the first identifier of the first intermediate node in the above S803 when the detection message carries the first indication. When the detection message does not carry the first indication, the first intermediate node may not change the initial identifier. In this way, the first intermediate node can determine whether it is necessary to change the identifier in the message based on the first indication, thereby avoiding the first intermediate node from changing the identifier in each received message and reducing the power consumption of the first intermediate node.
[0194] The first indication may be carried at any position in the detection message. Optionally, the flag field in the message header of the detection message carries the first indication. For example, Figure 7 The flag field in the can include 8 bits from 0 to 7 ( Figure 7 These bits are not shown in the figure), wherein bit 7 can be used to carry the first indication. When the value of bit 7 is 1, bit 7 carries the first indication. The first intermediate node can determine whether the detection message carries the first indication according to the value of bit 7, and then determine whether the identifier in the detection message needs to be changed.
[0195] When the first node obtains the response message of the detection message, it can change the first indication in the detection message. For example, the first indication is Fig. 9 When SF=1 in the first node, SF=1 is changed to Fig.10 SF=0 in ; for example, the first node can Figure 7 The value of bit 7 in the flag field is changed from 1 to 0. Therefore, when sending the response message, the first intermediate node does not change the identifiers in the second identifier list in the response message.
[0196] Furthermore, due to Figure 8In the embodiment shown, the first intermediate node changes the identifier in the first identifier list. Therefore, when the response message carries the DA and the response message is transmitted to the first intermediate node, the identifier represented by the DA in the response message is: the first identifier of the first intermediate node, such as the identifier of the port or link that receives the detection message in the first intermediate node.
[0197] For example, Fig.10 As shown, assuming that the second path is: (node R4→node R3→node R2→node R1), node R4 needs to transmit the response message to port 1 of node R3, so the DA in the response message sent by node R4 is 3::1 (the identifier of port 1 in node R3). After receiving the response message sent by node R4, node R3 can determine that the response message needs to be transmitted to port 1 of node R2 according to the second identifier list. Therefore, node R3 will change DA=3::1 in the response message to DA=2::1 (the identifier of port 1 of node R2), and then transmit it to node R2 through port 1 of node R3. After receiving the response message sent by node R3, node R2 can determine that the response message needs to be transmitted to node R1 according to the second identifier list. Therefore, node R2 will change DA=2::1 in the response message to DA=1:: (node identifier of node R1), and then transmit it from port 1 of node R2 to node R1.
[0198] It should be noted that in Figure 8 In the illustrated embodiment, the first identifier list carried by the detection message generated by the second node includes: the initial identifier of the first intermediate node. Since the first intermediate node updates the initial identifier of the first intermediate node to the first identifier, the first identifier list carried by the detection message received by the first node includes: the first identifier of the first intermediate node. It can be seen that the initial identifier of the first intermediate node in the detection message generated by the second node is different from the first identifier of the first intermediate node in the detection message received by the first node.
[0199] exist Figure 4 In the illustrated embodiment, the first identifier list carried by the detection message generated by the second node includes: the first identifier of the first intermediate node. The first identifier list carried by the detection message received by the first node includes: the first identifier of the first intermediate node. It can be seen that the identifier of the first intermediate node in the detection message generated by the second node is the same as the identifier of the first intermediate node in the detection message received by the first node. Figure 4 In the embodiment shown, if the first identifier of the first intermediate node in the detection message generated by the second node is called the initial identifier, then Figure 4 In the illustrated embodiment, the initial identifier of the first intermediate node in the detection message generated by the second node is the same as the first identifier of the first intermediate node in the detection message received by the first node.
[0200] exist Figure 8 In the illustrated embodiment, the first intermediate node on the first path may update the detection message. Optionally, the first node on the first path may also update the detection message after receiving the detection message. The process of the first node updating the detection message may refer to the process of the first intermediate node updating the detection message, and the embodiments of the present application will not be described in detail here.
[0201] In this case, the first intermediate node and the first node on the first path can both be called the third node. After receiving the detection message, the third node can update the initial identifier of the third node carried in the first identifier list to the first identifier of the third node, obtain an updated detection message, and then process the updated detection message.
[0202] When the third node is the first node, the third node processing the updated detection message may include: the third node generating a response message according to the updated detection message. When the third node is the first intermediate node, the third node processing the updated detection message may include: the third node sending the updated detection message.
[0203] Combined with the above Figures 1 to 10 , describes in detail the message transmission method provided by the present application. It can be understood that in order to implement the functions described in the above methods, the node needs to include hardware and / or software modules corresponding to the execution of each function. In combination with the execution process of each method described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application in combination with the embodiments, but such implementation should not be considered to exceed the scope of the present application.
[0204] This embodiment can divide the functional modules of the corresponding device according to the above method embodiment. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware. It should be noted that the division of modules in this embodiment is schematic, specifically as a possible division method of logical functions, and there may be other division methods in actual implementation.
[0205] When the functional module division method is adopted, the following will be combined Fig.11 , Fig.12 and Fig.13 Describe the message transmission device provided by this application.
[0206] Fig.11 1 is a block diagram of a message transmission device provided in an embodiment of the present application, and the message transmission device may, for example, belong to the first node in each of the aforementioned embodiments. Fig.11 As shown, the message transmission device includes: a receiving module 1101, an obtaining module 1102 and a sending module 1103.
[0207] The receiving module 1101 is used to receive a detection message, the detection message carries a first identification list, the first identification list is used to indicate a first path from the second node to the first node, and the first identification list includes: a first identification of a first intermediate node on the first path. The operations performed by the receiving module 1101 can refer to the contents related to the first node in the above S402 and S804.
[0208] The acquisition module 1102 is used to obtain a response message to the detection message, the response message carries a second identifier list, the second identifier list is obtained according to the first identifier list, the second identifier list is used to indicate a second path from the first node to the second node, and the second identifier list includes the first identifier. The operation performed by the acquisition module 1102 can refer to the content related to the first node in the above S403 and S805.
[0209] The sending module 1103 is used to send a response message according to the second identification list. The operations performed by the sending module 1103 can refer to the contents related to the first node in the above S404 and S805.
[0210] When both the first identifier list and the second identifier list include the first identifier of the first intermediate node, the first path and the second path both pass through the first intermediate node indicated by the first identifier, and the head and tail nodes of the first path and the second path are opposite, so the second path is more consistent with the first path. Therefore, the transmission path of the response message is more consistent with the transmission path of the detection message, the transmission status of the response message is more consistent with the transmission status of the detection message, the transmission status of the response message can reflect the fault status of the first path, and the second node determines whether the first path is faulty based on the response message with higher accuracy.
[0211] Furthermore, since the second node determines whether the first path is faulty with high accuracy, the probability of service interruption caused by the second node switching the path when the first path is not faulty is reduced, thereby improving user experience.
[0212] Optionally, the detection message carries: an operation code, the operation code is used to indicate: generate a response message carrying a list of identifiers that are consistent with the first path and in the opposite direction; the acquisition module is used to: generate a response message when the detection message carries the operation code. When the detection message carries the operation code, the first node can generate a response message according to the instruction of the operation code, so that the efficiency of the first node in generating a response message after receiving the detection message can be improved. The detection message may not carry an operation code, and this application does not limit this.
[0213] Optionally, the first identifier list includes: identifiers of multiple intermediate nodes on the first path; the second identifier list also includes: identifiers of multiple intermediate nodes; the arrangement order of the identifiers of the multiple intermediate nodes in the second identifier list is opposite to the arrangement order of the identifiers of the multiple intermediate nodes in the first identifier list. In this case, the consistency between the first path and the second path is further improved, and the accuracy of the second node in determining whether the first path is faulty based on the response message is also further improved.
[0214] Optionally, the plurality of intermediate nodes include: other nodes in the first path except the first node and the second node. In this case, the consistency between the first path and the second path is relatively high.
[0215] Optionally, the obtaining module is used to: obtain a second identification list in reverse order according to the identifications of multiple intermediate nodes included in the first identification list; and encapsulate the second identification list into a response message.
[0216] Optionally, the first identifier includes: the identifier of the port or link through which the first intermediate node receives the detection message. Alternatively, the first identifier may also be the node identifier of the first intermediate node, which is not limited in the present application. It should be noted that when the first identifier includes: the identifier of the port or link through which the first intermediate node receives the detection message, when the first intermediate node sends a response message according to the second identifier list, the response message may be sent from the port or link in the first intermediate node. In this way, it is ensured that the port or link through which the first intermediate node receives the detection message and sends the response message is the same, thereby further improving the consistency of the transmission path of the detection message and the transmission path of the response message.
[0217] When the first identifier in the detection message received by the first node is the identifier of the port or link of the first intermediate node, the identifier of the first intermediate node in the detection message sent by the second node may be different from the first identifier. After receiving the detection message, the first intermediate node needs to update the identifier of the first intermediate node in the detection message to the above-mentioned first identifier.
[0218] Optionally, the second identifier list may further include an identifier of the second node. When the second identifier list includes an identifier of the second node, the identifier of the second node may be obtained by the first node in any manner. For example, the detection message also carries an address of the second node, and the message transmission device further includes: a determination module ( Fig.11 (not shown), used to determine the identifier of the second node according to the address of the second node before obtaining the response message, and the response message includes: the identifier of the second node. The first node may store a correspondence between the address and the identifier of the node, and the first node may determine the identifier of the second node corresponding to the address of the second node according to the correspondence. The function of the determination module can refer to the process of determining the identifier of the second node in the above-mentioned various embodiments.
[0219] Optionally, the detection message includes a first SRH, which carries a first identifier list; the response message includes a second SRH, which carries a second identifier list; or, the detection message includes a first load part, which carries the first identifier list; the response message includes a second load part, which carries the second identifier list.
[0220] Optionally, the detection message is: an SBFD message. The detection message may also be other types of messages, which are not limited in the present application.
[0221] Fig.12 This is a block diagram of another message transmission device provided in an embodiment of the present application. The message transmission device may, for example, belong to the second node in each of the aforementioned embodiments. Fig.12 As shown, the message transmission device includes: a generating module 1201 and a sending module 1202.
[0222] The generation module 1201 is used to generate a detection message, the detection message carries a first identification list, the first identification list is used to indicate a first path from the second node to the first node, and the first identification list includes: an initial identification of a first intermediate node on the first path. The operations performed by the generation module 1201 can refer to the contents related to the second node in the above S401 and S801.
[0223] The sending module 1202 is used to send a detection message to the first node; the detection message is used to instruct the first node: obtain a response message to the detection message, the response message carries a second identifier list; the second identifier list is obtained by the first node according to the first identifier list, the second identifier list is used to indicate a second path from the first node to the second node, and the second identifier list includes: the first identifier of the first intermediate node. The operation performed by the sending module 1202 can refer to the content related to the second node in the above S402 and S802.
[0224] When both the first identifier list and the second identifier list include the first identifier of the first intermediate node, the first path and the second path both pass through the first intermediate node indicated by the first identifier, and the head and tail nodes of the first path and the second path are opposite, so the second path is more consistent with the first path. Therefore, the transmission path of the response message is more consistent with the transmission path of the detection message, the transmission status of the response message is more consistent with the transmission status of the detection message, the transmission status of the response message can reflect the fault status of the first path, and the second node determines whether the first path is faulty based on the response message with higher accuracy.
[0225] Furthermore, since the second node determines whether the first path is faulty with high accuracy, the probability of service interruption caused by the second node switching the path when the first path is not faulty is reduced, thereby improving user experience.
[0226] Optionally, the detection message carries: an operation code; the operation code is used to indicate: generate a response message carrying a list of identifiers that are consistent with the first path and in the opposite direction. When the detection message carries an operation code, the first node can generate a response message according to the instruction of the operation code, so that the efficiency of the first node in generating a response message after receiving the detection message can be improved. The detection message may not carry an operation code, and this application does not limit this.
[0227] Optionally, the first identifier list includes: identifiers of multiple intermediate nodes on the first path; the second identifier list also includes: identifiers of multiple intermediate nodes; the arrangement order of the identifiers of the multiple intermediate nodes in the second identifier list is opposite to the arrangement order of the identifiers of the multiple intermediate nodes in the first identifier list. In this case, the consistency between the first path and the second path is further improved, and the accuracy of the second node in determining whether the first path is faulty based on the response message is also further improved.
[0228] Optionally, the detection message also carries: a first indication; the first indication is used to instruct the first intermediate node: when the detection message carries the first indication, the initial identifier is updated to the first identifier. Accordingly, the first intermediate node may update the initial identifier in the first identifier list to the first identifier of the first intermediate node when the detection message carries the first indication. When the detection message does not carry the first indication, the first intermediate node may not change the initial identifier. In this way, the first intermediate node can determine whether it is necessary to change the identifier in the message based on the first indication, thereby avoiding the first intermediate node changing the identifier in each received message and reducing the power consumption of the first intermediate node.
[0229] Optionally, a flag field in a message header of the detection message carries a first indication.
[0230] Optionally, the detection message includes a first SRH, and the first SRH carries a first identifier list; or, the detection message includes a first load part, and the first load part carries the first identifier list.
[0231] Fig.13 A block diagram of another message transmission device provided in an embodiment of the present application, the message transmission device may belong to Figure 8 In the embodiment shown, the third node on the first path is a path from the second node to the first node. Fig.13 As shown, the message transmission device includes: a first receiving module 1301, an updating module 1302 and a processing module 1303.
[0232] The first receiving module 1301 is used to receive a detection message; the detection message carries a first identification list, the first identification list is used to indicate the first path, and the first identification list includes the initial identification of the third node. The operation performed by the first receiving module 1301 can refer to the content related to the first intermediate node in the above S802.
[0233] The updating module 1302 is used to update the initial identifier in the first identifier list to the first identifier of the third node, and obtain an updated detection message. The operation performed by the updating module 1302 can refer to the content related to the first intermediate node in the above S803.
[0234] The processing module 1303 is used to process the updated detection message. The operations performed by the processing module 1303 can refer to the contents related to the first intermediate node in the above S804.
[0235] The third node may be the first node on the first path, or the first intermediate node on the first path. The first intermediate node is any intermediate node on the first path. When the third node is the first node, the processing module 1303 is used to generate a response message according to the updated detection message. When the third node is the first intermediate node, the processing module 1303 is used to send the updated detection message.
[0236] When the third node is the first intermediate node, since the first intermediate node updates the identifier of the first intermediate node in the detection message, the second identifier list in the response message generated by the first node according to the detection message includes: the first identifier of the first intermediate node, and the first identifier is the identifier of the port or link of the first intermediate node receiving the detection message, therefore, when the first intermediate node sends a response message according to the second identifier list, it can send the response message from the port or link in the first intermediate node. In this way, it is ensured that the port or link where the first intermediate node receives the detection message and sends the response message is the same, thereby further improving the consistency of the transmission path of the detection message and the transmission path of the response message.
[0237] The initial identifier of the third node is different from the first identifier. Optionally, the initial identifier includes: the node identifier of the third node, such as the node identifier may be Node SID; the first identifier includes: the identifier of the port or link where the third node receives the detection message, such as the first identifier may be End.X SID.
[0238] Optionally, the detection message also carries: a first indication, and the update module is used to: when the detection message carries the first indication, update the initial identifier to the first identifier. In this way, the third node can determine whether it is necessary to change the identifier in the message according to the first indication, thereby avoiding the third node from changing the identifier in each received message, and reducing the power consumption of the third node.
[0239] Optionally, the message transmission device further includes: a second receiving module and a sending module ( Fig.13 The two modules are not shown in the figure). Among them, the second receiving module is used to receive a response message of the detection message after sending the updated detection message according to the first identification list; the response message carries a second identification list, the second identification list is used to indicate the second path from the first node to the second node, and the second identification list includes the first identification; the sending module is used to send a response message according to the second identification list. The operation performed by the second receiving module can refer to the content related to the first intermediate node in the above S806, and the operation performed by the sending module can refer to the content related to the first intermediate node in the above S807.
[0240] In the case of adopting an integrated unit, the message transmission device for the first node, the second node or the third node provided in the present application may include a processing module, a storage module and a communication module. Among them, the processing module can be used to control and manage the actions of the message transmission device, for example, it can be used to support the message transmission device to perform the actions performed by the first node or the second node in the above S401 to S404, or it can be used to support the message transmission device to perform the actions performed by the first node, the second node or the first intermediate node in the above S801 to S807. The storage module can be used to support the message transmission device to execute storage program codes and data, etc. The communication module can be used for communication between the message transmission device and other devices.
[0241] Among them, the processing module can be a processor or a controller. It can implement or execute various exemplary logic boxes, modules and circuits described in conjunction with the disclosure of this application. The processor can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of digital signal processing (DSP) and a microprocessor, etc. The storage module can be a memory. The communication module can specifically be a device that interacts with other devices, such as a radio frequency circuit, a Bluetooth chip, a Wi-Fi chip, etc.
[0242] In one embodiment, when the processing module is a processor, the storage module is a memory, and the communication module is a communication interface, the message transmission device involved in this embodiment can be a Figure 2 In one implementation, the above modules included in the message transmission device can be computer programs stored in a memory and called by a processor to implement the corresponding execution functions of each module.
[0243] According to the above content, it can be known that the communication system provided in the embodiment of the present application includes: a first node and a second node. The first node may include Fig.11 The message transmission device shown, the second node may include Fig.12 The message transmission device shown,
[0244] For example, the second node is used to generate a detection message and send the detection message to the first node. The detection message generated by the second node carries a first identifier list, the first identifier list is used to indicate a first path from the second node to the first node, and the first identifier list includes: an initial identifier of a first intermediate node on the first path.
[0245] The first node is used to: receive a detection message, obtain a response message to the detection message, and send a response message according to the second identifier list carried in the response message. The detection message received by the first node carries a first identifier list, the first identifier list is used to indicate the first path from the second node to the first node, and the first identifier list includes: the first identifier of the first intermediate node on the first path; the response message carries a second identifier list, the second identifier list is obtained by the first node according to the first identifier list, the second identifier list is used to indicate the second path from the first node to the second node, and the second identifier list includes the first identifier.
[0246] Optionally, the detection message carries: an operation code, the operation code is used to indicate: generate a response message carrying an identifier list indicating a path consistent with the first path and in the opposite direction; the first node is used to generate a response message when the detection message carries the operation code.
[0247] Optionally, the first identifier list includes: identifiers of multiple intermediate nodes on the first path; the second identifier list also includes: identifiers of multiple intermediate nodes; the arrangement order of the identifiers of multiple intermediate nodes in the second identifier list is opposite to the arrangement order of the identifiers of multiple intermediate nodes in the first identifier list.
[0248] Optionally, the multiple intermediate nodes include: other nodes in the first path except the first node and the second node.
[0249] Optionally, the first node is used to: obtain a second identifier list in reverse order according to identifiers of multiple intermediate nodes included in the first identifier list; and then encapsulate the second identifier list into a response message.
[0250] Optionally, the detection message also carries the address of the second node, and the first node is further used to: determine the identifier of the second node according to the address of the second node before obtaining the response message, and the response message includes: the identifier of the second node.
[0251] Optionally, the detection message includes a first SRH, which carries a first identifier list; the response message includes a second SRH, which carries a second identifier list; or, the detection message includes a first load part, which carries the first identifier list; the response message includes a second load part, which carries the second identifier list.
[0252] Optionally, the detection message is: an SBFD message.
[0253] Optionally, the communication system provided in the embodiment of the present application further includes a first intermediate node on the first path. The first intermediate node may include Fig.13 The message transmission device shown.
[0254] For example, the first intermediate node is used to: receive a detection message, the detection message carries a first identifier list, the first identifier list is used to indicate a first path, and the first identifier list includes an initial identifier of the first intermediate node. The first intermediate node is also used to, after receiving the detection message, update the initial identifier in the first identifier list to the first identifier of the first intermediate node, obtain an updated detection message, and send the updated detection message according to the first identifier list.
[0255] Optionally, the initial identifier includes: a node identifier of the first intermediate node; the first identifier includes: an identifier of a port or a link through which the first intermediate node receives the detection message.
[0256] Optionally, the detection message further carries: a first indication, and the first intermediate node is used to: when the detection message carries the first indication, update the initial identifier to the first identifier.
[0257] Optionally, the first intermediate node is also used to: after sending the updated detection message according to the first identifier list, receive a response message to the detection message, and send a response message according to the second identifier list carried by the response message. The response message carries the second identifier list, the second identifier list is used to indicate the second path from the first node to the second node, and the second identifier list includes the first identifier.
[0258] According to the above content, the first intermediate node can update the detection message. Optionally, the first node on the first path can also update the detection message after receiving the detection message. The process of the first node updating the detection message can refer to the process of the first intermediate node updating the detection message, and the embodiment of the present application will not be repeated here.
[0259] In this case, the first intermediate node and the first node on the first path can both be called the third node. After receiving the detection message, the third node can update the initial identifier of the third node carried in the first identifier list to the first identifier of the third node, obtain an updated detection message, and then process the updated detection message.
[0260] When the third node is the first node, the third node processing the updated detection message may include: the third node generating a response message according to the updated detection message. When the third node is the first intermediate node, the third node processing the updated detection message may include: the third node sending the updated detection message.
[0261] It can be seen that at least one of the first intermediate node and the second node in the communication system is: Fig.13 The message transmission device shown belongs to the third node.
[0262] An embodiment of the present application provides a computer storage medium, in which a computer program is stored; when the computer program is run on a computer, the computer executes a method performed by a first node, a second node or a first intermediate node in any one of the message transmission methods provided in the embodiments of the present application.
[0263] An embodiment of the present application also provides a computer program product comprising instructions. When the computer program product runs on a message transmission device, the message transmission device executes a method performed by a first node, a second node or a first intermediate node in any one of the message transmission methods provided in the embodiments of the present application.
[0264] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product, and the computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website site, a computer, a server or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server, a data center, etc. that contains one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium, or a semiconductor medium (e.g., a solid-state hard disk), etc.
[0265] In the present application, the terms "first" and "second" are used for descriptive purposes only and cannot be understood as indicating or implying relative importance. The term "at least one" means one or more, and "plurality" means two or more, unless otherwise clearly defined.
[0266] The different types of embodiments such as the method embodiments and device embodiments provided in the embodiments of the present application can refer to each other, and the embodiments of the present application are not limited thereto. The sequence of operations of the method embodiments provided in the embodiments of the present application can be appropriately adjusted, and the operations can also be increased or decreased accordingly according to the circumstances. Any technician familiar with the technical field can easily think of the changed methods within the technical scope disclosed in the present application, and they should be included in the protection scope of the present application, so they will not be repeated.
[0267] In the corresponding embodiments provided in the present application, it should be understood that the disclosed systems and devices, etc. can be implemented by other configuration methods. For example, the device embodiments described above are only schematic, for example, the division of modules is only a logical function division, and there may be other division methods in actual implementation, such as multiple modules can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or modules, which can be electrical or other forms.
[0268] The units described as separate components may or may not be physically separated, and the components described as units may or may not be physical units, and may be located in one place or distributed on multiple devices. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0269] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in the present application, and these modifications or replacements should be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be based on the protection scope of the claims.
Claims
1. A message transmission method, characterized in that: The method is performed by a first node, and includes: Receive a detection message, where the detection message includes a first segment routing extension header SRH, where the first SRH carries a first identifier list, where the first identifier list is used to indicate a first path from the second node to the first node, where the first path is a path of a segment routing SR tunnel, and where the first identifier list includes: a first identifier of a first intermediate node on the first path; the detection message carries: an operation code, where the operation code is used to indicate: generate a response message carrying an identifier list indicating a path that is consistent with the first path and in an opposite direction, where the operation code is a segment identifier SID of the first node; When the detection message carries the operation code, a response message is generated, where the response message includes a second SRH, where the second SRH carries a second identifier list, where the second identifier list is obtained according to the first identifier list, where the second identifier list is used to indicate a second path from the first node to the second node, and where the second identifier list includes the first identifier; Send the response message.
2. The method according to claim 1, characterized in that The first identifier list includes: identifiers of multiple intermediate nodes on the first path; the second identifier list also includes: identifiers of the multiple intermediate nodes; The arrangement order of the identifiers of the multiple intermediate nodes in the second identifier list is opposite to the arrangement order of the identifiers of the multiple intermediate nodes in the first identifier list.
3. The method according to claim 2, characterized in that The multiple intermediate nodes include: other nodes in the first path except the first node and the second node.
4. The method according to claim 2, characterized in that: The generating of the response message comprises: Obtaining the second identification list in reverse order according to the identifications of the multiple intermediate nodes included in the first identification list; Encapsulate the second identifier list into the response message.
5. The method according to claim 3, characterized in that: The generating of the response message comprises: Obtaining the second identification list in reverse order according to the identifications of the multiple intermediate nodes included in the first identification list; Encapsulate the second identifier list into the response message.
6. The method according to any one of claims 1 to 5, characterized in that: The first identifier includes: an identifier of a port or a link through which the first intermediate node receives the detection message.
7. The method according to any one of claims 1 to 5, characterized in that: The detection message also carries the address of the second node, and the method further includes: Before obtaining the response message, the identifier of the second node is determined according to the address of the second node, and the response message includes: the identifier of the second node.
8. The method according to claim 6, characterized in that The detection message also carries the address of the second node, and the method further includes: Before obtaining the response message, the identifier of the second node is determined according to the address of the second node, and the response message includes: the identifier of the second node.
9. The method according to any one of claims 1 to 5 and 8, characterized in that: The detection message is: seamless bidirectional forwarding detection SBFD message.
10. The method according to claim 6, characterized in that The detection message is: seamless bidirectional forwarding detection SBFD message.
11. The method according to claim 7, characterized in that The detection message is: seamless bidirectional forwarding detection SBFD message.
12. A message transmission method, characterized in that: The method is performed by the second node, and the method includes: Generate a detection message, the detection message including a first segment routing extension header SRH, the first SRH carrying a first identifier list, the first identifier list is used to indicate a first path from the second node to the first node, the first path is a path of a segment routing SR tunnel, the first identifier list includes: an initial identifier of a first intermediate node on the first path; the detection message carries: an operation code; the operation code is used to indicate: generate a response message carrying an identifier list indicating a path that is consistent with the first path and in the opposite direction, and the operation code is a segment identifier SID of the first node; Sending the detection message to the first node; Among them, the detection message is used to indicate the first node: when the detection message carries the operation code, a response message is generated, the response message includes a second SRH, and the second SRH carries a second identifier list; the second identifier list is obtained by the first node according to the first identifier list, and the second identifier list is used to indicate the second path from the first node to the second node, and the second identifier list includes: the first identifier of the first intermediate node, and the initial identifier and the first identifier are two different identifiers of the first intermediate node.
13. The method according to claim 12, characterized in that The first identifier list includes: identifiers of multiple intermediate nodes on the first path; the second identifier list also includes: identifiers of the multiple intermediate nodes; The arrangement order of the identifiers of the multiple intermediate nodes in the second identifier list is opposite to the arrangement order of the identifiers of the multiple intermediate nodes in the first identifier list.
14. The method according to claim 12 or 13, characterized in that The detection message also carries: a first indication; The first indication is used to instruct the first intermediate node: when the detection message carries the first indication, update the initial identifier to the first identifier.
15. The method according to claim 14, characterized in that The flag field in the message header of the detection message carries the first indication.
16. A message transmission method, characterized in that: The method is performed by a third node on a first path, the head node of the first path is the second node, the tail node of the first path is the first node, and the first path is a path of a segment routing SR tunnel; the method includes: Receive a detection message; the detection message includes a first segment routing extension header SRH, the first SRH carries a first identifier list, the first identifier list is used to indicate the first path, and the first identifier list includes the initial identifier of the third node; the detection message carries: an operation code, the operation code is used to indicate: generate a response message carrying an identifier list indicating that the path is consistent with the first path and in the opposite direction, and the operation code is the segment identifier SID of the first node; Updating the initial identifier in the first identifier list to the first identifier of the third node to obtain the updated detection message, wherein the initial identifier and the first identifier are two different identifiers of the third node; Processing the updated detection message; Among them, when the first node receives the updated detection message, the updated detection message is used to instruct the first node: when the updated detection message carries the operation code, a response message is generated, and the response message includes a second SRH, and the second SRH carries a second identifier list; the second identifier list is obtained by the first node based on the first identifier list carried by the updated detection message, and the second identifier list is used to indicate the second path from the first node to the second node, and the second identifier list includes the first identifier.
17. The method according to claim 16, characterized in that The initial identifier includes: a node identifier of the third node; The first identifier includes: an identifier of a port or a link through which the third node receives the detection message.
18. The method according to claim 16 or 17, characterized in that The first identifier is the link segment identifier End.XSID.
19. The method according to claim 16 or 17, characterized in that The detection message further carries: a first indication, wherein updating the initial identifier in the first identifier list to the first identifier of the third node includes: When the detection message carries the first indication, the initial identifier is updated to the first identifier.
20. The method according to claim 18, characterized in that The detection message further carries: a first indication, wherein updating the initial identifier in the first identifier list to the first identifier of the third node includes: When the detection message carries the first indication, the initial identifier is updated to the first identifier.
21. The method according to any one of claims 16, 17 and 20, characterized in that: The processing of the updated detection message includes: Sending the updated detection message; After processing the updated detection message, the method further includes: receiving a response message to the detection message; the response message carries a second identifier list, the second identifier list is used to indicate a second path from the first node to the second node, and the second identifier list includes the first identifier; Send the response message.
22. The method according to claim 18, characterized in that The processing of the updated detection message includes: Sending the updated detection message; After processing the updated detection message, the method further includes: receiving a response message to the detection message; the response message carries a second identifier list, the second identifier list is used to indicate a second path from the first node to the second node, and the second identifier list includes the first identifier; Send the response message.
23. The method according to claim 19, characterized in that The processing of the updated detection message includes: Sending the updated detection message; After processing the updated detection message, the method further includes: receiving a response message to the detection message; the response message carries a second identifier list, the second identifier list is used to indicate a second path from the first node to the second node, and the second identifier list includes the first identifier; Send the response message.
24. A message transmission device, characterized in that: The message transmission device belongs to the first node, and the message transmission device includes: a receiving module, configured to receive a detection message, wherein the detection message includes a first segment routing extension header SRH, wherein the first SRH carries a first identifier list, wherein the first identifier list is used to indicate a first path from a second node to the first node, wherein the first path is a path of a segment routing SR tunnel, and wherein the first identifier list includes: a first identifier of a first intermediate node on the first path; the detection message carries: an operation code, wherein the operation code is used to indicate: generating a response message carrying an identifier list indicating a path that is consistent with the first path and in an opposite direction, wherein the operation code is a segment identifier SID of the first node; an obtaining module, configured to generate a response message when the detection message carries the operation code, the response message including a second SRH, the second SRH carrying a second identifier list, the second identifier list being obtained according to the first identifier list, the second identifier list being used to indicate a second path from the first node to the second node, and the second identifier list including the first identifier; A sending module is used to send the response message.
25. The message transmission device according to claim 24, characterized in that: The first identifier list includes: identifiers of multiple intermediate nodes on the first path; the second identifier list also includes: identifiers of the multiple intermediate nodes; The arrangement order of the identifiers of the multiple intermediate nodes in the second identifier list is opposite to the arrangement order of the identifiers of the multiple intermediate nodes in the first identifier list.
26. The message transmission device according to claim 25, characterized in that: The multiple intermediate nodes include: other nodes in the first path except the first node and the second node.
27. The message transmission device according to claim 25, characterized in that: The acquisition module is used for: Obtaining the second identification list in reverse order according to the identifications of the multiple intermediate nodes included in the first identification list; Encapsulate the second identifier list into the response message.
28. The message transmission device according to claim 26, characterized in that: The acquisition module is used for: Obtaining the second identification list in reverse order according to the identifications of the multiple intermediate nodes included in the first identification list; Encapsulate the second identifier list into the response message.
29. The message transmission device according to any one of claims 24 to 28, characterized in that: The first identifier includes: an identifier of a port or a link through which the first intermediate node receives the detection message.
30. The message transmission device according to any one of claims 24 to 28, characterized in that: The detection message also carries the address of the second node, and the message transmission device further includes: A determination module is used to determine the identifier of the second node according to the address of the second node before obtaining the response message, and the response message includes: the identifier of the second node.
31. The message transmission device according to claim 29, characterized in that: The detection message also carries the address of the second node, and the message transmission device further includes: A determination module is used to determine the identifier of the second node according to the address of the second node before obtaining the response message, and the response message includes: the identifier of the second node.
32. The message transmission device according to any one of claims 24 to 28 and 31, characterized in that: The detection message is: seamless bidirectional forwarding detection SBFD message.
33. The message transmission device according to claim 29, characterized in that: The detection message is: seamless bidirectional forwarding detection SBFD message.
34. The message transmission device according to claim 30, characterized in that: The detection message is: seamless bidirectional forwarding detection SBFD message.
35. A message transmission device, characterized in that: The message transmission device belongs to the second node, and the message transmission device includes: A generation module, used to generate a detection message, the detection message includes a first segment routing extension header SRH, the first SRH carries a first identifier list, the first identifier list is used to indicate a first path from the second node to the first node, the first path is a path of a segment routing SR tunnel, and the first identifier list includes: an initial identifier of a first intermediate node on the first path; the detection message carries: an operation code; the operation code is used to indicate: generate a response message carrying an identifier list indicating a path that is consistent with the first path and in the opposite direction, and the operation code is a segment identifier SID of the first node; A sending module, used for sending the detection message to the first node; Among them, the detection message is used to indicate the first node: when the detection message carries the operation code, a response message is generated, the response message includes a second SRH, and the second SRH carries a second identifier list; the second identifier list is obtained by the first node according to the first identifier list, and the second identifier list is used to indicate the second path from the first node to the second node, and the second identifier list includes: the first identifier of the first intermediate node, and the initial identifier and the first identifier are two different identifiers of the first intermediate node.
36. The message transmission device according to claim 35, characterized in that: The first identifier list includes: identifiers of multiple intermediate nodes on the first path; the second identifier list also includes: identifiers of the multiple intermediate nodes; The arrangement order of the identifiers of the multiple intermediate nodes in the second identifier list is opposite to the arrangement order of the identifiers of the multiple intermediate nodes in the first identifier list.
37. The message transmission device according to claim 35 or 36, characterized in that: The detection message also carries: a first indication; The first indication is used to instruct the first intermediate node: when the detection message carries the first indication, update the initial identifier to the first identifier.
38. The message transmission device according to claim 37, characterized in that: The flag field in the message header of the detection message carries the first indication.
39. A message transmission device, characterized in that: The message transmission device belongs to a third node on a first path, the head node of the first path is the second node, the tail node of the first path is the first node, and the first path is a path of a segment routing SR tunnel; The message transmission device comprises: A first receiving module, configured to receive a detection message; the detection message includes a first segment routing extension header SRH, the first SRH carries a first identifier list, the first identifier list is used to indicate the first path, and the first identifier list includes an initial identifier of the third node; the detection message carries: an operation code, the operation code is used to indicate: generate a response message carrying an identifier list indicating a path that is consistent with the first path and in the opposite direction, and the operation code is a segment identifier SID of the first node; an updating module, configured to update the initial identifier in the first identifier list to the first identifier of the third node, to obtain the updated detection message, wherein the initial identifier and the first identifier are two different identifiers of the third node; A processing module, used for processing the updated detection message; Among them, when the first node receives the updated detection message, the updated detection message is used to instruct the first node: when the updated detection message carries the operation code, a response message is generated, and the response message includes a second SRH, and the second SRH carries a second identifier list; the second identifier list is obtained by the first node based on the first identifier list carried by the updated detection message, and the second identifier list is used to indicate the second path from the first node to the second node, and the second identifier list includes the first identifier.
40. The message transmission device according to claim 39, characterized in that: The initial identifier includes: a node identifier of the third node; The first identifier includes: an identifier of a port or a link through which the third node receives the detection message.
41. The message transmission device according to claim 39 or 40, characterized in that: The first identifier is a link segment identifier End.X SID.
42. The message transmission device according to claim 39 or 40, characterized in that: The detection message also carries: a first indication, the update module is used to: When the detection message carries the first indication, the initial identifier is updated to the first identifier.
43. The message transmission device according to claim 41, characterized in that: The detection message also carries: a first indication, the update module is used to: When the detection message carries the first indication, the initial identifier is updated to the first identifier.
44. The message transmission device according to any one of claims 39, 40 and 43, characterized in that: The processing module is used to: send the updated detection message; The message transmission device also includes: A second receiving module, configured to receive a response message to the detection message after the processing module processes the updated detection message; the response message carries a second identifier list, the second identifier list is used to indicate a second path from the first node to the second node, and the second identifier list includes the first identifier; A sending module is used to send the response message.
45. The message transmission device according to claim 41, characterized in that: The processing module is used to: send the updated detection message; The message transmission device also includes: A second receiving module, configured to receive a response message to the detection message after the processing module processes the updated detection message; the response message carries a second identifier list, the second identifier list is used to indicate a second path from the first node to the second node, and the second identifier list includes the first identifier; A sending module is used to send the response message.
46. The message transmission device according to claim 42, characterized in that: The processing module is used to: send the updated detection message; The message transmission device also includes: A second receiving module, configured to receive a response message to the detection message after the processing module processes the updated detection message; the response message carries a second identifier list, the second identifier list is used to indicate a second path from the first node to the second node, and the second identifier list includes the first identifier; A sending module is used to send the response message.
47. A communication device, characterized in that: The communication device comprises: a processor and a memory, wherein a program is stored in the memory; The processor is used to call the program stored in the memory so that the communication device executes the message transmission method according to any one of claims 1 to 11; Alternatively, the processor is used to call the program stored in the memory so that the communication device executes the message transmission method according to any one of claims 12 to 15; Alternatively, the processor is used to call the program stored in the memory so that the communication device executes the message transmission method as described in any one of claims 16 to 23.
48. A communication system, characterized in that: The communication system comprises a first node and a second node; The first node comprises: the message transmission device according to any one of claims 24 to 34; The second node comprises: the message transmission device described in any one of claims 35 to 38.
49. The communication system according to claim 48, characterized in that The communication system further includes: a third node; The third node includes: the message transmission device described in any one of claims 39 to 46.
Citation Information
Patent Citations
Method for transmitting reverse bidirectional forwarding detection (BFD) messages, method for notifying paths and device for notifying paths
CN102624609A
Forwarding method of bidirectional forwarding detection BFD message and network equipment
CN111131021A