Communication method and related equipment
Automatically determine routes based on the clock information of other nodes through the TC node, which solves the high cost problem caused by manual configuration in the PTP domain, and realizes efficient clock message forwarding, which is suitable for loop networking.
Patent Information
- Application Number
- CN202410071495.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-17
- Publication Date
- 2025-07-18
AI Technical Summary
In the PTP domain, clock packet transmission is transmitted by relying on network operation and maintenance personnel to manually configure incoming and outgoing ports, resulting in large labor and material consumption and low processing efficiency, and cannot be applied to networking scenarios where there is a loop.
By receiving clock information from other nodes, the TC node automatically determines the routing and realizes forwarding of clock messages, avoids manual configuration, and is suitable for loop networking.
Save manpower and material resources, improve message processing efficiency, and realize effective forwarding of clock messages in loop networking.
Smart Images

Figure CN120342530A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communications, and in particular, to a communication method and related devices. Background Art
[0002] In a communication network, a network that runs the Precision Time Protocol (PTP) can be referred to as a PTP domain, and the nodes in the PTP domain can be referred to as clock nodes, including ordinary clock (OC) nodes, boundary clock (BC) nodes, and transparent clock (TC) nodes.
[0003] Currently, clock messages can be transmitted between different clock nodes in the PTP domain, enabling each node in the PTP domain to perform time correction based on the clock message to achieve time synchronization for the entire network. Taking the TC node as an example, network operation and maintenance personnel can configure one or more ingress ports, one or more egress ports, and the association relationships between the ingress ports and each egress port on the TC node. Subsequently, after the TC node receives a clock message on one of the ingress ports, the TC node can forward the clock message on the corresponding egress port based on the association relationship to achieve the forwarding of the clock message by the TC node.
[0004] However, in the above implementation process, the transmission of clock messages can only be achieved by relying on the manual configuration method of network operation and maintenance personnel. This implementation method will consume a large amount of manpower and material resources, and also result in low processing efficiency. Summary of the Invention
[0005] This application provides a communication method and related devices. During the transmission of clock messages, the TC node can determine a route based on the clock information of other nodes and forward the clock message based on the route, enabling the TC node to forward the clock message without the need for network operation and maintenance personnel to manually configure the ingress ports and egress ports. This can save manpower and material resources to simplify network operation and maintenance, and also improve the message processing efficiency.
[0006] A first aspect of the present application provides a communication method. This method is executed by a first node, or by some components (such as a processor, a chip, or a chip system, etc.) in the first node, or this method can also be implemented by a logic module or software that can implement all or part of the functions of the first node. In the first aspect and its possible implementation manners, taking the case where this method is executed by the first node as an example for description, the first node can be a communication device such as a router, a switch, a virtual switch, a virtual router, or an intelligent network card. Among them, the first node can be a TC node among N nodes, and N is an integer greater than 1. In this method, the first node receives the clock information of N - 1 nodes, and the N - 1 nodes are the other nodes among the N nodes except the first node; the first node determines a route based on the clock information of the N - 1 nodes, and this route is used to forward clock messages; the first node forwards the clock message based on this route.
[0007] Based on the above technical solution, as a TC node, after the first node receives the clock information of the other N - 1 nodes among the N nodes except the first node, the first node can determine a route based on the clock information of the N - 1 nodes and forward the clock message based on this route. Thus, during the transmission process of the clock message, the TC node can determine a route based on the clock information of other nodes and forward the clock message based on this route, enabling the TC node to forward the clock message without the need for network operation and maintenance personnel to manually configure the input port and output port. This can save manpower and material resources to simplify network operation and maintenance, and at the same time, it can also improve the message processing efficiency.
[0008] In addition, in the implementation manner of manually configuring the input port and output port by network operation and maintenance personnel, since the TC node forwards messages only based on the configured port information of itself, it is limited to the tree topology scenario and cannot be applied to the networking scenario with loops. However, in the above technical solution, the TC node can determine a route based on the clock information of other nodes. In this way, the TC node can avoid the generation of loops during the process of determining the route, enabling the solution to be applied to the networking scenario with loops and realizing the routing and forwarding of clock messages in this networking scenario.
[0009] It should be understood that among the N nodes, except for the first node, the other N - 1 nodes can include at least one of one or more TC nodes, one or more BC nodes, and one or more OC nodes.
[0010] It should be understood that the routing path indicated by the routing determined by the first node includes some or all of the N nodes. Optionally, in addition to including the N nodes, the routing path may further include other nodes outside the N nodes, such as the time-synchronized nodes.
[0011] Optionally, the N nodes may be different nodes within the same PTP domain, so that the first node can determine the routing within the PTP domain based on the clock information of different nodes within the same PTP domain, and forward the clock messages within the PTP domain based on this routing. Or, the N nodes may include different nodes within two or more PTP domains, so that the first node can determine the routing within the two or more PTP domains based on the clock information of different nodes, and forward the clock messages within the two or more PTP domains based on this routing.
[0012] Optionally, the clock information of the N - 1 nodes respectively corresponds to the other N - 1 nodes among the N nodes except the first node. In other words, the clock information of the N - 1 nodes is in one-to-one correspondence with the N - 1 nodes. For example, the i-th clock information among the clock information of the N - 1 nodes is the clock information of the i-th node among the other N - 1 nodes among the N nodes except the first node, where i ranges from 1 to N - 1.
[0013] Optionally, during the process of the first node determining the routing based on the clock information of the N - 1 nodes, the first node may also determine the routing based on the node information of the first node. In other words, the basis for determining the routing may include, in addition to the clock information of the N - 1 nodes, the node information of the first node. For example, the node information of the first node may include one or more of the node identifier of the first node, the local node information of the first node, and the neighbor node information of the first node.
[0014] In a possible implementation manner of the first aspect, the clock information of the N - 1 nodes satisfies at least one of the following:
[0015] Each of the clock information of the N - 1 nodes includes local node information, and the local node information includes at least one of the indication information indicating whether the local node is a server node, the indication information indicating whether the local node is a client node, and the clock accuracy information of the local node; or,
[0016] Each of the clock information of the N - 1 nodes includes neighbor node information, and the neighbor node information includes at least one of the identifier of the neighbor node and the link accuracy information between the neighbor node and the local node; or,
[0017] Each of the clock information of the N - 1 nodes includes algorithm indication information, or each of the clock information of M nodes among the clock information of the N - 1 nodes includes the algorithm indication information, where the M nodes are server nodes and M is a positive integer; wherein, the algorithm indication information is used to indicate the algorithm for determining the route.
[0018] Based on the above technical solution, the clock message can be used for time synchronization, and the clock accuracy of each node on the transmission path of the clock message, the link accuracy between different nodes, and the algorithm for determining the route may all affect the effect of the time synchronization. In other words, the route is associated with at least one of the local node information of each node on the route path, the neighbor node information of each node, and the algorithm indication information of some or all nodes, that is, the clock information of the N - 1 nodes satisfies at least one of the above, so that the first node can determine the route based on the clock information of the N - 1 nodes.
[0019] In a possible implementation manner of the first aspect, the transmission path of the clock message includes the path indicated by the route, and the transmission path of the clock message satisfies any one of the following:
[0020] When the algorithm indication information takes a first value, the transmission path of the clock message is a path determined based on the number of hops (for example, the path with the shortest number of hops); or,
[0021] When the algorithm indication information takes a second value, the transmission path of the clock message is a path determined based on the clock accuracy of the node; or,
[0022] When the algorithm indication information takes a third value, the transmission path of the clock message is a path determined based on the clock accuracy of the node and the link accuracy information between adjacent nodes.
[0023] Based on the above technical solution, different values of the algorithm indication information can be used to indicate different algorithms. Correspondingly, through the indication of the algorithm indication information, different TC nodes in the network can determine the route for forwarding the clock message based on the same algorithm, so that each node can forward the clock message based on the same path.
[0024] In a possible implementation of the first aspect, any clock information among the clock information of the N - 1 nodes is carried in a link state packet (LSP) message of the intermediate system to intermediate system (IS-IS) protocol, and the LSP message satisfies at least one of the following: the local node information is carried in a node subtype length value (TLV) (such as an extended TLV in the node sub-TLV), the algorithm indication information is carried in the FAD sub-TLV in the node sub-TLV, and the neighbor node information is carried in the neighbor sub-TLV in the LSP message (such as an extended TLV in the neighbor sub-TLV).
[0025] Optionally, the N nodes can be different nodes in the same FAD shard. In this way, the TC node can determine the route based on the clock information of other nodes within the same FAD shard.
[0026] Based on the above technical solution, any clock information among the clock information of the N - 1 nodes can be carried in the LSP message of the IS-IS protocol. In this way, the above solution can be applied to the network sharding scenario based on FAD.
[0027] Optionally, any clock information among the clock information of the N - 1 nodes can be carried in the LSP message. Among them, the clock information of the N - 1 nodes can be carried in N - 1 LSP messages respectively. Among them, the N - 1 LSP messages can also include other information. For example, any one of the N - 1 LSP messages further includes a segment routing (SR) sub-TLV, the SR sub-TLV includes an Algorithm field, and the FAD sub-TLV includes a Flex-Algorithm field; wherein, the values of the Algorithm field and the Flex-Algorithm field are the same.
[0028] In a possible implementation of the first aspect, the transmission path of the clock message includes the path indicated by the route. The transmission path of the clock message includes M paths, and the root nodes of the M paths are the M nodes respectively.
[0029] Based on the above technical solution, on the transmission path of the clock message, M paths can be established with each of the M Server nodes as the root node. Since different Server nodes can be different clock sources, through the above implementation method, the paths corresponding to each Server node can be established, so that in the case of a failure of a certain path, the clock message can be quickly forwarded based on other paths, enabling the downstream nodes to quickly obtain clock synchronization from the clock source.
[0030] In a possible implementation manner of the first aspect, the transmission path of the clock message includes the path indicated by the routing, and the clock information of the N - 1 nodes satisfies any one of the following:
[0031] The transmission path of the clock message is a path determined based on the number of hops (for example, the path with the shortest number of hops), and the value of each clock information in the clock information of the N - 1 nodes is pre - configured; or,
[0032] The transmission path of the clock message is a path determined based on the clock accuracy of the nodes, and each clock information in the clock information of the N - 1 nodes includes the clock accuracy information of the node itself; or,
[0033] The transmission path of the clock message is a path determined based on the clock accuracy of the nodes and the link accuracy information between adjacent nodes. Each clock information in the clock information of the N - 1 nodes includes the clock accuracy information of the node itself, and the link accuracy information between the neighbor node and the node itself.
[0034] Based on the above technical solution, the algorithm for determining the transmission path of the clock message can be pre - configured. For example, the path determined by the algorithm can be the path with the shortest number of hops, the path determined based on the clock accuracy of the nodes, the path determined based on the clock accuracy of the nodes and the link accuracy information between adjacent nodes, etc. Correspondingly, the first node obtains the information required by the algorithm through the clock information of the N - 1 received nodes.
[0035] In a possible implementation manner of the first aspect, the clock information of the N - 1 nodes satisfies any one of the following:
[0036] Any one of the clock information of the N - 1 nodes is carried in the multi - topology intermediate system TLV (MT IS TLV) in the LSP message of the IS - IS protocol, and the LSP message includes the multi - topology identifier (MT ID) of the interface that sends the any one of the clock information; or,
[0037] Any one of the clock information of the N - 1 nodes is carried in the multi - topology intermediate system TLV (MT IS TLV) in the Hello message of the IS - IS protocol. The Hello message includes the MTID of the interface that sends the any clock information; or,
[0038] Any one of the clock information of the N - 1 nodes is carried in the neighbor sub - TLV in the LSP message of the IS - IS protocol. The LSP message includes the instance identifier (IID) of the interface that sends the any clock information; or,
[0039] Any one of the clock information of the N - 1 nodes is carried in the neighbor sub - TLV in the Hello message of the IS - IS protocol. The Hello message includes the IID of the interface that sends the said any clock information.
[0040] Based on the above technical solution, the N - 1 clock information received by the first node can be carried by the LSP message or the Hello message. And, the MT ID or IID can be carried in the LSP message or the Hello message. In this way, the solution can be applicable to the network sharding scenario based on multi - topology or multi - instance.
[0041] Optionally, any one of the clock information of the N - 1 nodes can be carried in the LSP message or the Hello message. Among them, the clock information of the N - 1 nodes can be respectively carried in N - 1 LSP messages or N - 1 Hello messages. Among them, the N - 1 LSP messages or N - 1 Hello messages can also include other information. For example, any one of the N - 1 LSP messages or N - 1 Hello messages also includes the prefix information of the N - 1 nodes.
[0042] In a possible implementation manner of the first aspect, any one of the clock information of the N - 1 nodes is carried in the LSP message of the IS - IS protocol, the link state advertisement (LSA) message of the open shortest path first (OSPF) protocol, the node network layer reachable information (Node NLRI) message of the border gateway protocol (BGP) protocol, or the link network layer reachable information (Link NLRI) message of the BGP protocol.
[0043] Based on the above technical solution, the clock information of N - 1 nodes received by the first node can be carried in the packets of any of the above - mentioned protocols, so as to improve the flexibility of scheme implementation.
[0044] In a possible implementation manner of the first aspect, M of the N nodes are server nodes, and M is an integer greater than 1.
[0045] Based on the above technical solution, the routing path indicated by the routing determined by the first node includes some or all of the N nodes. Among the N nodes, there may be M server nodes and M > 1. The server node can be connected to a clock source. In other words, the above technical solution can be applied to a scenario where there are two or more server nodes to provide one or more backup clock sources and support the TC node to determine the routing for forwarding clock packets in this scenario.
[0046] Optionally, the root node of the routing path indicated by the routing determined by the first node can be the server node or the first node, which is not limited here.
[0047] In a possible implementation manner of the first aspect, the clock packet includes at least one of the following: sync packet, Signaling packet, Announce packet, Follow_Up packet, Grant packet, Delay_Req packet, Delay_Resp packet.
[0048] Based on the above technical solution, the clock packets received or sent by the first node can include at least one of the above, so as to improve the flexibility of scheme implementation.
[0049] A second aspect of the present application provides a communication method, which is executed by a second node, or by some components in the second node (such as a processor, a chip, or a chip system, etc.), or the method can also be implemented by a logic module or software that can implement all or part of the functions of the second node. In the second aspect and its possible implementation manners, taking the method being executed by the second node as an example for description, the second node can be a communication device such as a router, a switch, a virtual switch, a virtual router, or a smart network card. Among them, the second node can be a node among the N nodes, and N is an integer greater than 1. In this method, the second node determines the clock information of the second node; the second node sends the clock information of the second node, and the clock information of the second node is used to determine the routing, and the routing is used to forward clock packets.
[0050] Based on the above technical solution, the second node can send the clock information of the second node, so that the TC node (such as the first node) can, after receiving the clock information of the second node, determine the route for forwarding the clock message based on the clock information of the second node, and forward the clock message based on this route. Thus, during the transmission of the clock message, the TC node can determine the route based on the clock information of other nodes (such as the second node), and forward the clock message based on this route, enabling the TC node to forward the clock message without the need for network operation and maintenance personnel to manually configure the ingress port and egress port. This can save manpower and material resources to simplify network operation and maintenance, and at the same time improve the message processing efficiency.
[0051] In addition, in the implementation method of manually configuring the ingress port and egress port by network operation and maintenance personnel, since the TC node only forwards messages based on the configured port information of itself, it is limited to the tree topology scenario and cannot be applied to the network scenario with loops. However, in the above technical solution, the TC node can determine the route based on the clock information of other nodes. In this way, the TC node can avoid the generation of loops during the process of determining the route, enabling the solution to be applied to the network scenario with loops and realizing the routing and forwarding of clock messages in this network scenario.
[0052] Optionally, the second node is a TC node or a BC node.
[0053] In a possible implementation manner of the second aspect, the clock information of the second node satisfies at least one of the following:
[0054] The clock information of the second node includes the local node information, and the local node information includes at least one of the indication information indicating whether the local node is a server node, the indication information indicating whether the local node is a client node, and the clock accuracy information of the local node; or,
[0055] The clock information of the second node includes neighbor node information, and the neighbor node information includes at least one of the identifier of the neighbor node and the link accuracy information between the neighbor node and the local node; or,
[0056] The clock information of the second node includes algorithm indication information, and the algorithm indication information is used to indicate the algorithm for determining the route.
[0057] Based on the above technical solution, the clock message can be used for time synchronization, and the clock accuracy of each node on the transmission path of the clock message, the link accuracy between different nodes, and the algorithm for determining the route may all affect the effect of this time synchronization. In other words, the route is associated with at least one of the local node information of each node on the route path, the neighbor node information of each node, and the algorithm indication information of some or all nodes, that is, the clock information of the second node satisfies at least one of the above, so that the TC node can determine the route based on the clock information of N - 1 nodes.
[0058] In a possible implementation manner of the second aspect, the transmission path of the clock message includes the path indicated by the route, and the transmission path of the clock message satisfies any one of the following:
[0059] When the algorithm indication information is the first value, the transmission path of the clock message is a path determined based on the number of hops (for example, the path with the shortest number of hops); or,
[0060] When the algorithm indication information is the second value, the transmission path of the clock message is a path determined based on the clock accuracy of the nodes; or,
[0061] When the algorithm indication information is the third value, the transmission path of the clock message is a path determined based on the clock accuracy of the nodes and the link accuracy information between adjacent nodes.
[0062] Based on the above technical solution, different values of the algorithm indication information can be used to indicate different algorithms. Correspondingly, through the indication of the algorithm indication information, different TC nodes in the network can determine the route for forwarding the clock message based on the same algorithm, so that each node can forward the clock message based on the same path.
[0063] In a possible implementation manner of the second aspect, when the clock information of the second node is carried in the LSP message of the IS-IS protocol, the LSP message satisfies at least one of the following: the local node information is carried in the node sub-TLV (such as the extended sub-TLV) in the LSP message, the algorithm indication information is carried in the FAD sub-TLV in the node sub-TLV, and the neighbor node information is carried in the neighbor sub-TLV (such as the extended sub-TLV) in the LSP message.
[0064] Optionally, the N nodes can be different nodes in the same FAD shard. In this way, the TC node can determine the route based on the clock information of other nodes within the same FAD shard.
[0065] Based on the above technical solution, the clock information of the second node can be carried in the LSP packet of the IS-IS protocol. In this way, the above solution can be applied to the network fragmentation scenario based on FAD.
[0066] Optionally, the LSP packet further includes a segment routing (SR) sub-TLV, the SR sub-TLV includes an Algorithm field, and the FAD sub-TLV includes a Flex-Algorithm field; wherein, the values of the Algorithm field and the Flex-Algorithm field are the same.
[0067] In a possible implementation of the second aspect, the transmission path of the clock packet includes the path indicated by the route. The transmission path of the clock packet includes M paths, and the root nodes of the M paths are the M nodes respectively.
[0068] Based on the above technical solution, on the transmission path of the clock packet, M paths can be established with each of the M Server nodes as the root node. Since different Server nodes can be different clock sources, through the above implementation, paths corresponding to each Server node can be established, so that in the case of a failure of a certain path, the clock packet can be quickly forwarded based on other paths, enabling downstream nodes to quickly obtain clock synchronization from the clock source.
[0069] In a possible implementation of the second aspect, the transmission path of the clock packet includes the path indicated by the route. The transmission path of the clock packet includes M paths, and the root nodes of the M paths are the M nodes respectively.
[0070] Based on the above technical solution, on the transmission path of the clock packet, M paths can be established with each of the M Server nodes as the root node. Since different Server nodes can be different clock sources, through the above implementation, paths corresponding to each Server node can be established, so that in the case of a failure of a certain path, the clock packet can be quickly forwarded based on other paths, enabling downstream nodes to quickly obtain clock synchronization from the clock source.
[0071] In a possible implementation of the second aspect, the transmission path of the clock packet includes the path indicated by the route, and the transmission path of the clock packet satisfies any one of the following:
[0072] The transmission path of the clock packet is a path determined based on the number of hops (such as the path with the shortest number of hops), and the value of the clock information of the second node is pre-configured; or,
[0073] The transmission path of the clock message is a path determined based on the clock accuracy of the nodes, and the clock information of the second node includes the clock accuracy information of the local node; or,
[0074] The transmission path of the clock message is a path determined based on the clock accuracy of the nodes and the link accuracy information between adjacent nodes. The clock information of the second node includes the clock accuracy information of the local node, and the link accuracy information between the neighbor node and the local node.
[0075] Based on the above technical solution, the algorithm for determining the transmission path of the clock message can be pre-configured. For example, the path determined by the algorithm can be the path with the shortest number of hops, the path determined based on the clock accuracy of the nodes, the path determined based on the clock accuracy of the nodes and the link accuracy information between adjacent nodes, etc. Correspondingly, the first node obtains the information required by the algorithm through the clock information of the N-1 received nodes.
[0076] In a possible implementation manner of the second aspect, the clock information of the second node satisfies any one of the following:
[0077] The clock information of the second node is carried in the multi-topology intermediate system type length value MT IS TLV in the LSP message of the IS-IS protocol. The LSP message includes the multi-topology identifier MT ID of the interface that sends the clock information of the second node; or,
[0078] The clock information of the second node is carried in the MT IS TLV in the Hello message of the IS-IS protocol. The Hello message includes the MT ID of the interface that sends the clock information of the second node; or,
[0079] The clock information of the second node is carried in the neighbor sub-TLV in the LSP message of the IS-IS protocol. The LSP message includes the instance identifier IID of the interface that sends the clock information of the second node; or,
[0080] The clock information of the second node is carried in the neighbor sub-TLV in the Hello message of the IS-IS protocol. The Hello message includes the IID of the interface that sends the clock information of the second node.
[0081] Based on the above technical solution, the clock information of the second node sent by the second node can be carried by the LSP message or the Hello message, and the MT ID or the IID can be carried in the LSP message or the Hello message. In this way, the solution can be applied to the network slicing scenario based on multi-topology or multi-instance.
[0082] It should be understood that the clock information of the second node sent can be carried in an LSP packet or a Hello packet. The LSP packet or the Hello packet can carry other information, such as the prefix information of the second node.
[0083] In a possible implementation manner of the second aspect, the clock information of the second node is carried in a Link State Packet (LSP) of the Intermediate System to Intermediate System (IS-IS) protocol, a Link State Advertisement (LSA) of the Open Shortest Path First (OSPF) protocol, a Node Network Layer Reachability Information (Node NLRI) of the Border Gateway Protocol (BGP), or a Link Network Layer Reachability Information (Link NLRI) of the BGP protocol.
[0084] Based on the above technical solution, the clock information of the second node sent can be carried in the packet of any of the above protocols to improve the flexibility of the solution implementation.
[0085] In a possible implementation manner of the second aspect, M of the N nodes are server nodes, and M is an integer greater than 1.
[0086] Based on the above technical solution, the routing path indicated by the routing determined based on the clock information of the second node includes at least N nodes. Among the N nodes, M Server nodes can be included and M is greater than 1. The Server node can be a clock source. In other words, the above technical solution can be applied to a scenario with two or more Server nodes to provide one or more backup clock sources and support the TC node to determine the routing for forwarding the clock packet in this scenario.
[0087] In a possible implementation manner of the second aspect, the clock packet includes at least one of the following: a Sync packet, a Signaling packet, an Announce packet, a Follow_Up packet, a Grant packet, a Delay_Req packet, and a Delay_Resp packet.
[0088] Based on the above technical solution, the clock packet received or sent by the first node can include at least one of the above to improve the flexibility of the solution implementation.
[0089] A third aspect of the present application provides a communication device, which can implement the method in the first aspect or any possible implementation manner of the first aspect. The device includes corresponding units or modules for executing the above method. The units or modules included in the device can be implemented in software and / or hardware. For example, the device can be a first node, or the device can be a component in the first node (such as a processor, a chip, or a chip system, etc.), or the device can also be a logical module or software that can implement all or part of the functions of the first node.
[0090] The device includes a transceiver unit and a processing unit; the transceiver unit is configured to receive clock information of N - 1 nodes, where the N - 1 nodes are other nodes except the first node among the N nodes; the processing unit is configured to determine a route based on the clock information of the N - 1 nodes, and the route is used for forwarding clock messages; the transceiver unit is further configured to forward the clock messages based on the route.
[0091] A fourth aspect of the present application provides a communication device, which can implement the method in the second aspect or any possible implementation manner of the second aspect. The device includes corresponding units or modules for executing the above method. The units or modules included in the device can be implemented in software and / or hardware. For example, the device can be a second communication device, or the device can be a component in the second communication device (such as a processor, a chip, or a chip system, etc.), or the device can also be a logical module or software that can implement all or part of the functions of the second communication device.
[0092] The device includes a transceiver unit and a processing unit; the processing unit is configured to determine the clock information of the second node; the transceiver unit is configured to send the clock information of the second node, and the clock information of the second node is used to determine a route, and the route is used for forwarding clock messages.
[0093] A fifth aspect of the present application provides a communication device. The communication device includes at least one processor, and the at least one processor is configured to execute a program or an instruction stored in a memory, so that the device implements the method described in the foregoing first aspect or any possible implementation manner of the first aspect.
[0094] A sixth aspect of the present application provides a communication device. The communication device includes at least one processor, and the at least one processor is configured to execute a program or an instruction stored in a memory, so that the device implements the method described in the foregoing second aspect or any possible implementation manner of the second aspect.
[0095] A seventh aspect of the present application provides a communication device, including at least one logic circuit and an input-output interface; the logic circuit is configured to execute the method described in the foregoing first aspect or any possible implementation manner of the first aspect.
[0096] The eighth aspect of the present application provides a communication device, including at least one logic circuit and an input / output interface; the logic circuit is configured to execute the method described in the second aspect or any possible implementation manner of the second aspect as mentioned above.
[0097] The ninth aspect of the present application provides a computer-readable storage medium for storing computer instructions; when the computer instructions are executed by a processor, the processor executes the method described in the first aspect or any possible implementation manner of the first aspect as mentioned above, or the processor executes the method described in the second aspect or any possible implementation manner of the second aspect as mentioned above.
[0098] The tenth aspect of the present application provides a computer program product (or computer program), the computer program product includes instructions, when the instructions in the computer program product are executed by a processor, the processor executes the method of the first aspect or any possible implementation manner of the first aspect as mentioned above, or the processor executes the method of the second aspect or any possible implementation manner of the second aspect as mentioned above.
[0099] The eleventh aspect of the present application provides a chip system, the chip system includes a communication interface and a processor, the communication interface and the processor are coupled, and are configured to support the communication device to implement the functions involved in the first aspect or any possible implementation manner of the first aspect as mentioned above, or to support the communication device to implement the functions involved in the second aspect or any possible implementation manner of the second aspect as mentioned above.
[0100] In a possible design, the chip system may further include a memory for storing necessary program instructions and data of the communication device. The chip system may be composed of chips or may include chips and other discrete devices. Optionally, the chip system further includes an interface circuit, and the interface circuit provides program instructions and / or data for the at least one processor.
[0101] The twelfth aspect of the present application provides a communication system, the communication system includes the communication device of the third aspect and the communication device of the fourth aspect as mentioned above, or the communication system includes the communication device of the fifth aspect and the communication device of the sixth aspect as mentioned above, or the communication system includes the communication device of the seventh aspect and the communication device of the eighth aspect as mentioned above.
[0102] Optionally, the communication system further includes other devices in the above implementation manners, such as other nodes in N nodes, etc.
[0103] Wherein, for the technical effects brought by any design manner from the third aspect to the twelfth aspect, reference may be made to the technical effects brought by different implementation manners from the first aspect to the second aspect as mentioned above, and details are not described herein again. Description of the Drawings
[0104] Figure 1a It is a schematic diagram of the PTP system related to this application;
[0105] Figure 1b It is a schematic diagram of the PTP message interaction related to this application;
[0106] Figure 1c It is another schematic diagram of the PTP message interaction related to this application;
[0107] Figure 1d It is another schematic diagram of the PTP message interaction related to this application;
[0108] Figure 1e It is another schematic diagram of the PTP message interaction related to this application;
[0109] Figure 2a It is a schematic diagram of the flexible algorithm message related to this application;
[0110] Figure 2b It is another schematic diagram of the flexible algorithm message related to this application;
[0111] Figure 3a It is another schematic diagram of the PTP message interaction related to this application;
[0112] Figure 3b It is another schematic diagram of the PTP message interaction related to this application;
[0113] Figure 3c It is another schematic diagram of the PTP message interaction related to this application;
[0114] Figure 4 It is a schematic diagram of an implementation of the communication method provided by this application;
[0115] Figure 5 It is a schematic diagram of an implementation of the communication scenario provided by this application;
[0116] Figures 6a to 6d They are some schematic diagrams of the message format provided by this application;
[0117] Figure 7a It is a schematic diagram of an application of the communication method provided by this application;
[0118] Figure 7b It is another schematic diagram of an application of the communication method provided by this application;
[0119] Figure 8 It is a schematic diagram of the communication device provided by this application;
[0120] Figure 9 It is another schematic diagram of the communication device provided by this application. Detailed implementation manners
[0121] In the embodiments of the present application, the terms "system" and "network" can be used interchangeably. "At least one" means one or more, and "a plurality" means two or more. "And / or" describes the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, or B exists alone, where A and B can be singular or plural. The character " / " generally represents an "or" relationship between the associated objects before and after. "At least one (item)" or its similar expression refers to any combination of these items, including any combination of single item (item) or plural items (items). For example, "at least one of A, B, and C" includes A, B, C, AB, AC, BC, or ABC. Also, unless otherwise specified, the ordinal numbers such as "first" and "second" mentioned in the embodiments of the present application are used to distinguish multiple objects and are not used to limit the order, time sequence, priority, or importance degree of multiple objects.
[0122] It should be noted that in the present application, words such as "exemplary" or "for example" are used to give examples, illustrations, or explanations. Any embodiment or design solution described as "exemplary" or "for example" in the present application should not be construed as being more preferred or having more advantages than other embodiments or design solutions. Rather, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific manner.
[0123] It should be understood that in the present application, "when", "if", and "in case" all refer to the device making corresponding processing under a certain objective situation, which does not limit time, and it is not required that the device must have a judgment action when implemented, nor does it mean there are other limitations.
[0124] In the present application, unless otherwise specified, the same or similar parts between various embodiments or implementation manners can be referred to each other. In the various embodiments of the present application, as well as in each implementation manner / implementation method / realization method in each embodiment, if there is no special specification and logical conflict, the terms and / or descriptions between different embodiments, as well as between each implementation manner / implementation method / realization method in each embodiment, are consistent and can be mutually referred to. The technical features in different embodiments, as well as in each implementation manner / implementation method / realization method in each embodiment, can be combined to form new embodiments, implementation manners, implementation methods, or realization methods according to their inherent logical relationships. The implementation manners of the present application described below do not constitute a limitation on the protection scope of the present application.
[0125] First, some terms in the embodiments of the present application are explained to facilitate the understanding of those skilled in the art.
[0126] (1) Precision Time Protocol (PTP). PTP is a time protocol for network measurement and control systems, which can achieve high network time synchronization accuracy and realize high-precision clock synchronization. Among them, clock synchronization can refer to frequency synchronization, time synchronization, or both frequency synchronization and time synchronization.
[0127] It should be noted that the 1588 protocol / standard involved in this application may include, but is not limited to, IEEE 1588-2008 which is the 1588v2 standard, IEEE 1588-2019 which is the 1588v2.1 standard, or other future-evolved 1588 standards.
[0128] Generally, compared with various other time synchronization mechanisms, PTP has the following advantages.
[0129] For example, compared with the Network Time Protocol (NTP), PTP can meet higher-precision time synchronization requirements: NTP generally can only achieve sub-second time synchronization accuracy, while PTP can reach sub-microsecond level.
[0130] Another example is that compared with the Global Positioning System (GPS), PTP has lower construction and maintenance costs.
[0131] (2) Basic concepts of PTP.
[0132] ① PTP domain: The network to which the PTP protocol is applied can be called a PTP domain.
[0133] Optionally, there is exactly one synchronization clock in the PTP domain, and all devices in the PTP domain are synchronized with this clock.
[0134] ② PTP port: The port on which the PTP protocol runs on a device can be called a PTP port.
[0135] Exemplarily, as Figure 1a shown, the roles of PTP ports can include the following three types:
[0136] Master Port: The port that publishes the synchronization time, which can exist on the BC or OC. In Figure 1a and subsequent examples, it can be the port "M". For example, in Figure 1a , the port "M" can be the port corresponding to the circular mark on BC1 / BC2 / BC3.
[0137] Slave Port: The port that receives the synchronization time, which can exist on a boundary clock (BC) or an ordinary clock (OC). In Figure 1a and the following examples, it can be the port "S". For example, in Figure 1a , the port "S" can be the port corresponding to the rectangular mark on OC1 / OC2 / OC3 / OC4 / OC5 / OC6 / BC2 / BC3.
[0138] Passive Port: The alternative port that receives the synchronization time, which can exist on a BC. In Figure 1a and the following examples, it can be the port "P". For example, in Figure 1a , the port "P" can be the port corresponding to the triangular mark on BC3.
[0139] (3) Clock Node: The nodes in the PTP domain are called clock nodes. The PTP protocol defines the following three types of basic clock nodes:
[0140] OC End Node: In the same PTP domain, only one PTP port of this clock node participates in clock synchronization, and it synchronizes time from the upstream clock node through this port.
[0141] OC Source Node: In the same PTP domain, one or more PTP ports of this clock node participate in clock synchronization, and it distributes time to the downstream clock nodes through this port.
[0142] BC: In the same PTP domain, multiple PTP ports of this clock node participate in time synchronization. It synchronizes time from the upstream clock node through one of its ports and distributes time to the downstream clock nodes through the remaining ports. In addition, when the clock node is used as a clock source and can distribute time to the downstream clock nodes through multiple PTP ports, it can also be called a BC, such as Figure 1a the BC 1 in
[0143] Transparent Clock (TC): Compared with BC / OC, TC has no port status. In addition, BC / OC generally needs to keep time synchronization with other clock nodes, while TC can be not synchronized with other clock nodes. Generally, TC has multiple PTP ports, but it only forwards PTP protocol messages between these ports and corrects the forwarding delay, without synchronizing time through any port.
[0144] Optionally, TC includes the following two types:
[0145] End-to-End transparent clock (E2E TC): It can forward protocol packets of non-Peer-to-Peer (P2P) types in the network and participate in calculating the delay of the entire link.
[0146] Peer-to-Peer transparent clock (P2PTC): It can directly forward packets such as Sync packets, Follow_Up packets, and Announce packets, while terminating other PTP protocol packets, and participate in calculating the delay of each segment of the entire link.
[0147] Exemplarily, as Figure 1a shown, is the position of the above three basic clock nodes in the PTP domain.
[0148] Optionally, in addition to the above three basic clock nodes, there are also some hybrid clock nodes, such as TC+OC that combines the characteristics of TC and OC: It has multiple PTP modules in the same PTP domain, one of which is of OC type and the other is of TC type. On the one hand, it forwards or retransmits PTP protocol packets through the TC-type module and corrects the forwarding delay; on the other hand, it synchronizes time through the OC-type module. Similar to the classification of TC, TC+OC also includes two types: E2ETC+OC and P2PTC+OC.
[0149] (4) Master-Slave relationship.
[0150] Generally, the Master-Slave relationship is relative. For a pair of clock nodes that are mutually synchronized, there is the following Master-Slave relationship. For example, the node that publishes the synchronized time is called the master node, while the node that receives the synchronized time is called the slave node. Also, the clock on the master node is called the master clock, while the clock on the slave node is called the slave clock. Also, the port that publishes the synchronized time is called the master port, while the port that receives the synchronized time is called the slave port.
[0151] (5) Request-response mechanism, which can be used for end-to-end delay measurement. Among them, the delay measurement process can be implemented in one step mode or two step mode.
[0152] Exemplarily, as Figure 1b shown, the two step mode includes the following implementation process:
[0153] ① The master clock sends a Sync message to the slave clock and records the transmission time (or transmission timestamp, transmission moment, etc.) t1. After receiving the Sync message, the slave clock records the reception time (or reception timestamp, reception moment, etc.) t2.
[0154] ② After sending the Sync message, the master clock immediately sends a Follow_Up message carrying t1.
[0155] ③ The slave clock sends a Delay_Req message to the master clock to initiate the calculation of the reverse transmission delay and records the transmission time t3. After receiving this message, the master clock records the reception time t4.
[0156] ④ After receiving the Delay_Req message, the master clock replies with a Delay_Resp message carrying t4.
[0157] At this time, the slave clock has the four timestamps t1 to t4, from which the total round-trip delay between the master and slave clocks can be calculated to satisfy:
[0158] Total round-trip delay = [(t2 – t1) + (t4 – t3)];
[0159] Generally, since the network is symmetric, the one-way delay between the master and slave clocks satisfies:
[0160] One-way delay = [(t2 – t1) + (t4 – t3)] / 2;
[0161] Therefore, the clock offset (Offset) of the slave clock relative to the master clock satisfies:
[0162] Offset = (t2 – t1) - [(t2 – t1) + (t4 – t3)] / 2 = [(t2 – t1) - (t4 – t3)] / 2.
[0163] In addition, according to whether a Follow_Up message needs to be sent, the request-response mechanism is divided into two types: single-step mode and two-step mode:
[0164] In the above two-step mode, the transmission timestamp t1 of the Sync message is carried by the Follow_Up message. In addition, in the one-step mode, the transmission timestamp t1 of the Sync message is carried by the Sync message itself, and no Follow_Up message is sent. The specific implementation process can refer to the above Figure 1b shown implementation process.
[0165] (6) Link State Routing Protocol. Generally, routers running the Link State Routing Protocol first establish neighbor relationships with each other, and then start to exchange Link-State (LS) information, including one or more of device interface addresses, internal reachability information (directly connected neighbor interface addresses, outgoing port cost values), and network segment information where the router is located. In addition, the router stores this link state information in the link state database (LSDB), and the data in the LSDB helps the router restore the topology of the entire network.
[0166] Exemplarily, taking the number of routers executing the link state routing protocol as 4, these 4 routers can be respectively denoted as R1, R2, R3, and R4.
[0167] As Figure 1c shown, when different routers communicate with each other through OSPF, they can exchange link state announce (LSA) messages (denoted as LSAs in the figure), and achieve the flooding of LSA messages.
[0168] Optionally, when different routers communicate with each other through OSPF, the LSA message can be replaced by an LSP message.
[0169] As Figure 1d shown, each router stores the collected LSAs in its local LSDB. The process of maintaining the LSDB enables the router to master the topology of the entire network.
[0170] As Figure 1e shown, each router calculates based on the LSDB using an algorithm (such as the shortest path first (SPF) algorithm) to obtain an acyclic tree rooted at itself and covering the entire network. And each router loads the routes into the routing table according to the calculation result of SPF.
[0171] (7) Dijkstra Algorithm. Among them, the Dijkstra algorithm is a greedy algorithm used to solve the single-source shortest path problem. Its basic idea is to start from the starting point, and each time select the node with the current shortest path as the intermediate node, and update the distances of the nodes adjacent to this node until reaching the end point. This algorithm can be used to solve the SPF calculation in the scenario where the link metric value is non-negative.
[0172] Exemplarily, the implementation steps of the Dijkstra algorithm are as follows:
[0173] Step 1. A node can initialize the distances from the starting point to each node as infinity and initialize the distance from the starting point to itself as 0.
[0174] Step 2. This node selects the node with the shortest current distance from the starting point as the intermediate node and marks this node as visited (for example, the visited node can be denoted as Node A).
[0175] Step 3. This node updates the distance of the node B adjacent to this node A: If the distance to node B through this intermediate node A is shorter than the distance from the starting point directly to node B, then update the distance from the starting point to node B.
[0176] Repeat Steps 2 and 3 until all nodes have been visited or the end point has been visited, and finally obtain the shortest path from the starting point to the end point.
[0177] Optionally, the time complexity of Dijkstra's algorithm is O(n^2), where n is the number of nodes. If a priority queue is used for optimization, the time complexity can be reduced to O(n log n).
[0178] (8) Basic concept of the Flex-Algorithm.
[0179] Among them, the Flex-Algorithm is defined in the IGP Flexible Algorithm of Request for Comments (RFC) 9350, and the corresponding forwarding plane can be Segment Routing (SR).
[0180] In addition, the use of the Flex-Algorithm is also defined in draft-ietf-lsr-ip-flexalgo, and the forwarding plane is IP.
[0181] The following concepts are described based on RFC9350. Traditionally, IGP protocols calculate the best path on the network based on the IGP metric assigned to the link. Many network deployments use Resource Reservation Protocol Traffic Engineering (RSVP-TE) or Segment Routing (SR)-based traffic engineering to force traffic on paths calculated using metrics or constraints different from the shortest IGP path. The Flex-Algorithm proposes a solution by defining a combination of a set of constraints to flood within the IGP domain, enabling nodes within the IGP domain to calculate constraint-based paths based on the same constraints, thereby achieving the ability of distributed TE.
[0182] In addition, a Flexible Algorithm Definition (FAD) can be flooded within the IGP domain as the capability information of a node. For example, the FAD may include information such as (a) calculation type (Calc-Type), (b) metric type (Metric-Type), and (c) constraints.
[0183] In one implementation example, for (a) the calculation type (Calc-Type), different values may correspond to different meanings. For example, a value of 0 indicates that the calculation type is SPF. Another example is that a value of 1 indicates that the calculation type is strict SPF.
[0184] In one implementation example, for (b) the metric type (Metric-Type), different values may correspond to different meanings. For example, a value of 0 indicates that the metric type is IGP metric. Another example is that a value of 1 indicates that the metric type is link delay (i.e., the minimum one-way link delay, defined in RFC7810). Another example is that a value of 2 indicates that the metric type is traffic engineering metric (TE metric) (i.e., the default metric value of TE, defined in RFC5305).
[0185] In one implementation example, for (c) the constraints, they can be understood as link constraints. Specifically, they can be described by including / excluding an administrative group (attribute) (include / exclude admin-group (color)).
[0186] Generally, the combination of constraints defined in each Flexible-Algorithm can be represented by a Flexible-Algorithm ID. For example, according to the protocol definition, the Flexible-Algorithm ID can be a numeric identifier in the range of 128 - 255, which is associated with the FAD through configuration.
[0187] Exemplarily, taking the ISIS protocol as an example, as Figure 2a shown, in the ISIS Flexible Algorithm Definition Sub-TLV, one or more of the following fields may be included:
[0188] Type: Indicates the type of the Sub-TLV.
[0189] Length: Indicates the length of the Sub-TLV.
[0190] Flex-Algorithm: Identifies the Flexible-Algorithm ID value.
[0191] Metric-Type: Identifies the Metric type adopted in the calculation process of this Flexible-Algorithm.
[0192] Calc-Type: Defined in the "IGP Algorithm Type" registry. Generally, when used to specify Calc-Type in the FAD Sub-TLV, the calculation type defined for the specified IGP algorithm is used, and the metrics / constraints shall not be inherited.
[0193] Sub-TLVs: Are optional parts, such as Figure 2a the Exclude Admin Group Sub-TLV value of the sub-length type shown, or the Include-Any AdminGroup Sub-TLV or the Include-All Admin Group Sub-TLV, etc. Among them, by configuring different link attributes (color) for different links, different constraints of the Flex-Algorithm can be configured by including different link attributes carried in the Admin Group Sub-TLV in the definition of each Flex-Algorithm.
[0194] Optionally, the flexible algorithm can be defined by the operator himself. For the free combination of metric-type, calc-type and link constraints. For example, the device assigns different prefix segment identifiers (prefix-SID) for each Flex-Algo definition (where one flexible-algorithm id can correspond to one or more prefix-ids), and generates different adjacent segment identifiers (adj-SID) for different sub-interfaces, which are used to generate forwarding table entries for different flexible algorithms. In addition, each flexible algorithm can be an algorithm with defined constraints, and each device supporting the SR capability needs to assign different prefix-Sids for this algorithm. Different prefix-Sids can be used to distinguish the forwarding paths calculated by different Flex-Algo algorithms during data forwarding.
[0195] Optionally, in Figure 2b for the "Algorithm" field: When calculating the reachability to other nodes or prefixes, the router may select different algorithms. Different Flex-Algorithm algorithms are assigned to different Prefix-SIDs here. That is, the node assigns different Prefix-SIDs for each Flex-Algo definition.
[0196] (9) Network slicing. Network slicing can be customized for services. For example, low-latency slices can be customized for services with latency requirements, and high-bandwidth slices can be customized for services with bandwidth requirements. Network slicing requires that the service packets of each slice can only use the forwarding resources of that slice and be forwarded within the topology of that slice, so as to achieve resource isolation for different services.
[0197] Exemplarily, the 5G system is expected to be able to provide different customized optimization capabilities for different services simultaneously. Logically isolated network partition (LINP) has become a key concept to achieve this goal. A network slice means "in a physical network, organizing relevant service functions and network resources together to form a complete, autonomous, and independently operated logical network to meet specific user and service requirements" (3GPP). For example, one network slice provides video services, one network slice provides M2M services, and one slice provides ultra-low latency (e.g., less than 1 millisecond) autonomous driving services, etc.
[0198] In one implementation example, network slicing can be achieved based on a flexible algorithm. The Flex-Algorithm ID is used as the identifier for each slice, and one Flex-Algorithm ID represents one network slice. Among all devices within the domain of Flex-Algorithm flooding, all nodes that meet the constraint conditions of the Flex-Algorithm algorithm automatically form the topology of the Flex-Algorithm, that is, each slice has its own independent topology. Each node in the topology of the slice calculates the forwarding path based on the constraint conditions defined by the Flex-Algorithm and generates a forwarding table for the slice.
[0199] In another implementation example, network slicing can be achieved based on multi-topology. Different topologies can be understood as different network slices.
[0200] Exemplarily, taking ISIS as an example, ISIS MT propagates multi-topology information by defining a new TLV type in the ISIS packet. After enabling MT, when a node sends a Hello packet or an LSP packet through an interface, the Hello packet or the LSP packet can contain one or more multi-topology TLVs, and the one or more topology TLVs can include the topology information of each topology to which the interface belongs.
[0201] Optionally, if a router does not contain all the multi-topology TLVs in the Hello packet or LSP, then this neighbor is considered to belong only to the default Internet Protocol Version 4 (IPv4) topology.
[0202] Optionally, on a point-to-point link, if there is no common MT ID between two neighbors, then these two neighbors will not form an adjacency.
[0203] Optionally, on a broadcast link, even if there is no common MT ID between neighbors, an adjacency will still be formed between the neighbors.
[0204] Optionally, each topology corresponds to a multi-topology ID (MT ID). The MT ID cases defined in RFC5120 include but are not limited to the following implementations:
[0205] For example, when the MT ID value is 0, it is used to indicate that the topology corresponding to this MT ID is the standard topology.
[0206] Another example, when the MT ID value is 1, it is used to indicate that the topology corresponding to this MT ID is the IPv4 in-band management topology.
[0207] Another example, when the MT ID value is 2, it is used to indicate that the topology corresponding to this MT ID is the Internet Protocol Version 6 (IPv6) routing topology.
[0208] Another example, when the MT ID value is 3, it is used to indicate that the topology corresponding to this MT ID is the IPv4 multicast routing topology.
[0209] Another example, when the MT ID value is 4, it is used to indicate that the topology corresponding to this MT ID is the IPv6 multicast routing topology.
[0210] Another example, when the MT ID value is 5, it is used to indicate that the topology corresponding to this MT ID is the IPv6 in-band management topology.
[0211] Another example, when the MT ID has other values, they are reserved values. For example, 6 to 3995 are reserved values uniformly by the IETF; 3996 to 4095 are reserved for development, experimentation, and proprietary features (defined in RFC3692).
[0212] To support MT expansion, four new optional TLVs are added in RFC5120, which are introduced as follows. Among them, the MT ID is 12 bytes in all cases, indicating the declared multi-topology number.
[0213] TLV of type 229 (i.e., TLV with Type = 229): namely, Multi - Topology_TLV (MT TLV), which can be used in level 1 local area network IS - IS Hello (L1 LAN IIH), level 2 local area network IS - IS Hello (L2 LAN IIH), Peer - to - Peer IS - IS Hello (P2P IIH), level 1 Link State Packet (L1 LSP), and level 2 Link State Packet (L2 LSP) messages.
[0214] TLV of type 222 (i.e., TLV with Type = 222): namely, Multi - Topology Intermediate_Systems_TLV (MT IS TLV), which can be used in L1 LSP and L2 LSP messages.
[0215] Optionally, if the MT IS TLV does not carry sub - TLVs, it can carry up to 23 neighbors.
[0216] Exemplarily, the MT IS TLV can include multiple fields, such as MT ID and extended IS TLV. Among them, the extended IS TLV can include one or more of the following fields:
[0217] system ID and pseudonode number, default metric, length of sub - TLVs, one or more sub - TLVs, sub - type, length of the value field of the sub - TLV, and value.
[0218] TLV 235 (i.e., TLV with Type = 235): That is, the Multi-Topology_Reachable_IPv4_Prefixes_TLV, which can be used in L1 LSP and L2 LSP messages. Optionally, the MT IPv4 prefix TLV format can be the same as the extended IP reachability TLV (TLV 135).
[0219] TLV 237 (i.e., TLV with Type = 237): That is, the Multi-Topology_Reachable_IPv6_Prefixes_TLV, which can be used in L1 LSP and L2 LSP messages. Optionally, the multi-topology reachable IPv6 prefix TLV format can be the same as the IPv6 Reachability TLV (TLV 236).
[0220] Optionally, each neighbor can be partitioned on an interface to belong to certain MTs of some topologies, and it is announced which topology the interface belongs to. If only MT 0 is supported on this interface, then it is optional to announce TLV 229, that is, TLV 229 can be announced or not. Therefore, if TLV 229 does not appear in the IIH, it means the standard mode (i.e., the standard topology).
[0221] Optionally, by announcing the topologies they support respectively, different nodes can publish adjacent MT IS TLVs with the same topology in their LSPs. If the local system does not support a certain MT-ID, it cannot announce a neighbor that supports that MT-ID in the LSP. For adjacent nodes, there must be at least one common MT on the interface for the adjacent nodes to form an adjacency.
[0222] In another implementation example, network sharding can be achieved based on multi-instances (or ISIS multi-instances), and different instances can be understood as different network shards.
[0223] Exemplarily, for a device that supports a virtual private network (VPN), ISIS multi-instances can mean that on the same node, multiple VPN instances can be configured to be associated with multiple ISIS processes. Among them, ISIS multi-processes mean that multiple ISIS processes can be created under the same VPN (or under the public network), and each process does not affect each other and is independent of each other. The routing interaction between different processes is equivalent to the routing interaction between different routing protocols.
[0224] Optionally, each IS-IS process can be bound to a specified VPN instance.
[0225] Optionally, each protocol data unit (PDU) is associated with an instance. Each instance uses an independent LSP PDU to carry instance TLVs for advertisement, and at the same time carries the links and prefix TLVs of that instance. Here, the TLVs follow the ISIS basic TLVs. In addition, sub-TLV No. 7 (i.e., the sub-TLV with Type = 7) is used to advertise the multi-instance ITIDs supported by this interface.
[0226] (10) End-to-end 1588 time synchronization mechanism.
[0227] Among them, the Institute of Electrical and Electronics Engineers (IEEE) 1588 protocol standard defines a set of message-based synchronization protocols in the technical specifications. By periodically sending packets with timestamps, the time of each node in the network is corrected, thus achieving the time synchronization of the entire network. Among them, the IEEE 1588 protocol standard can be abbreviated as the Precision Time Protocol (PTP).
[0228] In addition, the International Telecommunication Union - Telecommunication Standardization Sector (ITU-T) defines a carrier-grade partial network precision time synchronization protocol (such as G.8275.2) based on the 1588v2 protocol, that is, end-to-end 1588 time synchronization.
[0229] In addition, 1588 Adaptive Time Recovery (ATR) can further enhance 1588v2.
[0230] Exemplarily, such as Figure 3aAs shown, 1588 ATR can cross devices that do not support the 1588v2 protocol and traverse a third-party network, enabling 1588 packets to be transmitted in a 1588 unaware network. For example, after unicast negotiation between a Client node and a Server node, the master-slave relationship is determined and 1588 ATR time synchronization is performed, with the Client synchronizing to the Server. This process can use the L3 unicast mode with UDP packet encapsulation. It has a dual-Server primary / backup protection mechanism, and after unicast negotiation, the best master clock algorithm (BMC or BMCA) is used to select the Server node.
[0231] (11) The BMC algorithm can be applied to BC devices, OC devices, etc. Among them, 1588 can use the BMC algorithm to determine the PTP synchronization path.
[0232] Specifically, BMC is one of the core technologies of IEEE1588. Before performing clock synchronization, each device in the network can determine the master-slave tracking relationship of the entire domain. The device selects the master clock in the system by running the BMC algorithm, and all other clocks use the master clock as a reference for clock synchronization, so that the clocks and times of the entire network are synchronized.
[0233] In addition, BMC can be a method that relies on the gradual transmission of packets between devices and selects the source through the hop count information in the packets. BMC runs independently on each device. The 1588 function of the device can be enabled through network management without the need for other data interaction between the network management and the device. From a network perspective, the BMC algorithm establishes a master-slave synchronization system for the entire network's clocks, that is, a tree with the reference clock (which can be called the grandmaster clock, abbreviated as grandmaster or GM) as the root, where the grandmaster is the best clock source for the entire network.
[0234] Optionally, the node where the GM is located can be called the building integrated timing system (BITS).
[0235] In addition, the BMC algorithm process maintains a set of port data sets for each port of the device, and determines the best clock and master-slave relationship through the data set comparison algorithm and the status decision algorithm. The data set may include information about the master clock, such as one or more pieces of information including ID, priority, category, precision, offset change, etc. Moreover, OC / BC devices within the clock domain send Announce messages to each other to announce the parameters of the grandmaster clock determined by this device; the devices that receive the Announce messages respectively run the BMC algorithm, compare the priorities of the port best messages (denoted as Erbest) reported by each port, and the optimal one is the best message for that port (denoted as Ebest); then, calculate the port recommended status, and compare Ebest and defaultDS between ports to determine the master-slave status of each port, thereby determining the master-slave system of the entire domain. So that the finally selected grandmaster clock device serves as the best clock for this time domain, while determining the master-slave relationship of each device and generating the PTP path.
[0236] Optionally, BMC runs independently on each device. Only the network management needs to enable the 1588 function of the device, and there is no need for other data interaction between the network management and the device.
[0237] Optionally, BMC selects the port with the shortest path from all ports of the slave device as the Slave port. The shorter the path, the higher the performance, but the more ports are enabled, the lower the running efficiency of BMC and the more prone to anomalies.
[0238] Optionally, for two paths with the same number of hops, select the path with the smallest ID as the Slave port.
[0239] Optionally, each device can only see adjacent nodes and cannot see the global view.
[0240] Exemplarily, Figure 3b a network-level source selection schematic diagram is given. In the figure, M represents that the port status is Master, S represents that the port status is Slave, and P represents that the port status is Passive. In other words, based on the implementation process of the BMC algorithm, each node can determine the port status of its own port. For example, Figure 3b the BC-1 device in can determine that the port statuses of its four ports are S / M / M / M respectively. Another example is that the BC-6 device can determine that the port statuses of its three ports are P / S / P respectively.
[0241] Exemplarily, Figure 3c a device source selection flowchart is given, and the source selection process is as follows
[0242] Step 1. Calculate Erbest, that is, select the dataset with the shortest path according to the database comparison algorithm (DCA) from the datasets received at each port as Erbest.
[0243] Step 2. Calculate Ebest, that is, select the shortest path Ebest according to the DCA algorithm from the Erbest of all ports.
[0244] Step 3. Calculate the port status, that is, determine the port status (i.e., determine the port status as M / S / P) according to the state decision algorithm (SDA).
[0245] Step 4. Distribute the port status, that is, distribute the status of each port of the device.
[0246] In a communication network, a network running the precision time protocol (PTP) can be called a PTP domain, and the nodes in the PTP domain can be called clock nodes, including ordinary clock (OC) nodes, boundary clock (BC) nodes, and transparent clock (TC) nodes.
[0247] Currently, clock messages can be transmitted between different clock nodes in the PTP domain, enabling each node in the PTP domain to perform time correction based on the clock message to achieve time synchronization of the entire network. Taking the TC node as an example, network operation and maintenance personnel can configure one or more input ports, one or more output ports, and the association relationship between the input port and each output port on the TC node. Subsequently, after the TC node receives a clock message on one of its input ports, the TC node can send the clock message on the corresponding output port based on this association relationship to achieve the forwarding of the clock message by the TC node.
[0248] However, in the above implementation process, the transmission of clock messages can only be achieved by relying on the manual configuration method of network operation and maintenance personnel. This implementation method will consume a large amount of manpower and material resources while also resulting in low processing efficiency.
[0249] To solve the above problems, this application provides a communication method and related devices, which will be introduced in detail below with reference to the accompanying drawings.
[0250] Please refer to Figure 4 , which is a schematic diagram of the communication method provided by this application. The method includes the following steps. The method at least includes Figure 4 the steps S401 and S402 shown in
[0251] It should be noted that in the following method, the network devices such as the first node and N - 1 nodes are taken as the execution subjects of each step to illustrate the method, but the present application does not limit the execution subjects of this interaction illustration. For example, in Figure 4 the method shown, each step can also be executed by some components of the network device (such as a processor, a chip, or a chip system, etc.), or each step can also be executed by the logical module or software of the network device. Among them, the network device can be a router, a switch, a virtual switch, a virtual router, a smart network card, etc.
[0252] S401. The N - 1 nodes send clock information. Correspondingly, the first node receives the clock information from the N - 1 nodes in step S401, where N is an integer greater than 1. Among them, the N - 1 nodes are the other nodes except the first node among the N nodes.
[0253] Exemplarily, in step S401, the N - 1 nodes can send the clock information of each node itself through a message (for example, taking N greater than 2 as an example, the second node sends the clock information of the second node in step S401_1... the Nth node sends the clock information of the Nth node in step S401_N - 1).
[0254] It should be understood that the first node is the TC node among the N nodes. Among the N nodes, except for the first node, the other N - 1 nodes can include at least one node among one or more TC nodes, one or more BC nodes, and one or more OC nodes. In other words, taking the second node as an example, the second node can be a TC node, a BC node, or an OC node.
[0255] Optionally, the N nodes can be different nodes within the same PTP domain, so that the first node can determine the routing within the PTP domain based on the clock information of different nodes within the same PTP domain, and forward the clock message within the PTP domain based on this routing. Or, the N nodes can include different nodes within two or more PTP domains, so that the first node can determine the routing within the two or more PTP domains based on the clock information of different nodes, and forward the clock message within the two or more PTP domains based on this routing.
[0256] As an application example, the above Figure 4 shown method can be applied to Figure 5 the shown scenario.
[0257] As Figure 5 shown, the N nodes can include multiple BC nodes (i.e., Figure 5 BC1 to BC4 in Figure 5TC1 to TC9), and an OC node. Since the two roles of BC3 and TC7 share the same node, and the two roles of BC4 and TC8 share the same node, therefore, the N nodes can be 12 (i.e., N = 12) nodes.
[0258] In Figure 5 the N nodes may also include other nodes, such as BITS1 for timing BC1, BITS2 for timing BC2, base station 1 for timing BC3 / TC7, and base station 2 for timing BC4 / TC8. Optionally, in Figure 5 the N nodes may include these nodes (i.e., the value of N can be greater than 12), or may not include these nodes (i.e., the value of N can be 12).
[0259] It should be noted that in Figure 4 the method shown, the first node can be Figure 5 any one of the TC nodes in
[0260] such as TC1 or TC2... or TC9. For example, when TC1 is the first node, the other nodes are N - 1 nodes (including OC, TC2 to TC9, and BC1 to BC4). Another example, when TC2 is the first node, the other nodes are N - 1 nodes (including OC, TC1, TC3 to TC9, and BC1 to BC4). Figure 5 In other words, among the N nodes, the process of sending clock information (i.e., the process of sending clock information in step S401) can be executed in all of the N nodes. In addition, among the N nodes, it is possible that some nodes execute the process of determining the route for forwarding the clock message (i.e., the process of determining the route in step S402), such as
[0261] any one of the TC nodes from TC1 to TC9 in Figure 5 .
[0262] Optionally, among the N nodes, it is possible that there are nodes that do not need to execute the process of determining the route for forwarding the clock message (i.e., the process of determining the route in step S402), such as Figure 5 nodes BC1, BC2, OC, etc. in
[0263] As can be seen from the previous term definitions, in Figure 5Among them, the execution behaviors of each node in the network include the following content.
[0264] Server (such as BC1 node or BC2 node): It can be used to provide clock information to the Client. Among them, one Server can connect to one or more Clients. The Server itself can track an external clock source. For example, BC1 can obtain time synchronization through BITS1, and BC2 can obtain time synchronization through BITS2.
[0265] Client (such as BC3 / TC7 node or BC4 / TC8 node): It can track the Server clock. Among them, one Client can track the time of one or more Servers as a backup, and determine the tracked Server node through local configuration.
[0266] TC (such as TC1 to TC9 nodes): It can be a forwarding device between the Server and the Client, working in the TC mode. When forwarding clock messages, it needs to perform delay correction to ensure time accuracy.
[0267] Optionally, any two of the three roles of Server, Client, and TC can overlap, that is, the device can support multiple roles simultaneously. For example, BC1 can be the Figure 5 Server of the shown network and may also be the Client of other networks. Another example is that BC3 / TC7 node or BC4 / TC8 node is both a TC node and a Client node.
[0268] Optionally, the Server node and the Client node can be configured according to the networking requirements. For example, the Server node needs to configure the identity information of whether it is a Server, and the Client node needs to configure the identity information of whether it is a Client.
[0269] Optionally, the Server information can also be configured on the Client node, such as the destination address of the Server node. In addition, if multiple Servers are configured, different priorities can be configured for each Server. Correspondingly, for the TC node, during the process of determining the route in step S402, the Server with a higher priority can be determined as the master clock, and the Server with a lower priority can be determined as the backup clock.
[0270] Optionally, in step S401, the clock information of the N - 1 nodes received by the first node respectively corresponds to the other N - 1 nodes among the N nodes except the first node. In other words, the clock information of the N - 1 nodes corresponds one - to - one with the N - 1 nodes. For example, the i - th clock information in the clock information of the N - 1 nodes is the clock information of the i - th node among the other N - 1 nodes except the first node among the N nodes, where i ranges from 1 to N - 1.
[0271] S402. The first node determines a route based on the clock information of the N - 1 nodes. Among them, this route is used to forward clock messages.
[0272] It should be noted that the clock message may be sent from the Server node to the Client node, or may be sent from the Client node to the Server node, that is, the destination address of this clock message may be the Server node or the Client node. Correspondingly, in step S402, the route determined by the first node includes the next - hop address with the address of the Server node as the destination address, and / or, the route determined by the first node includes the next - hop address with the address of the Client node as the destination address.
[0273] For example, in Figure 5 In the scenario shown, as described above, the two Servers, Server 0 and Server 1, can act as node roles of BC + TC. Generally, for these two Servers, they can act as the source node of the message to send clock messages (such as Sync messages, Follow - up messages, etc.) to the Client node. Correspondingly, when any one of the two Servers acts as the first node, the route determined by any one of the two Servers may include the next - hop address with the address of the Client node as the destination address.
[0274] Another example, in Figure 5 In the scenario shown, for TC7 or TC8, they can act as the source node of the message to send clock messages (such as Delay_Req messages, signaling messages, etc.) to the Server node. Correspondingly, when any one of TC7 or TC8 acts as the first node, the route determined by any one of the two TCs may include the next - hop address with the address of the Server node as the destination address.
[0275] Another example, in Figure 5In the scenario shown, for any one of TC1 to TC6 and TC9, it can forward the message sent by the Server node to the destination address of the Client node, and can also forward the message sent by the Client node to the destination address of the Server node. Correspondingly, when any one of TC1 to TC6 and TC9 serves as the first node, the route determined by the any one of them can include the next-hop address with the address of the Server node as the destination address, and can also include the next-hop address with the address of the Client node as the destination address.
[0276] It should be understood that the routing path indicated by the route determined in step S402 of the first node includes some or all of the N nodes. Optionally, in addition to including the N nodes, the routing path can also include other nodes outside the N nodes, such as the time-synchronized nodes.
[0277] Optionally, in step S402, when the first node determines the route based on the clock information of the N - 1 nodes, the first node can also determine the route based on the node information of the first node. In other words, the basis for determining the route can include not only the clock information of the N - 1 nodes, but also the node information of the first node. For example, the node information of the first node can include one or more of the node identifier of the first node, the local node information of the first node, and the neighbor node information of the first node.
[0278] In a possible implementation, M of the N nodes are server (Server) nodes, where M is an integer greater than 1. Specifically, the routing path indicated by the route determined by the first node in step S402 includes some or all of the N nodes. Among the N nodes, there can be M Server nodes and M > 1. The Server node can be connected to a clock source (such as GM). In other words, the above technical solution can be applied to the scenario where there are two or more Server nodes to provide one or more backup clock sources to support the TC node to determine the route for forwarding the clock message in this scenario.
[0279] Optionally, the first node can also send the clock information of the first node so that the other N - 1 nodes can determine the route for forwarding the clock message based on the clock information of the first node. Subsequently, the other N - 1 nodes can forward / retransmit the clock message based on the determined route.
[0280] S403. The first node forwards the clock message based on the route.
[0281] It should be noted that step S403 is an optional step. That is, the first node can determine the route for forwarding the clock message through step S402. After step S402, it is possible for the first node to receive a clock message. In this case, the first node can forward the clock message based on this route in step S403. Optionally, after step S402, it is possible that the first node does not receive a clock message. In this case, the first node can skip step S403.
[0282] Exemplarily, the clock message includes at least one of the following: sync message, Signaling message, Announce message, Follow_Up message, Grant message, Delay_Req message, Delay_Resp message. In other words, the clock message received or sent by the first node can include at least one of the above, so as to improve the flexibility of the solution implementation.
[0283] It should be noted that multiple types of clock messages may be transmitted between the Server node and the Client node.
[0284] For example, the Server node can send a sync message, a Follow up message, a Delay_Resp message, etc. to the Client node through one or more TC nodes. In this case, the routing path indicated by the route determined by the first node in step S402 includes a path with the Server node as the source node and the Client node as the destination node. In other words, in step S403, the first node can forward the clock message based on the next hop of the route with the Client node as the destination node.
[0285] For another example, the Client node can send a Delay_Req message to the Server node through one or more TC nodes. In this case, the routing path indicated by the route determined by the first node in step S402 includes a path with the Client node as the source node and the Server node as the destination node. In other words, in step S403, the first node can forward the clock message based on the next hop of the route with the Server node as the destination node.
[0286] Based on Figure 4In the technical solution shown, the first node acts as a TC node. After receiving the clock information of the other N - 1 nodes among the N nodes except the first node in step S401, the first node can determine a route based on the clock information of the N - 1 nodes in step S402 and forward the clock message based on the route in step S403. Thus, during the transmission of the clock message, the TC node can determine a route based on the clock information of other nodes and forward the clock message based on this route, enabling the TC node to forward the clock message without the need for network operation and maintenance personnel to manually configure the input port and output port. This can save manpower and material resources to simplify network operation and maintenance, and at the same time improve the message processing efficiency.
[0287] In addition, in the implementation method of manually configuring the input port and output port by network operation and maintenance personnel, since the TC node forwards messages only based on the configured port information of itself, it is limited to the tree - topology scenario and cannot be applied to the network scenario with loops. However, in the above - mentioned technical solution, the TC node can determine a route based on the clock information of other nodes. In this way, the TC node can avoid the generation of loops during the process of determining the route, enabling the solution to be applied to the network scenario with loops and realizing the routing and forwarding of clock messages in this network scenario.
[0288] In Figure 4 In the solution shown, the clock information of the N - 1 nodes received by the first node in step S401 can be implemented in various ways, which will be introduced through some implementation examples below.
[0289] Implementation example 1: The clock information of the N - 1 nodes satisfies at least one of the following conditions 1 to 3.
[0290] Condition 1: Each clock information in the clock information of the N - 1 nodes includes the local node information, and the local node information includes at least one of the indication information indicating whether the local node is a server node, the indication information indicating whether the local node is a client node, and the clock accuracy information of the local node.
[0291] Condition 2: Each clock information in the clock information of the N - 1 nodes includes neighbor node information, and the neighbor node information includes at least one of the identifier of the neighbor node and the link accuracy information between the neighbor node and the local node.
[0292] Condition 3. Each of the clock information of N-1 nodes includes algorithm indication information, or each of the clock information of M nodes among the clock information of the N-1 nodes includes the algorithm indication information, where the M nodes are server nodes and M is a positive integer; wherein, the algorithm indication information is used to indicate the algorithm for determining the route. In other words, the clock information sent by some or all of the N-1 nodes may include algorithm indication information, that is, the clock information sent by at least one of the N-1 nodes may include algorithm indication information.
[0293] Optionally, among the N-1 nodes, the number of server nodes may be greater than or equal to M. Wherein, when the number of server nodes is equal to M, it can be understood that all the server nodes among the N-1 nodes carry algorithm indication information in the sent clock information; when the number of server nodes is greater than M, it can be understood that some of the server nodes among the N-1 nodes carry algorithm indication information in the sent clock information. Exemplarily, the algorithm indication information may be carried in the clock information sent by 1 (i.e., M = 1) server node. In this way, the overhead can be reduced.
[0294] Specifically, the clock message can be used for time synchronization, and the clock accuracy of each node on the transmission path of the clock message, the link accuracy between different nodes, and the algorithm for determining the route may all affect the effect of the time synchronization. In other words, the route is associated with at least one of the local node information of each node on the route path, the neighbor node information of each node, and the algorithm indication information of some or all nodes, that is, the clock information of the N-1 nodes satisfies at least one of the above, so that the first node can determine the route based on the clock information of the N-1 nodes.
[0295] For the above Condition 1, when each of the clock information of N-1 nodes includes local node information, and the local node information includes indication information indicating whether the local node is a server node and / or indication information indicating whether the local node is a client node, the first node can determine the node roles of the N-1 nodes as server nodes or client nodes based on the received clock information of the N-1 nodes. In this way, the first node can determine the route path rooted at the server node or the client node (such as the implementation process of Implementation Method 1 later).
[0296] For the above Condition 1, when each of the clock information of N-1 nodes includes local node information, and the local node information includes the clock accuracy information of the local node, the first node can determine the clock accuracy information of the other N-1 nodes. Subsequently, the first node can determine the route based on the clock accuracy information of the N-1 nodes (such as the implementation process when the algorithm indication information is the second value or the third value later).
[0297] For the above Condition 2, the link accuracy information between the neighbor node and the local node can be implemented in various ways. For example, the transmission delay of the link between the neighbor node and the local node can be determined by the round trip time (RTT). Generally, RTT can be understood as the average delay of the link between the neighbor node and the local node. For example, if the link delay between the neighbor node and the local node is D1, and the reverse link delay between the local node and the neighbor node is D2, the delay indicated by RTT can be expressed as the average of the sum of the absolute value of D1 and the absolute value of D2 (e.g., D0). In the above Condition 2, the link accuracy information between the neighbor node and the local node can include various implementation methods such as the value of D1, the value of D2, the value of D0, the value of D1 - D0, the value of D2 - D0, and the values of D1 and D2.
[0298] Exemplarily, in the above Condition 2, taking the clock information sent by the second node in step S401_1 including the link accuracy information between the neighbor node and the local node as an example, when the link accuracy information between the neighbor node and the local node includes the value of D1 - D0, the value of D2 - D0, and the values of D1 and D2, the first node can obtain the difference caused by link asymmetry between the second node and the neighbor node of the second node based on this information. Since this difference can reflect the link asymmetry information between the second node and the neighbor node of the second node, therefore, the first node can determine a route with a smaller difference (or a lower degree of link asymmetry) based on this difference in step S402, which can make the clock error caused by link asymmetry as small as possible.
[0299] For the above Condition 3, the transmission path of the clock message includes the path indicated by the route, and the transmission path of the clock message satisfies any one of the following:
[0300] When the algorithm indication information is the first value, the transmission path of the clock message is a path determined based on the number of hops (e.g., the path with the shortest number of hops or a shorter number of hops); or,
[0301] When the algorithm indication information is the second value, the transmission path of the clock message is a path determined based on the clock accuracy of the node (or the shortest path); or,
[0302] When the algorithm indication information is the third value, the transmission path of the clock message is a path determined based on the clock accuracy of the node and the link accuracy information between adjacent nodes (or the shortest path).
[0303] Specifically, different values of the algorithm indication information can be used to indicate different algorithms. Correspondingly, through the indication of the algorithm indication information, different TC nodes in the network can determine the routes for forwarding clock messages based on the same algorithm, enabling each node to forward clock messages based on the same path.
[0304] Optionally, the first value, the second value, and the third value may be unequal to each other. For example, the first value is 2, the second value is 3, and the third value is 4.
[0305] Optionally, in addition to the above implementations of the first value / second value / third value, the algorithm indication information may have other implementation manners. For example, the algorithm indication information is other values (such as a possible fourth value, a fifth value, etc.). Correspondingly, the transmission path of the clock message is a path that meets other conditions (such as a path determined based on the link accuracy information between adjacent nodes).
[0306] As an implementation example, in Implementation Example One, for the clock information of N - 1 nodes received by the first node in step S401, any of the clock information of the N - 1 nodes is carried in the LSP message of the IS-IS protocol, the link state advertisement (LSA) message of the open shortest path first (OSPF) protocol, the node network layer reachable information (Node NLRI) message of the border gateway protocol (BGP), or the link network layer reachable information (LinkNLRI) message of the BGP protocol. Through the above implementation manner, the clock information of N - 1 nodes received by the first node can be carried in the message of any of the above protocols to improve the flexibility of the scheme implementation.
[0307] Optionally, taking the LSP message as an example, when the clock information sent by one of the N - 1 nodes includes the node information of this node, the neighbor node information, and the algorithm indication information, these three pieces of information can be carried in different sub-TLVs in the LSP message respectively. Or, the above three pieces of information can be carried in the same sub-TLV in the LSP message. Or, the above three pieces of information can be carried in two sub-TLVs in the LSP message respectively. For example, the node information and the algorithm indication information are carried in the FAD sub-TLV, and the neighbor node information is carried in the neighbor sub-TLV.
[0308] Exemplarily, for the clock information of N - 1 nodes received by the first node in step S401, when any one of the clock information of the N - 1 nodes is carried in the LSP packet of the IS - IS protocol, the LSP packet includes a node sub - TLV (capability TLV, for example, Type = 242) and a neighbor sub - TLV (for example, Type = 22); the local node information is carried in the node sub - TLV (for example, the extended sub - TLV in the node sub - TLV), the algorithm indication information is carried in the FAD sub - TLV in the node sub - TLV (for example, the Type of the FAD sub - TLV is 26), and the neighbor node information is carried in the neighbor sub - TLV (for example, the extended sub - TLV in the neighbor sub - TLV).
[0309] Optionally, from the above - mentioned condition 1 to condition 3, any one of the clock information of the N - 1 nodes sent by any one of the N - 1 nodes may include at least one of the local node information, the neighbor node information, and the algorithm indication information. Among them, for any one of the clock information of the N - 1 nodes, it may be carried in one or more packets (for example, one or more LSP packets), and no limitation is made here.
[0310] Exemplarily, the algorithm indication information may be carried in the "Calc - Type" field. For example, if the above - mentioned algorithm indication information is the first value / second value / third value, it can be understood that the value of the "Calc - Type" field is 2 / 3 / 4.
[0311] Optionally, the N nodes may be different nodes in the same FAD shard. In this way, the TC node can determine the route based on the clock information of other nodes within the same FAD shard.
[0312] Optionally, any one of the clock information of the N - 1 nodes may be carried in an LSP packet. Among them, the clock information of the N - 1 nodes may be carried in N - 1 LSP packets respectively. Among them, the N - 1 LSP packets may also include other information. For example, any one of the N - 1 LSP packets further includes a segment routing (SR) sub - TLV (used to announce the routing prefix of the node), the SR sub - TLV includes an Algorithm field, and the FAD sub - TLV includes a Flex - Algorithm field; where the values of the Algorithm field and the Flex - Algorithm field are the same. In this way, the association between the SR sub - TLV and the FAD sub - TLV is realized, so that the receiving party of the LSP packet can clarify that the algorithm information included in the FAD sub - TLV corresponds to the node corresponding to the routing prefix announced by the SR sub - TLV.
[0313] Therefore, any one of the clock information of N-1 nodes can be carried in the LSP message of the IS-IS protocol. Through the above implementation method, the above solution can be applied to the IS-IS protocol, and the above solution can be applied to the network fragmentation scenario based on FAD.
[0314] As an implementation example, a message format of the LSP message is as Figure 6a shown. Among them, the LSP message includes the following fields:
[0315] Intradomain Routing Protocol Discriminator, Length Indicator, Version / Protocol ID Extension, Reserved (R / R / R / Reserved) ID Length, PDU Type, Version, Maximum Area Address, PDU Length, Remaining Lifetime, LSPID, Sequency Number, Checksum, ATT, OL, IS Type, Variable Length Fields.
[0316] In the above method, for the clock information of N-1 nodes received by the first node in step S401, any one of the clock information of the N-1 nodes can be carried in the "Variable Length Fields" in the LSP message.
[0317] Exemplarily, Server and Client can advertise the Prefix SID of SR through SR Sub-TLV (for example, advertise through the message format shown above). Among them, SR Sub-TLV can include Figure 2b the fields shown. Among them, SR Sub-TLV can include Figure 2b the fields shown: Type, Length, Flags, Algorithm, SID / Index / Label (variable). In Figure 2bIn [the above], it can be associated with the clock algorithm through the Algorithm field. For example, Type = 135 can be used to carry an IPv4 prefix, and Type = 236 can be used to carry an IPv6 prefix.
[0318] Exemplarily, one or more of the N - 1 nodes can use the FAD sub - TLV defined in the node sub - TLV (capability TLV, for example, Type = 242) in the LSP packets they send respectively to define clock sharding (for example, the FAD Sub - TLV described above), and extend metric - type = clock to support the clock shortest path calculation method. Figure 2a For example, use Calc - Type to identify the PTP synchronization path calculation principle, where:
[0319] For example, use Calc - Type to identify the PTP synchronization path calculation principle, where:
[0320] Calc = 2 (i.e., the first value is 2) represents a path determined based on the number of hops (for example, using an SPF algorithm considering the number of hops or the shortest path of the number of hops).
[0321] Calc = 3 (i.e., the second value is 3) represents using an SPF algorithm considering the accuracy of the peer device, that is, metric = clock_accuaracy(remote_node).
[0322] Calc = 4 (i.e., the third value is 4) represents an SPF algorithm that simultaneously considers the accuracy of the peer device and the accuracy of the link connecting the two devices, that is, metirc = X*clock_accuracy(remote_node_id)+Y*abs(link_accuracy). Where, abs represents taking the absolute value, and X and Y are real numbers, and X is equal to Y. Optionally, X is equal to Y, or, X is not equal to Y.
[0323] Optionally, the SPF algorithm can be implemented through Dijkstra's algorithm, Bellman - Ford algorithm, etc.
[0324] Exemplarily, as Figure 6b shown, one or more of the N - 1 nodes can use the extended sub - TLV (which can be denoted as Sub - Sub - TLV, and its Type can be any value from 30 to 160) in the node sub - TLV (capability TLV, for example, Type = 242) in the LSP packets they send respectively to carry the information of this node, that is, the node parameters related to the clock source selection of this node. As Figure 6b shown, it can include the following fields:
[0325] Type, Length, is_Server, is_Client, Clock accuracy.
[0326] Among them, the meanings corresponding to the values 0 - 9 of value are defined in the current standard. Therefore, in the above solution, any value of Type = 10 - 255 can be used to carry the information of this node.
[0327] Exemplarily, as Figure 6c shown, one or more of the N - 1 nodes can use a sub - TLV (which can be denoted as Sub - Sub - TLV) in the neighbor sub - TLV (for example, the value of the Type field of this neighbor sub - TLV can be 22) in the LSP packets they send respectively. That is, this Sub - Sub - TLV can be used to define the attribute (color) of the link group included in the clock slice. When the value of this attribute is the same as the value of the "Admin Group Sub - TLV" field in the FAD sub - TLV (refer to the description in the previous text Figure 2a ), it can indicate that the neighbor node corresponding to this neighbor sub - TLV is applicable to the information included in this FAD sub - TLV. For example, it can be represented by Type = 3. Type = 3 means "IS - IS Flexible Algorithm Include - Any Admin Group", and the link group included in the clock slice can be defined through this Sub - Sub - TLV.
[0328] For example, the TLV with Type = 3 defined in RFC7981 is used to identify the Administrative group (color). It can be associated with the Sub - Sub - TLV Flexible Algorithm Include - Any Admin Group in the TLV and the node FAD sub - TLV, so as to add the clock link information to the topology on the clock slice.
[0329] Exemplarily, one or more of the N - 1 nodes can extend a Sub - TLV in the neighbor sub - TLV in the LSP packets they send respectively to carry the neighbor node information, that is, this extended Sub - TLV can be used to carry the parameters related to the clock source selection algorithm link.
[0330] Optionally, in the extended Sub-TLV of this neighbor sub-TLV, neighbor Sub-TLVs: IPv4 / IPv6 neighbor address and IPv4 / IPv6 interface address can be used to carry neighbor address and port address information.
[0331] Exemplarily, N-1 nodes can carry an extended Sub-TLV in the neighbor sub-TLV (such as Type = 22) of the LSP packets sent by each of them, and carry neighbor node information through this extended Sub-TLV.
[0332] Optionally, as Figure 6d shown, the neighbor Sub-TLV can be extended to carry link uncertainty information in the clock source selection algorithm (i.e., the "neighbor node information" described above). As Figure 6d shown, the following fields can be included: Type, Length, Link_accuracy (i.e., the link accuracy information between the neighbor node and this node described above).
[0333] Implementation example two, the algorithm for determining the transmission path of the clock packet can be pre-configured, where the transmission path of the clock packet includes the path indicated by the route, and the clock information of the N-1 nodes satisfies any one of the following conditions 4 to 6.
[0334] Condition 4. The transmission path of the clock packet is a path determined based on the number of hops (such as the path with the shortest number of hops), and the value of each clock information in the clock information of the N-1 nodes is pre-configured. In other words, the route determined by the first node in step S402 is determined based on the number of hops, and the specific implementation process can refer to the implementation manner of Calc = 2 (i.e., the first value is 2) described above.
[0335] Condition 5. The transmission path of the clock packet is a path determined based on the clock accuracy of the nodes, and each clock information in the clock information of the N-1 nodes includes the clock accuracy information of this node. In other words, the route determined by the first node in step S402 is determined based on the clock accuracy of the nodes, and the specific implementation process can refer to the implementation manner of Calc = 3 (i.e., the second value is 3) described above.
[0336] Condition 6. The transmission path of the clock message is a path determined based on the clock accuracy of the nodes and the link accuracy information between adjacent nodes. Each of the clock information in the clock information of the N - 1 nodes includes the clock accuracy information of the local node and the link accuracy information between the neighbor node and the local node. In other words, the route determined by the first node in step S402 is determined based on the clock accuracy of the nodes and the link accuracy. The specific implementation process can refer to the implementation method with Calc = 4 (i.e., the third value is 4) in the previous text.
[0337] In Implementation Example 2, the algorithm for determining the transmission path of the clock message can be pre - configured. For example, the path determined by the algorithm can be a path determined based on the number of hops (such as the path with the shortest number of hops), a path determined based on the clock accuracy of the nodes, a path determined based on the clock accuracy of the nodes and the link accuracy information between adjacent nodes, etc. Correspondingly, the first node obtains the information required by the algorithm through the clock information of the N - 1 received nodes.
[0338] Optionally, in Implementation Example 2, for N nodes, the algorithm for each node to determine the transmission path of the clock message can be pre - configured, and different algorithms can be identified by different cost values. For example, the network management plan sets the clock local device accuracy as the cost value to the cost value of the clock shard of the link from the peer to the local end; another example is that if a certain node supports the ISIS Reverse Metric function, the clock local node accuracy can be sent to the peer as the cost value of the clock network shard of the link from the peer to the local end; another example is to use the device accuracy of the local node as the cost value.
[0339] In a possible implementation manner of Implementation Example 2, the clock information of the N - 1 nodes satisfies any of the following:
[0340] Any of the clock information in the clock information of the N - 1 nodes is carried in the Multi - Topology Intermediate System TLV (MT IS TLV) in the LSP message of the IS - IS protocol. The LSP message includes the multi - topology identifier (MT ID) of the interface that sends the any clock information; or,
[0341] Any of the clock information in the clock information of the N - 1 nodes is carried in the Multi - Topology Intermediate System TLV (MT IS TLV) in the Hello message of the IS - IS protocol. The Hello message includes the MTID of the interface that sends the any clock information; or,
[0342] Any clock information of the N-1 nodes is carried in a neighbor sub-TLV in an LSP message of the IS-IS protocol, and the LSP message includes an instance identifier (IID) of an interface that sends the clock information; or,
[0343] Any clock information of the N-1 nodes is carried in a neighbor sub-TLV in a Hello message of the IS-IS protocol, and the Hello message includes the IID of the interface that sends the any clock information.
[0344] Therefore, the N-1 clock information received by the first node can be carried by an LSP message or a Hello message, and the LSP message or the Hello message can carry an MT ID or an IID. In this way, the solution can be applicable to network slicing scenarios based on multi-topology or multi-instance.
[0345] Optionally, any of the clock information of the N-1 nodes can be carried in an LSP message or a Hello message, wherein the clock information of the N-1 nodes can be carried in N-1 LSP messages or N-1 Hello messages, respectively. The N-1 LSP messages or N-1 Hello messages may also include other information. For example, any of the N-1 LSP messages or N-1 Hello messages also includes the prefix information of the N-1 nodes (refer to the implementation of TLV No. 235 and TLV No. 237 in the previous text).
[0346] As an implementation example, the solution of implementation example 2 is applied to a multi-topology network slicing scenario. The clock information of N-1 nodes received by the first node in step S401 can be carried by an LSP message or a Hello message sent by each node, and the LSP message or Hello message sent by each node can include an MT ID (for example, the MT ID can be configured as the ID of the clock topology by configuration).
[0347] In addition, as described above, the LSP message or Hello message sent by each node can carry TLV No. 222 (i.e., MT IS TLV), and in conditions 4 to 6, each clock information of the clock information of N-1 nodes can be carried by a field in TLV No. 222. For example, the field can be the default metric field in TLV No. 222.
[0348] For example, in the implementation of Condition 4, the LSP packets sent by each node carry the TLV numbered 222, and the value of the default metric field in the TLV numbered 222 is a pre-configured cost value, such as 1, 0, etc. The specific implementation process can refer to the implementation of Calc = 2 (i.e., the first value is 2) in the previous text.
[0349] Again, for example, in the implementation of Condition 5, the LSP packets sent by each node carry the TLV numbered 222, and the value of the default metric field in the TLV numbered 222 is the clock accuracy of the node. The specific implementation process can refer to the implementation of Calc = 3 (i.e., the second value is 3) in the previous text.
[0350] Again, for example, in the implementation of Condition 6, the LSP packets sent by each node carry the TLV numbered 222, and the value of the default metric field in the TLV numbered 222 is the clock accuracy of the node and the link accuracy between adjacent nodes. The specific implementation process can refer to the implementation of Calc = 4 (i.e., the third value is 4) in the previous text.
[0351] As another implementation example, take the scenario where the solution of Implementation Example 2 is applied to a multi-instance network sharding scenario. The clock information of N - 1 nodes received by the first node in step S401 can be carried by the LSP packets or Hello packets sent by each node, and the LSP packets or Hello packets sent by each node can include an IID (for example, through configuration, the IID can be configured as the ID of the clock topology).
[0352] In addition, the LSP packets or Hello packets sent by each node can carry the TLV numbered 22 (i.e., the neighbor sub-TLV), and in Conditions 4 to 6, each piece of clock information among the clock information of N - 1 nodes can be carried by a field in the TLV numbered 22. For example, this field can be the Metric field in the TLV numbered 22.
[0353] It should be noted that in step S402, the first node can determine the route based on multiple methods, which will be described through some implementation examples below.
[0354] Implementation Method 1: The transmission path of the clock packet includes the path indicated by the route. The transmission path of the clock packet includes M paths, and the root nodes of the M paths are the M nodes respectively.
[0355] Specifically, in Implementation Method 1, on the transmission path of the clock message, the first node can establish M paths with each of the M Server nodes as the root node. Since different Server nodes can be different clock sources, through the above implementation method, it is possible to establish the paths corresponding to each Server node, so that in the case of a failure of a certain path, the clock message can be quickly forwarded based on other paths, enabling the downstream node to quickly obtain clock synchronization from the clock source.
[0356] Implementation Method 2: The transmission path of the clock message includes the path indicated by the route. The transmission path of the clock message includes one path, and the root nodes of this one path are respectively the first node.
[0357] For ease of understanding, the following will combine Figure 7a and Figure 7b with the scenario example shown to illustrate the above Implementation Method 1 by way of example.
[0358] As an implementation example of Implementation Method 1, as shown in Figure 7a , the node constructs the LSDB according to the received LSP message.
[0359] In Figure 7a the shown example, taking calc-type = 3 as an example, that is, the Dijskra algorithm is used to calculate the shortest path considering device accuracy, that is, metric = clock_accuracy(remote_node). The network topology is as shown in Figure 7a , where nodes 0 / 1 are Server nodes (such as BC nodes), and nodes 5 / 6 are Client nodes (such as BC+TC nodes). In this example, nodes 0 / 1 and nodes 5 / 6 are both BC+TC nodes, and nodes 2 / 3 / 4 are TC nodes. In other words, any one of nodes 0 to 6 can be used as the first node to execute the methods of the above Figure 4 and related embodiments.
[0360] In Figure 7a , the clock accuracy of each node is shown in Table 1 below.
[0361] Table 1
[0362] Node 0 1 2 3 4 5 6 Clock accuracy (nanoseconds, ns) 1 ns 2 ns 15 ns 5 ns 10 ns 2 ns 5 ns
[0363] From the implementation process of the previous step S401, it can be seen that for any one of nodes 2 to 6, the information carried in the LSP messages of other nodes can be obtained. And this any one node can run the Dijkstra algorithm to calculate two SPFs with Server nodes 0 and 1 as the roots.
[0364] Exemplarily, the process of calculating the shortest path tree rooted at the Server0 node (i.e., node 0) is as shown in Tables 2 to 5 below.
[0365] Table 2
[0366]
[0367] Table 3
[0368]
[0369] Table 4
[0370]
[0371] Table 5
[0372]
[0373] Tables 2 - 5 are the process of the Dijkstra algorithm execution. There are new enqueued and dequeued nodes in each step, and the algorithm termination condition is that all nodes are dequeued. Thus, any node can determine the synchronization path according to the dequeue order. For example, in the dequeued node column (3 - 5), it means that node 3 is the parent node of node 5, that is, node 5 receives the synchronization message through node 3; similarly, the shortest path tree rooted at the Server1 node can be calculated.
[0374] After that, each node generates a routing table or routing forwarding table entry according to the shortest path calculation result. For example:
[0375] 1) The Server node generates routing forwarding table entries to all Clients according to the SPF rooted at itself.
[0376] 2) Obtain the shortest path to each Client according to the spf algorithm, and set the device directly connected to itself on the shortest path as the next hop of the route;
[0377] 3) The Client node generates n reverse path trees of SPF, and generates routing forwarding table entries to all Server nodes according to the reverse path trees.
[0378] 4) Obtain the shortest path to the Server node according to the reverse path tree, and set the device directly connected to itself on the shortest path as the next hop of the route to the Server;
[0379] 5) The intermediate TC device generates routing forwarding table entries to all Clients according to n SPF, and generates n reverse path trees of SPF, and generates routing forwarding table entries to all Server nodes.
[0380] As shown in Tables 6 to 8, they are respectively the route determined by Server0 (the route includes the next hop address with the address of the Client node as the destination address), the route determined by Client5 (the route includes the next hop address with the address of the Server node as the destination address), and the route determined by TC4 (the route includes the next hop address with the address of the Client node as the destination address, and the next hop address with the address of the Server node as the destination address).
[0381] Table 6
[0382]
[0383] Table 7
[0384] Dest Next Hop Server 0 TC3 Server 1 TC3
[0385] Table 8
[0386] Dest Next Hop Server 0 Server 0 Server 1 Server 0 Client 6 Client 6
[0387] Exemplarily, through the above implementation process, the Client node sends a signaling message to establish a connection with the Server node. For example, the Client node finds the next hop of the Server node and sends a signaling message to the Server node to request the connection establishment; after receiving the signaling message sent by the Client node, the Server node searches the routing table and sends a Grant message to the corresponding Client node.
[0388] After that, the Server node periodically sends sync messages to the Client node. The intermediate TC node receives the sync message, corrects the message timestamp (refer to the forwarding delay correction process implemented by E2E TC / P2PTC in the previous article), and forwards the sync message to the next hop node according to the forwarding table. Correspondingly, the Client node can receive the sync message sent by Server0 and Server1, select multiple transmissions according to the clock priority configured locally, select the optimal clock signal to synchronize the local clock, and provide time to the downstream base station (or media resource network, industrial network customers, etc.).
[0389] As another implementation example of implementation method 1, Figure 7b shown.
[0390] exist Figure 7aIn the illustrated example, taking calc-type = 4 as an example, that is, each node calculates the shortest path tree rooted at the primary and standby clock sources respectively by running the Dijskra algorithm according to the shortest path calculation principle that simultaneously considers device accuracy and link accuracy based on the information on the clock slices stored in the LSDB, that is, metric = clock_accuracy(remote_node)+abs(link_accuracy).
[0391] The network topology is as Figure 7b shown, where nodes 0 / 1 are Server nodes (such as BC nodes), node 4 is a Client node (such as BC+TC node), and other nodes are TC nodes. In other words, any one of nodes 2 to 4 can be used as the first node to execute the above Figure 4 and the methods of the related embodiments.
[0392] Exemplarily, the information of each node is shown in Table 9.
[0393] Table 9
[0394] Node Clock accuracy Link asymmetry 0 1 ns (0,2): 1 ns (0,3): 2 ns 1 2 ns (1,2): 1 ns (1,3): 2 ns 2 15 ns (2,0): -1 ns (2,3): -3 ns (2,4): -100 ns (2,1): -1 ns 3 5 ns (3,0): -2 ns (3,4): 3 ns (3,2): 3 ns (3,1): -2 ns 4 10 ns (4,2): 100 ns (4,3): -3 ns
[0395] From the implementation process of the foregoing step S401, it can be seen that for any one of nodes 2 to 4, the information carried in the LSP packets of other nodes can be obtained. And this any one node can run the Dijkstra algorithm to calculate the SPF rooted at Server0.
[0396] Exemplarily, the process of calculating the shortest path tree rooted at Server0 is as shown in Tables 10 to 14 below.
[0397] Table 10
[0398]
[0399] Table 11
[0400]
[0401] Table 12
[0402]
[0403] Table 13
[0404]
[0405] Table 14
[0406]
[0407] Tables 10 to 14 are the execution process of the Dijkstra algorithm. Each step has new entry and exit nodes, and the algorithm termination condition is that all nodes are exited. Therefore, any node can determine the synchronization path according to the order of exiting the queue. For example, (0-2) in the exit node column indicates that node 2 is the parent node of node 0, and node 2 receives the synchronization message through node 0. Similarly, the shortest path tree with Server1 as the root can be calculated. After that, based on the obtained shortest path tree, the Server node can obtain the shortest path to the Client node, and set the device directly connected to itself on the shortest path to the next hop of the route of the Client node.
[0408] See also Figure 8 An embodiment of the present application provides a communication device, and the communication device 800 can implement the functions of the communication device (ie, the first node, the second node or other nodes) in the above method embodiment, and thus can also achieve the beneficial effects possessed by the above method embodiment.
[0409] When the communication device 800 is used to implement the function of the aforementioned first node, the communication device includes a transceiver unit 801 and a processing unit 802; the transceiver unit 801 is used to receive clock information of N-1 nodes, and the N-1 nodes are other nodes among the N nodes except the first node; the processing unit 802 is used to determine a route based on the clock information of the N-1 nodes, and the route is used to forward the clock message; the transceiver unit 801 is also used to forward the clock message based on the route.
[0410] When the communication device 800 is used to implement the function of the aforementioned second communication device, the communication device includes a transceiver unit 801 and a processing unit 802; the processing unit 802 is used to determine the clock information of the second node; the transceiver unit 801 is used to send the clock information of the second node, the clock information of the second node is used to determine the route, and the route is used to forward the clock message.
[0411] It should be noted that the information execution process and other contents of each unit of the above-mentioned communication device 800 can be specifically referred to the description in the method embodiment shown in the above-mentioned application, and will not be repeated here.
[0412] See also Figure 9 An embodiment of the present application provides a communication device, and the communication device 900 can implement the functions of the communication device (ie, the first node, the second node or other nodes) in the above method embodiment, and thus can also achieve the beneficial effects possessed by the above method embodiment.
[0413] Attached Figure 9 The communication device 900 shown includes a memory 902 and at least one processor 901 .
[0414] Optionally, the processor 901 implements the methods in the above embodiments by reading the instructions stored in the memory 902. Alternatively, the processor 901 can also implement the methods in the above embodiments through internally stored instructions. When the processor 901 implements the methods in the above embodiments by reading the instructions stored in the memory 902, the memory 902 stores the instructions for implementing the methods provided in the above embodiments of the present application.
[0415] Optionally, at least one processor 901 is one or more CPUs, or a single-core CPU, or can also be a multi-core CPU.
[0416] Further optionally, at least one processor 901 can also be used to execute the implementation process corresponding to the processing unit 802 in the foregoing Figure 8 illustrated embodiments, and achieve the corresponding beneficial effects, which will not be elaborated here.
[0417] The memory 902 includes, but is not limited to, RAM, ROM, EPROM, flash memory, or optical memory, etc. The memory 902 stores the instructions of the operating system.
[0418] After the program instructions stored in the memory 902 are read by the at least one processor 901, the communication device performs the corresponding operations in the foregoing embodiments.
[0419] Optionally, the Figure 9 illustrated communication device further includes a network interface 903. The network interface 903 can be a wired interface, such as an FDDI or GE interface; the network interface 903 can also be a wireless interface. The network interface 903 is used to perform data reception and transmission in the Figure 4 and related embodiments.
[0420] Further optionally, the network interface 903 can also be used to execute the implementation process corresponding to the transceiver unit 801 in the foregoing Figure 8 illustrated embodiments, and achieve the corresponding beneficial effects, which will not be elaborated here.
[0421] It should be understood that the network interface 903 has the functions of receiving data and sending data. The functions of "receiving data" and "sending data" can be implemented in the same transceiver interface, or the functions of "receiving data" and "sending data" can be implemented in different interfaces respectively, which is not limited here. In other words, the network interface 903 can include one or more interfaces for implementing the functions of "receiving data" and "sending data".
[0422] For other functions that the communication device 900 can perform after the processor 901 reads the program instructions in the memory 902, please refer to the descriptions in the foregoing method embodiments.
[0423] Optionally, the communication device 900 further includes a bus 904. The above-mentioned processor 901 and memory 902 are usually interconnected through the bus 904, or may be interconnected in other ways.
[0424] Optionally, the communication device 900 further includes an input / output interface 905. The input / output interface 905 is used to connect to an input device to receive relevant configuration information input by a user or other devices that can be linked with the communication device 900 through the input device. The input device includes, but is not limited to, a keyboard, a touch screen, a microphone, etc.
[0425] The communication device 900 provided in the embodiment of the present application is used to execute the methods executed by the communication device (the first communication device or the second communication device) provided in the above-mentioned respective method embodiments, and achieve corresponding beneficial effects.
[0426] As an implementation example, the communication device 900 executes the functions of the first node in the foregoing embodiment; among them, the communication device 1000 executes the functions of other devices (such as the second node in the N nodes). The communication device 900 is used to receive clock information from the communication device 1000; the communication device 900 is further used to determine a route based on the clock information, and the route is used to forward clock messages; the communication device 900 is further used to forward the clock messages based on the route.
[0427] As another implementation example, the communication device 900 executes the functions of the second communication device in the foregoing embodiment; among them, the communication device 1000 executes the functions of other devices (such as the first communication device). The communication device 900 is used to determine the clock information of the second node; the communication device 900 is further used to send the clock information of the second node to the communication device 1000, and the clock information of the second node is used to determine a route, and the route is used to forward clock messages.
[0428] Figure 9 For the specific implementation manners of the shown communication device, reference can be made to the descriptions in the foregoing respective method embodiments, and details are not described herein one by one.
[0429] The embodiment of the present application further provides a computer-readable storage medium, which is used to store one or more computer instructions. When the computer instructions are executed by a processor, the processor executes the methods described in various implementation manners related to the communication device (such as the first node, the second node, etc.) in the foregoing embodiments.
[0430] The embodiment of the present application further provides a computer program product (or computer program for short), which includes one or more computer instructions. When the computer instructions are executed by a processor, the processor executes the methods described in various implementation manners related to the above-mentioned communication device (such as the first node, the second node, etc.).
[0431] An embodiment of the present application further provides a chip system, which includes at least one processor for supporting a communication device to implement the functions involved in the above implementation manners. Optionally, the chip system further includes an interface circuit, and the interface circuit provides program instructions and / or data for the at least one processor. In a possible design, the chip system may further include a memory for storing necessary program instructions and data of the communication device. The chip system may be composed of chips or may include chips and other discrete devices, where the communication device may specifically be the first node, the second node, etc. in the foregoing method embodiments.
[0432] An embodiment of the present application further provides a communication system, which at least includes a first communication device for executing the foregoing method embodiment, or the communication system includes a first communication device and a second communication device for executing the foregoing method embodiment.
[0433] It should be understood that in this communication system, each network device may also apply other methods involved in the foregoing embodiments and achieve corresponding technical effects, which will not be elaborated here.
[0434] In several embodiments provided in the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the unit is only a logical function division, and there may be other division methods in actual implementation. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other may be through some interfaces, and the indirect couplings or communication connections of devices or units may be in electrical, mechanical, or other forms.
[0435] As described above, the above embodiments are only used to illustrate the technical solutions of the present application and are not intended to limit them. Although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments or perform equivalent replacements for some of the technical features. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A communication method, characterized in that, The method is applied to a first node among N nodes, where the first node is a transparent clock (TC) node, and N is an integer greater than 1; the method includes: Receiving clock information of N - 1 nodes, where the N - 1 nodes are other nodes among the N nodes except the first node; Determining a route based on the clock information of the N - 1 nodes, where the route is used to forward clock messages; Forwarding the clock messages based on the route.
2. The method according to claim 1, characterized in that, The clock information of the N - 1 nodes satisfies at least one of the following: Each piece of clock information among the clock information of the N - 1 nodes includes local node information, where the local node information includes at least one of indication information indicating whether the local node is a server node, indication information indicating whether the local node is a client node, and clock accuracy information of the local node; or, Each piece of clock information among the clock information of the N - 1 nodes includes neighbor node information, where the neighbor node information includes link accuracy information between the neighbor node and the local node; Or, Each piece of clock information among the clock information of the N - 1 nodes includes algorithm indication information, or each piece of clock information of M nodes among the clock information of the N - 1 nodes includes the algorithm indication information, where the M nodes are server nodes and M is a positive integer; wherein, the algorithm indication information is used to indicate the algorithm for determining the route.
3. The method according to claim 2, characterized in that, The transmission path of the clock message includes the path indicated by the route, and the transmission path of the clock message satisfies any one of the following: When the algorithm indication information takes a first value, the transmission path of the clock message is a path determined based on the number of hops; Or, When the algorithm indication information takes a second value, the transmission path of the clock message is a path determined based on the clock accuracy of the nodes; Or, When the algorithm indication information takes a third value, the transmission path of the clock message is a path determined based on the clock accuracy of the nodes and the link accuracy information between adjacent nodes.
4. The method according to claim 2 or 3, characterized in that, Any one of the clock information of the N - 1 nodes is carried in a link state packet (LSP) message of the Intermediate System to Intermediate System (IS-IS) protocol, and the LSP message satisfies at least one of the following: The local node information is carried in the node subtype length value (TLV) in the LSP message, the algorithm indication information is carried in the flexible algorithm definition (FAD) sub-TLV of the node sub-TLV in the LSP message, and the neighbor node information is carried in the neighbor sub-TLV in the LSP message.
5. The method according to any one of claims 2 to 4, characterized in that, The transmission path of the clock message includes the path indicated by the route, and the transmission path of the clock message includes M paths, where the root nodes of the M paths are respectively M server nodes among the N nodes, and M is a positive integer.
6. The method according to claim 1, wherein The transmission path of the clock message includes the path indicated by the route, and the clock information of the N - 1 nodes satisfies any one of the following: The transmission path of the clock message is a path determined based on the number of hops, and the value of each piece of clock information of the N - 1 nodes is pre-configured; or, The transmission path of the clock message is a path determined based on the clock accuracy of the nodes, and each of the clock information in the clock information of the N-1 nodes includes the clock accuracy information of the local node; Or, The transmission path of the clock message is a path determined based on the clock accuracy of the nodes and the link accuracy information between adjacent nodes. Each of the clock information in the clock information of the N-1 nodes includes the clock accuracy information of the local node, and the link accuracy information between the neighbor node and the local node.
7. The method according to claim 6, wherein The clock information of the N-1 nodes satisfies any one of the following: Any one of the clock information in the clock information of the N-1 nodes is carried in the multi-topology intermediate system type length value MT IS TLV in the LSP message of the IS-IS protocol, and the LSP message includes the multi-topology identifier MT ID of the interface that sends the any information; Or, Any one of the clock information in the clock information of the N-1 nodes is carried in the MT IS TLV in the Hello message of the IS-IS protocol. The Hello message includes the multi-topology identifier MT ID of the interface that sends the any information; Or, Any one of the clock information in the clock information of the N-1 nodes is carried in the neighbor sub-TLV in the LSP message of the IS-IS protocol, and the LSP message includes the instance identifier IID of the interface that sends the any information; Or, Any one of the clock information in the clock information of the N-1 nodes is carried in the neighbor sub-TLV in the Hello message of the IS-IS protocol, and the Hello message includes the IID of the interface that sends the any information.
8. The method according to any one of claims 1 to 7, characterized in that, M of the N nodes are server nodes, and M is an integer greater than 1.
9. The method according to any one of claims 1 to 8, characterized in that The clock message includes at least one of the following: Synchronization sync message, Signaling message, Announce message, Follow_Up message, Grant message, Delay_Req message, Delay_Resp message.
10. A communication method, characterized in that, The method is applied to the second node among the N nodes, and N is an integer greater than 1; the method includes: Determine the clock information of the second node; Send the clock information of the second node, and the clock information of the second node is used to determine the route, and the route is used to forward the clock message.
11. The method according to claim 10, wherein The second node is a transparent clock TC node or a boundary clock BC node or an ordinary clock OC node.
12. The method according to claim 11, wherein The clock information of the second node satisfies at least one of the following: The clock information of the second node includes the local node information, and the local node information includes at least one of the indication information indicating whether the local node is a server node, the indication information indicating whether the local node is a client node, and the clock accuracy information of the local node; Or, The clock information of the second node includes neighbor node information, and the neighbor node information includes the link accuracy information between the neighbor node and the local node; Or, The clock information of the second node includes algorithm indication information, and the algorithm indication information is used to indicate that the algorithm for determining the route is associated with at least one of the hop count, the clock accuracy information of the node, and the link accuracy information between adjacent nodes.
13. The method according to claim 12, wherein The transmission path of the clock message includes the path indicated by the route, and the transmission path of the clock message satisfies any one of the following: When the algorithm indication information takes a first value, the transmission path of the clock message is a path determined based on the hop count; Or, When the algorithm indication information takes a second value, the transmission path of the clock message is a path determined based on the clock accuracy of the node; Or, When the algorithm indication information takes a third value, the transmission path of the clock message is a path determined based on the clock accuracy of the node and the link accuracy information between adjacent nodes.
14. The method according to claim 12 or 13, characterized in that, The clock information of the second node is carried in the LSP message of the IS-IS protocol, and the LSP message satisfies at least one of the following; The local node information is carried in the node subtype length value TLV in the LSP message, the algorithm indication information is carried in the flexible algorithm definition FAD sub-TLV of the node sub-TLV in the LSP message, and the neighbor node information is carried in the neighbor sub-TLV in the LSP message.
15. The method according to any one of claims 12 to 14, characterized in that The transmission path of the clock message includes the path indicated by the route, the transmission path of the clock message includes M paths, and the root nodes of the M paths are respectively M server nodes among the N nodes, where M is a positive integer.
16. The method according to claim 10, characterized in that The transmission path of the clock message includes the path indicated by the route, and the clock information of the second node satisfies any one of the following: The transmission path of the clock message is a path determined based on the hop count, and the value of the clock information of the second node is pre-configured; or, The transmission path of the clock message is a path determined based on the clock accuracy of the node, and the clock information of the second node includes the clock accuracy information of the local node; Or, The transmission path of the clock message is a path determined based on the clock accuracy of the node and the link accuracy information between adjacent nodes, and the clock information of the second node includes the clock accuracy information of the local node and the link accuracy information between the neighbor node and the local node.
17. The method according to claim 16, characterized in that, The clock information of the second node satisfies any one of the following: The clock information of the second node is carried in the multi-topology intermediate system type length value MT IS TLV in the LSP message of the IS-IS protocol, and the LSP message includes the multi-topology identifier MT ID of the interface that sends the clock information of the second node; Or, The clock information of the second node is carried in the MT IS TLV in the hello message of the IS-IS protocol, and the hello message includes the MT ID of the interface that sends the clock information of the second node; Or, The clock information of the second node is carried in the neighbor sub-TLV in the LSP message of the IS-IS protocol, and the LSP message includes the instance identifier IID of the interface that sends the clock information of the second node; or, The clock information of the second node is carried in the neighbor sub-TLV in the Hello message of the IS-IS protocol, and the Hello message includes the IID of the interface that sends the clock information of the second node.
18. The method according to any one of claims 10 to 17, characterized in that M of the N nodes are server nodes, and M is an integer greater than 1.
19. The method according to any one of claims 10 to 18, characterized in that The clock message includes at least one of the following: Synchronization sync message, Signaling message, Announce message, Follow_Up message, Grant message, Delay_Req message, Delay_Resp message.
20. A communication system, characterized in that, It includes a first node and a second node; Among them, the first node is used to execute the method described in any one of claims 1 to 9, and the second node is used to execute the method described in any one of claims 10 to 19.
21. A communication device, characterized in that, It includes at least one processor; The at least one processor is used to execute the method described in any one of claims 1 to 9, or the method described in any one of claims 10 to 19.
22. The communication device according to claim 21, wherein The communication device is a chip or a chip system.
23. A computer program product, characterized in that, It includes instructions that, when running on a processor, implement the method described in any one of claims 1 to 19.