CN114666261A - Path adjusting method and device and communication system - Google Patents
Path adjusting method and device and communication system Download PDFInfo
- Publication number
- CN114666261A CN114666261A CN202011412529.6A CN202011412529A CN114666261A CN 114666261 A CN114666261 A CN 114666261A CN 202011412529 A CN202011412529 A CN 202011412529A CN 114666261 A CN114666261 A CN 114666261A
- Authority
- CN
- China
- Prior art keywords
- forwarding
- path
- forwarding path
- data
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 125
- 238000004891 communication Methods 0.000 title claims abstract description 70
- 230000005540 biological transmission Effects 0.000 claims abstract description 56
- 230000015654 memory Effects 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 abstract description 13
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 15
- 238000004364 calculation method Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 238000013461 design Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/124—Shortest path evaluation using a combination of metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/34—Source routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The application discloses a path adjusting method and device and a communication system, and belongs to the technical field of communication. In the path adjustment method, the forwarding node may adjust the first forwarding path according to that the error code indicator of the first forwarding path does not meet a preset condition in the process of forwarding data by using the first forwarding path. For example, the forwarding node switches the first forwarding path to the second forwarding path, or the forwarding node reduces the transmission ratio of the data on the first forwarding path. Therefore, the problem of low forwarding quality caused by forwarding at least part of data on the first forwarding path with the error index not meeting the preset condition can be avoided or relieved. The method is used for adjusting the path.
Description
Technical Field
The present application relates to the field of communications technologies, and in particular, to a path adjustment method and apparatus, and a communication system.
Background
The communication system includes a controller, and a plurality of nodes to which the controller is connected. The controller is capable of controlling the plurality of nodes to forward along the path in the data tunnel.
For example, the controller may plan a data tunnel based on the network topology of the plurality of nodes and issue information of the data tunnel to a head node of the data tunnel. The head node may control the data to be forwarded to the tail node of the data tunnel along the path in the data tunnel according to the information of the data tunnel.
However, a path in a data tunnel is prone to have a high error rate, and if data is transferred on a path having a high error rate, the quality of data transfer is low.
Disclosure of Invention
The application provides a path adjusting method, a path adjusting device and a communication system, which can solve the problem of low data forwarding quality, and the technical scheme is as follows:
in a first aspect, a method for path adjustment is provided, where the method includes: in the process that the forwarding node forwards data by using a first forwarding path, according to the fact that an error code index of the first forwarding path does not accord with a preset condition, the first forwarding path is switched to a second forwarding path, or the transmission proportion of the data on the first forwarding path is reduced. Wherein the forwarding node is a node on the first forwarding path.
It should be noted that the error indicator is an indicator related to an error, such as an error rate in a general sense or an error indicator obtained by a simple formula transformation of a general calculation method based on the error rate, and further, for example, a time length of occurrence of an error or an error data amount. As a possible error index calculation method, the error rate is equal to the ratio of the number of errors in the total number of forwarded codes. The coincidence of the preset condition is opposite to the non-coincidence of the preset condition, and thus the coincidence of the preset condition can be naturally understood as not coinciding with a certain corresponding condition, and the non-coincidence of the preset condition can be naturally understood as coinciding with a certain corresponding condition, which is related to the setting contents of the conditions and the trigger mechanism of the conditions. For example, taking the error code index as the error code rate, when the preset condition is that the error code rate is less than or equal to the error code rate threshold, the forwarding node may switch the first forwarding path to the second forwarding path according to that the error code index of the first forwarding path does not meet the preset condition; when the preset condition is that the error rate is greater than the error rate threshold, the forwarding node may switch the first forwarding path to the second forwarding path according to that the error index of the first forwarding path meets the preset condition. It should be understood that any simple modification to the error indicator and the preset condition, other than the above-described case, does not affect the implementation of the present application, and therefore should be covered within the spirit of the inventive concept presented in the present application.
In the path adjustment method provided by the application, the forwarding node can switch the first forwarding path to the second forwarding path according to the fact that the error code index of the first forwarding path does not meet the preset condition, or reduce the transmission ratio of data on the first forwarding path, so as to adjust the first forwarding path. Therefore, the problem of low forwarding quality caused by forwarding at least part of data on the first forwarding path with the error code index not meeting the preset condition is avoided or relieved. In addition, the forwarding node can adjust the first forwarding path without the aid of a controller, so that the path adjusting method provided by the application has high path adjusting efficiency and high timeliness. Since the path adjustment process is allowed to be independently completed by the forwarding node, the load of the controller is also reduced, and the situation that the load of the controller is too high is avoided.
Optionally, the first forwarding path includes at least one error code link, where the error code link is a link in which an error code exists, and the second forwarding path does not include one or more of the at least one error code link. Because the second forwarding path does not include one or more error code links in the first forwarding path, the forwarding node can avoid the data from being forwarded on the one or more error code links by using the second forwarding path to forward the data, so that the condition of low forwarding quality caused by the data being forwarded on the error code links can be avoided or alleviated.
Optionally, the first forwarding path includes at least one error code link, where the error code link is a link with an error code, and an error code indicator of the error code link is referred to as an error code indicator corresponding to the error code link. The error code index of the first forwarding path does not meet a preset condition, and the method comprises the following steps: and at least one error code index corresponding to the at least one error code link does not meet the preset condition. In this case, the forwarding node may first determine at least one error link in the first forwarding path. Optionally, the forwarding node may detect the error code link on the first forwarding path based on a Bidirectional Forwarding Detection (BFD) protocol. Then, the forwarding node may determine that the error index of the first forwarding path does not meet the preset condition when at least one error index corresponding to the at least one error link does not meet the preset condition.
Optionally, the at least one error indicator that does not meet the preset condition may be understood in various ways, for example, the at least one error indicator corresponding to the at least one error link that does not meet the preset condition includes: one or more of the at least one error indicator does not meet a preset condition; or the statistical value of at least one error code index corresponding to the at least one error code link does not meet the preset condition. The statistical value of the at least one error indicator may be a sum, a median, an average, or a weighted average of the at least one error indicator, or may be: the number of error code indexes which do not meet the index requirement in the at least one error code index and the like.
Optionally, the at least one error indicator is at least one error rate, and one or more of the at least one error indicator does not meet a preset condition, including: one or more of the at least one bit error rate do not satisfy a bit error rate threshold (e.g., are greater than the bit error rate threshold, or are greater than or equal to the bit error rate threshold); or the statistical value of at least one error code index corresponding to the at least one error code link does not meet the preset condition, and the method comprises the following steps: the number of the at least one bit error rate which does not meet the bit error rate threshold value exceeds a preset value, or the accumulated sum of the at least one bit error rate does not meet the preset value.
Optionally, the first forwarding path comprises: one or more sub-paths with the same head node and the same tail node, where data to be forwarded on the first forwarding path may be forwarded through any one of the sub-paths, and the sub-paths may be used for load sharing. Illustratively, the first forwarding path may be a candidate path (candidate path) in a segment routing policy (SRv6 policy) based on the sixth version of internet protocol or a segment routing traffic engineering policy (SR-TE policy), the candidate path including at least one segment routing list (segment list), and the sub-path in the first forwarding path may be a data forwarding path indicated by the segment list in the candidate path. At least one error sub-path may exist in the first forwarding path, and the error sub-path is a sub-path in which an error exists. The error code index of the first forwarding path does not meet a preset condition, and the method comprises the following steps: and at least one error code index corresponding to the at least one error code sub-path does not meet the preset condition. At this time, the forwarding node may determine that the error index of the first forwarding path does not meet the preset condition according to that at least one error index corresponding to the at least one error sub-path does not meet the preset condition.
At least one error code index corresponding to the at least one error code sub-path does not meet the preset condition, and it may be referred that at least one error code index corresponding to the at least one error code link does not meet the preset condition, which is not described herein in detail.
And under the condition that the first forwarding path comprises at least one error code sub-path and at least one error code index corresponding to the at least one error code sub-path does not meet a preset condition, the second forwarding path does not comprise one or more error code sub-paths. Because the second forwarding path does not include one or more error code sub-paths in the first forwarding path, the forwarding node can avoid the data from being forwarded on the one or more error code sub-paths by adopting the second forwarding path to forward the data, so that the condition of low forwarding quality caused by the data being forwarded on the error code sub-paths can be avoided or relieved.
Optionally, the first forwarding path and the second forwarding path belong to the same data tunnel, or the first forwarding path and the second forwarding path belong to different data tunnels. When the first forwarding path and the second forwarding path belong to the same data tunnel, the forwarding node may switch the first forwarding path to the second forwarding path according to a routing policy for the data tunnel. When the first forwarding path and the second forwarding path belong to different data tunnels (for example, the first forwarding path belongs to a first data tunnel and the second forwarding path belongs to a second data tunnel), the forwarding node may switch the path to which the data is forwarded from the first forwarding path to the second forwarding path by switching the first data tunnel to the second data tunnel.
Optionally, the second forwarding path may be a path calculated by the forwarding node, regardless of whether the first forwarding path belongs to a path in the data tunnel. At this time, the method may further include: the forwarding node calculates a second forwarding path before switching the first forwarding path to the second forwarding path. For example, the second forwarding path is a path calculated by the forwarding node (e.g., calculated based on an Interior Gateway Protocol (IGP)). In this case, when determining that the error index of the first forwarding path does not satisfy the preset condition, the forwarding node may calculate the second forwarding path, and then switch the first forwarding path to the second forwarding path. Also, the forwarding node may be any node on the first forwarding path, such as a head node or an intermediate node. The second forwarding path may be a path in the data tunnel or may not be a path in the data tunnel, which is not limited in this embodiment of the present application.
Optionally, when the first forwarding path belongs to a first data tunnel and the second forwarding path belongs to a second data tunnel, the second data tunnel may be a tunnel pre-configured by an upper layer service in the forwarding node, and when it is determined that the error index of the first forwarding path does not meet the preset condition, the forwarding node may switch the first data tunnel to the second data tunnel, so that the first forwarding path is switched to the second forwarding path. The upper Layer service may be any service, such as a Layer 3Virtual Private Network (L3 VPN) service.
Optionally, when the first forwarding path belongs to a first data tunnel and the second forwarding path belongs to a second data tunnel, the second data tunnel may be a data tunnel planned by the controller. In this case, the method further includes: before switching the first forwarding path to a second forwarding path, the forwarding node sends a switching request message for requesting to switch the first data tunnel to a controller; thereafter, the forwarding node receives a handover response message from the controller, where the handover response message may be used to instruct forwarding of the data using the second data tunnel; at this time, when the forwarding node switches the first forwarding path to a second forwarding path, the forwarding node may switch the first forwarding path to the second forwarding path in the second data tunnel to forward the data.
Optionally, the request message is a Border Gateway Protocol (BGP) message.
Optionally, when determining that the error index of the first forwarding path does not meet the preset condition, the forwarding node may also adjust the first forwarding path based on a policy of the first data tunnel. When the error index of each data forwarding path in the first data tunnel is not satisfied with the preset condition, the forwarding node may switch the first data tunnel to the second data tunnel, so as to switch the first forwarding path in the first data tunnel to the second forwarding path in the second data tunnel.
Optionally, the method further comprises: and the forwarding node sends an error code message to a controller according to the fact that the error code index of the first forwarding path does not accord with a preset condition, wherein the error code message is used for announcing error code information associated with the first forwarding path. Illustratively, the error information may include: the error index of the first forwarding path does not meet the preset condition, the error link in the first forwarding path that does not meet the preset condition, and/or the adjustment condition of the forwarding node on the first forwarding path (for example, the forwarding node switches the first forwarding path to the second forwarding path), and the like. Because the forwarding node in the embodiment of the application can notify the error code information associated with the first forwarding path to the controller, the controller can manage the network topology of the node and the data forwarding paths laid out on the plurality of nodes according to the error code information, and the controller can lay out other data forwarding paths by referring to the error code information, so that the error code indexes of the laid out other data forwarding paths are prevented from not meeting the preset condition as much as possible.
Optionally, the error code message is a BGP message.
Optionally, the method further comprises: the forwarding node obtains a path indication of one or more paths allowing adjustment, the one or more paths including: at least one path different from the first forwarding path; when the forwarding node switches the first forwarding path to a second forwarding path, the forwarding node may determine, according to the path indication, the second forwarding path from the at least one path different from the first forwarding path, and switch the first forwarding path to the second forwarding path; when reducing the transmission ratio of the data on the first forwarding path, the forwarding node may determine, according to the path indication, a third forwarding path from the at least one path different from the first forwarding path, reduce the transmission ratio of the data on the first forwarding path, and increase the transmission ratio of the data on the third forwarding path. In the present application, whether the second forwarding path and the third forwarding path belong to paths that are allowed to be adjusted may be set as needed, so that flexibility of path adjustment may be improved.
Optionally, before the forwarding node adjusts the first forwarding path, it may further determine whether the first forwarding path belongs to a path that allows adjustment, and adjust the first forwarding path only when it is determined that the first forwarding path belongs to the path that allows adjustment. At this time, the method further includes: the forwarding node acquires path indications of one or more paths allowing adjustment; when the forwarding node switches the first forwarding path to a second forwarding path, the forwarding node may switch the first forwarding path to the second forwarding path according to that the one or more paths allowed to be adjusted include the first forwarding path; when the forwarding node reduces the transmission ratio of the data on the first forwarding path, the forwarding node may reduce the transmission ratio of the data on the first forwarding path according to that the one or more paths allowed to be adjusted include the first forwarding path. When the first forwarding path has a certain requirement on the data forwarding quality, the one or more paths allowed to be adjusted may include the first forwarding path; when the first forwarding path has no requirement for data forwarding quality, the one or more paths allowed to be adjusted may not include the first forwarding path. Thus, when the first forwarding path has no requirement for the data forwarding quality, the load increase caused by the forwarding node adjusting the first forwarding path can be avoided, and the load of the forwarding node can be reduced.
Optionally, the path indication may be issued by the controller to the forwarding node, may also be issued by another device to the forwarding node, and may also be configured locally by the forwarding node, which is not limited in this embodiment of the present application. When the Path indication is issued to the forwarding node by the controller, the Path indication is carried in a BGP message or a Path Computation Element Protocol (PCEP) message that is sent to the forwarding node by the controller. Alternatively, the BGP message or the PCEP message may be a message for issuing a policy of a data tunnel.
Optionally, the head nodes of the first forwarding path and the second forwarding path are the forwarding nodes, and the tail nodes of the first forwarding path and the second forwarding path are the same. In other possible cases, it is not excluded that in some scenarios the head nodes of these forwarding paths are different, and the tail nodes may also be different, but at least the association can occur based on some indicated relationship, so that the forwarding node determines that the first forwarding path can be switched to the second forwarding path.
Optionally, the first forwarding path belongs to a path in SRv6policy or SR-TE policy.
When switching a first forwarding path to a second forwarding path, a forwarding node may switch the first forwarding path to the SRv6policy or the second forwarding path in the SR-TE policy, where the first forwarding path and the second forwarding path are different candidate paths in the SRv6policy or the SR-TE policy, or are indicated by different segment lists in the same candidate path in the SRv6policy or the SR-TE policy. It can be seen that, when the first forwarding path is a certain candidate path in the first data tunnel, the forwarding node may switch the first forwarding path to another candidate path in the policy of the first data tunnel to switch the first forwarding path to the second forwarding path. At this time, the first forwarding path and the second forwarding path are different candidate paths in the policy of the first data tunnel. Alternatively, the second forwarding path may be a candidate path with the highest priority in the first data tunnel except the first forwarding path.
When the transmission proportion of the data on the first forwarding path is reduced, the forwarding node may reduce the transmission proportion of the data on the first forwarding path, and increase the transmission proportion of the data on one or more paths which belong to the same candidate path as the first forwarding path and are indicated by other segment list. It can be seen that, when the first forwarding path is a data forwarding path indicated by a certain segment of routing list in a certain candidate path in the first data tunnel, the forwarding node may switch the first forwarding path to a data forwarding path indicated by other segment of routing list in the candidate path. At this time, the first forwarding path and the second forwarding path are data forwarding paths indicated by different segment routing lists in the same candidate path in the policy of the first data tunnel.
Optionally, after the forwarding node switches the first forwarding path to a second forwarding path, the forwarding node may also switch the second forwarding path back to the first forwarding path according to that an error code indicator of the first forwarding path meets a preset condition; or, after reducing the transmission ratio of the data on the first forwarding path, the forwarding node may also recover the transmission ratio of the data on the first forwarding path according to that the error code indicator of the first forwarding path meets a preset condition.
Optionally, after the forwarding node switches the second forwarding path back to the original first forwarding path (or recovers the transmission ratio of the data on the first forwarding path), the forwarding node may also send, to the controller, information for notifying that the second forwarding path is switched back to the first forwarding path (or recovers the transmission ratio of the data on the first forwarding path), so that the controller manages the network topology of the nodes and the data forwarding paths laid out on the plurality of nodes according to the information.
In a second aspect, a path adjusting method is provided, where the method includes: the controller sends an indication message to the forwarding node, and the controller receives an error code message sent by the forwarding node; wherein the indication message is used for indicating the forwarding node to determine to forward data by using a first forwarding path; the error code message is used for announcing error code information associated with the first forwarding path.
It should be noted that the controller may plan the first data tunnel according to the network topology between the nodes, and send an indication message indicating that the data is forwarded using the first data tunnel to the forwarding node. At this time, the forwarding node may be a head node of the data tunnel. The indication message sent by the controller to the forwarding node may include: policies of the first data tunnel (e.g., SRv6policy or SR-TE policy). The policy of the first data tunnel includes: a plurality of candidate paths, each candidate path comprising a plurality of segment routing lists, each segment routing list indicating a data forwarding path. When the first data tunnel is an SR-TE policy tunnel, the segment routing list may be a list of labels of nodes on the data forwarding path indicated by the segment routing list. When the first data tunnel is an SRV6policy tunnel, the segment route list may be a list of version six internet protocol (IPV6) addresses of nodes on the data forwarding path indicated by the segment route list.
Because the forwarding node in the embodiment of the application can notify the error code information associated with the first forwarding path to the controller, the controller can manage the network topology of the node and the data forwarding paths laid out on the plurality of nodes according to the error code information, and the controller can lay out other data forwarding paths by referring to the error code information, so that the error code indexes of the laid out other data forwarding paths are prevented from not meeting the preset condition as much as possible.
Optionally, the method further comprises: after receiving a switching request message sent by the forwarding node, the controller sends a switching response message to the forwarding node according to the switching request message, where the switching response message is used to instruct the forwarding node to determine to use a second forwarding path to forward the data, and the second forwarding path is a forwarding path determined to be used after the forwarding node switches the first forwarding path. When the first forwarding path belongs to the first data tunnel and the second forwarding path belongs to the second data tunnel, the second data tunnel may be a data tunnel planned by the controller. The forwarding node may determine, with the controller, the second data tunnel and then switch the first forwarding path to a second forwarding path in the second data tunnel.
Optionally, the handover request message is a BGP message.
Optionally, the first forwarding path and the second forwarding path belong to the same data tunnel, or the first forwarding path and the second forwarding path belong to different data tunnels; the second forwarding path is a forwarding path determined to be used by the forwarding node after the forwarding node switches the first forwarding path. When the first forwarding path and the second forwarding path belong to the same data tunnel, the forwarding node may switch the first forwarding path to the second forwarding path according to a policy of the data tunnel (which may also be referred to as a routing policy for the data tunnel). When the first forwarding path and the second forwarding path belong to different data tunnels (for example, the first forwarding path belongs to a first data tunnel and the second forwarding path belongs to a second data tunnel), the forwarding node may switch the path to which the data is forwarded from the first forwarding path to the second forwarding path by switching the first data tunnel to the second data tunnel.
Optionally, the method comprises: the controller sends a path indication of one or more paths allowing adjustment to the forwarding node to instruct the forwarding node to perform path adjustment according to the path indication. Before the forwarding node adjusts the first forwarding path, it may further determine whether the second forwarding path belongs to one or more paths allowed to be adjusted, and switch the first forwarding path to the second forwarding path when it is determined that the second forwarding path belongs to one or more paths allowed to be adjusted. Before the forwarding node adjusts the first forwarding path, it may further determine whether the first forwarding path belongs to a path that allows adjustment, and adjust the first forwarding path only when it is determined that the first forwarding path belongs to the path that allows adjustment. The controller can set the path which is allowed to be adjusted according to the requirement, so that the flexibility of adjusting the path can be improved. When the first forwarding path has a certain requirement on the data forwarding quality, the one or more paths allowing adjustment set by the controller may include the first forwarding path; when the first forwarding path has no requirement on the data forwarding quality, the one or more paths set by the controller to allow adjustment may not include the first forwarding path. Thus, when the first forwarding path does not require data forwarding quality, it is possible to avoid a load increase caused by the forwarding node adjusting the first forwarding path, thereby reducing the load of the forwarding node.
Optionally, the path indication is carried in the indication message. The indication message may be a BGP message or a PCEP message.
In a third aspect, a path adjustment device is provided, which includes: the device comprises a forwarding module and a first adjusting module. The forwarding module is used for forwarding data by using a first forwarding path; the first adjusting module is configured to switch the first forwarding path to a second forwarding path according to that the error code indicator of the first forwarding path does not meet a preset condition, or reduce a transmission ratio of data on the first forwarding path, where the path adjusting device is a node on the first forwarding path.
The path adjusting device provided by the application can switch the first forwarding path into the second forwarding path according to the condition that the error code index of the first forwarding path does not meet the preset condition, or reduce the transmission proportion of data on the first forwarding path, so as to realize the adjustment of the first forwarding path. Therefore, the problem of low forwarding quality caused by forwarding at least part of data on the first forwarding path with the error code index not meeting the preset condition is avoided or relieved. In addition, the forwarding node can adjust the first forwarding path without the aid of a controller, so that the path adjusting method provided by the application has high path adjusting efficiency and high timeliness. In addition, the path adjusting process is allowed to be independently completed by the forwarding node, so that the load of the controller is reduced, and the situation that the load of the controller is too high is avoided.
Optionally, the first forwarding path includes at least one error code link, where the error code link is a link in which an error code exists, and the second forwarding path does not include one or more of the at least one error code link.
Optionally, the first forwarding path includes at least one error code link, where the error code link is a link with an error code, and an error code indicator of the error code link is referred to as an error code indicator corresponding to the error code link. The error code index of the first forwarding path does not meet a preset condition, and the method comprises the following steps: and at least one error code index corresponding to the at least one error code link does not meet the preset condition.
Optionally, the at least one error indicator that does not meet the preset condition may be understood in various ways, for example, the at least one error indicator corresponding to the at least one error link that does not meet the preset condition includes: one or more of the at least one error indicator does not meet a preset condition; or the statistical value of at least one error code index corresponding to the at least one error code link does not meet the preset condition. The statistical value of the at least one error indicator may be a sum, a median, an average, or a weighted average of the at least one error indicator, or may be: the number of error code indicators that do not meet the requirement of the indicator in the at least one error code indicator is not limited in the embodiment of the present application.
Optionally, the at least one error indicator is at least one error rate, and one or more of the at least one error indicator does not meet a preset condition, including: one or more of the at least one bit error rate do not satisfy a bit error rate threshold (e.g., are greater than the bit error rate threshold, or are greater than or equal to the bit error rate threshold); or the statistical value of at least one error code index corresponding to the at least one error code link does not meet a preset condition, including: the number of the at least one bit error rate which does not meet the bit error rate threshold value exceeds a preset value, or the accumulated sum of the at least one bit error rate does not meet the preset value.
Optionally, the first forwarding path comprises: one or more sub-paths with the same head node and the same tail node, where data to be forwarded on the first forwarding path may be forwarded through any one of the sub-paths, and the sub-paths may be used for load sharing. Illustratively, the first forwarding path may be a candidate path in SRv6policy or SR-TE policy, the candidate path includes at least one segment list, and the sub-path in the first forwarding path may be a data forwarding path indicated by the segment list in the candidate path. At least one error sub-path may exist in the first forwarding path, and the error sub-path is a sub-path in which an error exists. The error code index of the first forwarding path does not meet a preset condition, and the method comprises the following steps: and at least one error code index corresponding to the at least one error code sub-path does not meet the preset condition. At this time, the forwarding node may determine that the error index of the first forwarding path does not meet the preset condition according to that at least one error index corresponding to the at least one error sub-path does not meet the preset condition.
At least one error code index corresponding to the at least one error code sub-path does not meet the preset condition, and it may be referred that at least one error code index corresponding to the at least one error code link does not meet the preset condition, which is not described herein in detail.
And under the condition that the first forwarding path comprises at least one error code sub-path and at least one error code index corresponding to the at least one error code sub-path does not meet the preset condition, the second forwarding path does not comprise one or more error code sub-paths. Because the second forwarding path does not include one or more error code sub-paths in the first forwarding path, the forwarding node can avoid the data from being forwarded on the one or more error code sub-paths by adopting the second forwarding path to forward the data, so that the condition of low forwarding quality caused by the data being forwarded on the error code sub-paths can be avoided or relieved.
Optionally, the first forwarding path and the second forwarding path belong to the same data tunnel, or the first forwarding path and the second forwarding path belong to different data tunnels. When the first forwarding path and the second forwarding path belong to the same data tunnel, the first adjusting module in the path adjusting apparatus may switch the first forwarding path to the second forwarding path according to a policy of the data tunnel (which may also be referred to as a routing policy for the data tunnel). When the first forwarding path and the second forwarding path belong to different data tunnels (for example, the first forwarding path belongs to a first data tunnel and the second forwarding path belongs to a second data tunnel), the first adjusting module may switch the path to which the data is forwarded from the first forwarding path to the second forwarding path by switching the first data tunnel to the second data tunnel.
Optionally, the path adjusting apparatus further includes: a calculation module to calculate (e.g., based on IGP calculation) the second forwarding path. In this case, when determining that the error index of the first forwarding path does not satisfy the preset condition, the forwarding node may calculate the second forwarding path, and then switch the first forwarding path to the second forwarding path. Also, the forwarding node may be any node on the first forwarding path, such as a head node or an intermediate node. The second forwarding path may be a path in a data tunnel or may not be a path in a data tunnel, which is not limited in this embodiment of the present application.
Optionally, the first forwarding path belongs to a first data tunnel, the second forwarding path belongs to a second data tunnel, and the path adjusting apparatus further includes: the device comprises a first sending module and a receiving module. The first sending module is used for sending a switching request message for requesting to switch the first data tunnel to a controller; a receiving module, configured to receive a handover response message from the controller, where the handover response message is used to instruct forwarding the data using the second data tunnel; the first adjusting module is used for: switching the first forwarding path to the second forwarding path in the second data tunnel to forward the data.
Optionally, the request message is a BGP message.
Optionally, the path adjusting apparatus further includes: and the second sending module is used for sending an error code message to the controller according to the condition that the error code index of the first forwarding path does not accord with the preset condition, wherein the error code message is used for announcing the error code information associated with the first forwarding path. Illustratively, the error information may include: the error index of the first forwarding path does not meet the preset condition, the error link in the first forwarding path that does not meet the preset condition, and/or the adjustment condition of the forwarding node on the first forwarding path (for example, the forwarding node switches the first forwarding path to the second forwarding path), and the like. Because the forwarding node in the embodiment of the application can notify the error code information associated with the first forwarding path to the controller, the controller can manage the network topology of the node and the data forwarding paths laid out on the plurality of nodes according to the error code information, and the controller can lay out other data forwarding paths by referring to the error code information, so that the error code indexes of the laid out other data forwarding paths are prevented from not meeting the preset condition as much as possible.
Optionally, the path adjusting device includes: an obtaining module configured to obtain a path indication of one or more paths allowing adjustment, the one or more paths including: at least one path different from the first forwarding path; the first adjusting module is used for: determining the second forwarding path from the at least one path different from the first forwarding path according to the path indication, and switching the first forwarding path to the second forwarding path; or, determining a third forwarding path from the at least one path different from the first forwarding path according to the path indication, reducing the transmission ratio of the data on the first forwarding path, and increasing the transmission ratio of the data on the third forwarding path. In the present application, whether the second forwarding path and the third forwarding path belong to paths that are allowed to be adjusted may be set as needed, so that flexibility of path adjustment may be improved.
Optionally, the path adjusting device includes: an obtaining module, configured to obtain a path indication of one or more paths that are allowed to be adjusted; the first adjusting module is used for: switching the first forwarding path to a second forwarding path according to the one or more paths allowing adjustment, including the first forwarding path; or, according to the one or more paths allowing adjustment including the first forwarding path, reducing the transmission proportion of data on the first forwarding path. It can be seen that, before the forwarding node adjusts the first forwarding path, it may also determine whether the first forwarding path belongs to a path that allows adjustment, and when it is determined that the first forwarding path belongs to the path that allows adjustment, the forwarding node adjusts the first forwarding path. When the first forwarding path has a certain requirement on the data forwarding quality, the one or more paths allowed to be adjusted may include the first forwarding path; when the first forwarding path has no requirement on the data forwarding quality, the one or more paths allowing adjustment may not include the first forwarding path. Thus, when the first forwarding path has no requirement for the data forwarding quality, the load increase caused by the forwarding node adjusting the first forwarding path can be avoided, and the load of the forwarding node can be reduced.
Optionally, the path indication is carried in a BGP message or a PCEP message that the controller sends to the path adjusting device.
Optionally, the head nodes of the first forwarding path and the second forwarding path are the path adjusting devices, and the tail nodes of the first forwarding path and the second forwarding path are the same. In other possible cases, it is not excluded that in some scenarios the head nodes of these forwarding paths are different, and the tail nodes may also be different, but at least the association can occur based on some indicated relationship, so that the forwarding node determines that the first forwarding path can be switched to the second forwarding path.
Optionally, the first forwarding path belongs to a path in SRv6policy or SR-TE policy, and the first adjusting module is configured to: switching the first forwarding path to the second forwarding path in the SRv6policy or the SR-TE policy, wherein the first forwarding path and the second forwarding path are different candidate paths in the SRv6policy or the SR-TE policy, or are indicated by different segment routing lists in the same candidate path in the SRv6policy or the SR-TE policy; alternatively, the second forwarding path may be a candidate path with the highest priority in the first data tunnel except the first forwarding path. Or, the first adjusting module is configured to: and reducing the transmission proportion of data on the first forwarding path, and increasing the transmission proportion of the data on one or more paths which belong to the same candidate path as the first forwarding path and are indicated by other segment list. At this time, the first forwarding path and the second forwarding path are data forwarding paths indicated by different segment routing lists in the same candidate path in the policy of the first data tunnel.
Optionally, the path adjusting apparatus further includes: and a second adjusting module. The second adjustment module is configured to: switching the second forwarding path back to the first forwarding path according to the condition that the error code index of the first forwarding path meets the preset condition; or, according to the fact that the error code index of the first forwarding path meets a preset condition, recovering the transmission proportion of the data on the first forwarding path.
In a fourth aspect, there is provided a path adjustment apparatus comprising: the device comprises a first sending module and a first receiving module. The first sending module is used for sending an indication message to a forwarding node, wherein the indication message is used for indicating the forwarding node to determine to forward data by using a first forwarding path; the first receiving module is configured to receive an error code message sent by the forwarding node, where the error code message is used to notify error code information associated with the first forwarding path. Because the forwarding node in the embodiment of the application can notify the path adjusting device of the error code information associated with the first forwarding path, the path adjusting device can manage the network topology of the node and the data forwarding paths laid out on a plurality of nodes according to the error code information, and the path adjusting device can lay out other data forwarding paths by referring to the error code information, so that the error code indexes of the laid out other data forwarding paths are prevented from not meeting the preset condition as much as possible.
Optionally, the path adjusting apparatus further includes: a second receiving module, configured to receive a handover request message sent by the forwarding node; a second sending module, configured to send a handover response message to the forwarding node according to the handover request message, where the handover response message is used to instruct the forwarding node to determine to forward the data using a second forwarding path, and the second forwarding path is a forwarding path determined to be used after the forwarding node switches the first forwarding path. It can be seen that, when the first forwarding path belongs to the first data tunnel and the second forwarding path belongs to the second data tunnel, the second data tunnel may be a data tunnel planned by the path adjusting apparatus. The forwarding node may determine the second data tunnel by means of the path adjustment device, and then switch the first forwarding path to a second forwarding path in the second data tunnel.
Optionally, the handover request message is a BGP message.
Optionally, the first forwarding path and the second forwarding path belong to the same data tunnel, or the first forwarding path and the second forwarding path belong to different data tunnels; the second forwarding path is a forwarding path determined to be used by the forwarding node after the forwarding node switches the first forwarding path.
Optionally, the path adjusting device includes: a third sending module, configured to send a path indication of one or more paths allowed to be adjusted to the forwarding node, so as to instruct the forwarding node to perform path adjustment according to the path indication. The path adjusting device in the application can set the path which is allowed to be adjusted according to the requirement, and therefore, the flexibility of path adjustment can be improved. When the first forwarding path has a certain requirement on the data forwarding quality, the one or more paths allowing adjustment set by the path adjusting device may include the first forwarding path; when the first forwarding path has no requirement on the data forwarding quality, the one or more paths set by the path adjusting means to allow adjustment may not include the first forwarding path. Thus, when the first forwarding path does not require data forwarding quality, it is possible to avoid a load increase caused by the forwarding node adjusting the first forwarding path, thereby reducing the load of the forwarding node.
Optionally, the path indication is carried in the indication message. The indication message may be a BGP message or a PCEP message.
In a fifth aspect, a communication system is provided, the communication system comprising: a plurality of nodes; at least part of the nodes in the plurality of nodes are located on a first forwarding path, and a forwarding node is any node on the first forwarding path, for example, a path head node serving as a tunnel end device; the forwarding node is configured to: forwarding the data using the first forwarding path; and switching the first forwarding path to a second forwarding path according to the condition that the error code index of the first forwarding path does not meet the preset condition, or reducing the transmission proportion of data on the first forwarding path. The other nodes except the forwarding node in the at least part of nodes are used for: and receiving the data forwarded by the forwarding node or forwarding the data to the forwarding node according to the first forwarding path.
The forwarding node can switch the first forwarding path to the second forwarding path according to the fact that the error code index of the first forwarding path does not meet the preset condition, or reduce the transmission proportion of data on the first forwarding path, so that the first forwarding path can be adjusted. Therefore, the problem of low forwarding quality caused by forwarding at least part of data on the first forwarding path with the error code index not meeting the preset condition is avoided or relieved. In addition, the forwarding node can adjust the first forwarding path without the aid of a controller, so that the path adjusting method provided by the application has high path adjusting efficiency and high timeliness. In addition, the path adjusting process is allowed to be independently completed by the forwarding node, so that the load of the controller is reduced, and the situation that the load of the controller is too high is avoided.
Optionally, the communication system further comprises: a controller; the controller is configured to: sending a path indication message to the forwarding node, the forwarding node being configured to: and determining to forward data by using a first forwarding path according to the path indication message.
In a sixth aspect, there is provided a communication system comprising: a controller and a forwarding node; the controller is configured to: sending a path indication message to the forwarding node; the forwarding node is configured to: after determining to forward data by using a first forwarding path according to the message, switching the first forwarding path to a second forwarding path according to the fact that an error code indicator of the first forwarding path does not meet a preset condition, or reducing a transmission ratio of data on the first forwarding path, wherein the forwarding node is a node on the first forwarding path.
The forwarding node can switch the first forwarding path to the second forwarding path according to the fact that the error code index of the first forwarding path does not meet the preset condition, or reduce the transmission proportion of data on the first forwarding path, so that the first forwarding path can be adjusted. Therefore, the problem of low forwarding quality caused by forwarding at least part of data on the first forwarding path with the error code index not meeting the preset condition is avoided or relieved. In addition, the forwarding node can adjust the first forwarding path without the aid of a controller, so that the path adjusting method provided by the application has high path adjusting efficiency and high timeliness. In addition, the path adjusting process is allowed to be independently completed by the forwarding node, so that the load of the controller is reduced, and the situation that the load of the controller is too high is avoided.
Optionally, with regard to the communication system provided in the fifth aspect or the sixth aspect, the first forwarding path includes at least one error code link, where the error code link is a link in which an error exists, and the second forwarding path does not include one or more of the at least one error code link. Because the second forwarding path does not include one or more error code links in the first forwarding path, the forwarding node can avoid the data from being forwarded on the one or more error code links by using the second forwarding path to forward the data, so that the condition of low forwarding quality caused by the data being forwarded on the error code links can be avoided or alleviated.
Optionally, with respect to the communication system provided in the fifth aspect or the sixth aspect, the first forwarding path includes at least one error code link, where the error code link is a link with an error code, and an error code indicator of the error code link is referred to as an error code indicator corresponding to the error code link. The error code index of the first forwarding path does not meet a preset condition, and the method comprises the following steps: and at least one error code index corresponding to the at least one error code link does not meet the preset condition. Optionally, the forwarding node may detect an error link on the first forwarding path based on the BFD protocol. Then, the forwarding node may determine that the error index of the first forwarding path does not meet the preset condition when at least one error index corresponding to the at least one error link does not meet the preset condition.
Optionally, with respect to the communication system provided by the fifth aspect or the sixth aspect, there may be multiple understandings that the at least one error indicator does not meet the preset condition, for example, that the at least one error indicator corresponding to the at least one error link does not meet the preset condition includes: one or more of the at least one error indicator does not meet a preset condition; or the statistical value of at least one error code index corresponding to the at least one error code link does not meet the preset condition. The statistical value of the at least one error indicator may be a sum, a median, an average, or a weighted average of the at least one error indicator, or may be: the number of error code indicators that do not meet the requirement of the indicator in the at least one error code indicator is not limited in the embodiment of the present application.
Optionally, with regard to the communication system provided by the fifth aspect or the sixth aspect, the at least one error indicator is at least one bit error rate, and one or more of the at least one error indicator does not meet a preset condition, including: one or more of the at least one bit error rate do not satisfy a bit error rate threshold (e.g., are greater than the bit error rate threshold, or are greater than or equal to the bit error rate threshold); or the statistical value of at least one error code index corresponding to the at least one error code link does not meet the preset condition, and the method comprises the following steps: the number of the at least one bit error rate which does not meet the bit error rate threshold value exceeds a preset value, or the accumulated sum of the at least one bit error rate does not meet the preset value.
Optionally, with respect to the communication system provided by the fifth aspect or the sixth aspect, the first forwarding path includes: one or more sub-paths with the same head node and the same tail node, where data to be forwarded on the first forwarding path may be forwarded through any one of the sub-paths, and the sub-paths may be used for load sharing. Illustratively, the first forwarding path may be a candidate path in SRv6policy or SR-TE policy, the candidate path includes at least one segment list, and the sub-path in the first forwarding path may be a data forwarding path indicated by the segment list in the candidate path. At least one error sub-path may exist in the first forwarding path, and the error sub-path is a sub-path in which an error exists. The error code index of the first forwarding path does not meet a preset condition, and the method comprises the following steps: and at least one error code index corresponding to the at least one error code sub-path does not meet the preset condition. At this time, the forwarding node may determine that the error index of the first forwarding path does not meet the preset condition according to that at least one error index corresponding to the at least one error sub-path does not meet the preset condition.
At least one error code index corresponding to the at least one error code sub-path does not meet the preset condition, and it may be referred that at least one error code index corresponding to the at least one error code link does not meet the preset condition, which is not described herein in detail.
And under the condition that the first forwarding path comprises at least one error code sub-path and at least one error code index corresponding to the at least one error code sub-path does not meet the preset condition, the second forwarding path does not comprise one or more error code sub-paths. Because the second forwarding path does not include one or more error code sub-paths in the first forwarding path, the forwarding node can avoid the data from being forwarded on the one or more error code sub-paths by adopting the second forwarding path to forward the data, so that the condition of low forwarding quality caused by the data being forwarded on the error code sub-paths can be avoided or relieved.
Optionally, with respect to the communication system provided in the fifth aspect or the sixth aspect, the first forwarding path and the second forwarding path belong to the same data tunnel, or the first forwarding path and the second forwarding path belong to different data tunnels. When the first forwarding path and the second forwarding path belong to the same data tunnel, the forwarding node may switch the first forwarding path to the second forwarding path according to a policy of the data tunnel. When the first forwarding path and the second forwarding path belong to different data tunnels (for example, the first forwarding path belongs to a first data tunnel and the second forwarding path belongs to a second data tunnel), the forwarding node may switch the path to which the data is forwarded from the first forwarding path to the second forwarding path by switching the first data tunnel to the second data tunnel.
Alternatively, with the communication system provided by the fifth aspect or the sixth aspect, the second forwarding path may be a path calculated by the forwarding node, regardless of whether the first forwarding path belongs to a path in the data tunnel. At this time, the forwarding node is further configured to: the second forwarding path is computed. For example, the second forwarding path is a path calculated by the forwarding node (e.g., based on IGP calculation). In this case, when determining that the error index of the first forwarding path does not satisfy the preset condition, the forwarding node may calculate the second forwarding path, and then switch the first forwarding path to the second forwarding path. Also, the forwarding node may be any node on the first forwarding path, such as a head node or an intermediate node. The second forwarding path may be a path in the data tunnel or may not be a path in the data tunnel, which is not limited in this embodiment of the present application.
Optionally, with regard to the communication system provided by the fifth aspect or the sixth aspect, when the first forwarding path belongs to a first data tunnel and the second forwarding path belongs to a second data tunnel, the second data tunnel may be a tunnel preconfigured by upper layer services in the forwarding node, and when it is determined that the error indicator of the first forwarding path does not meet the preset condition, the forwarding node may switch the first data tunnel to the second data tunnel, so that the first forwarding path is switched to the second forwarding path. The upper layer traffic may be any kind of traffic, such as L3VPN traffic or the like.
Optionally, for the communication system provided in the fifth aspect or the sixth aspect, the first forwarding path belongs to a first data tunnel, and the second forwarding path belongs to a second data tunnel; the second data tunnel may be a controller-planned data tunnel. In this case, the forwarding node is further configured to: sending a switching request message for requesting to switch the first data tunnel to a controller; the controller is further configured to: sending a switching response message to the forwarding node according to the switching request message, wherein the switching response message is used for indicating that the data is forwarded by using the second data tunnel; the forwarding node is configured to: switching the first forwarding path to the second forwarding path in the second data tunnel to forward the data.
Optionally, for the communication system provided in the fifth aspect or the sixth aspect, the request message is a BGP message.
Optionally, with regard to the communication system provided by the fifth aspect or the sixth aspect, the forwarding node may be configured to, when it is determined that the error indicator of the first forwarding path does not meet the preset condition, adjust the first forwarding path based on the policy of the first data tunnel. When the error index of each data forwarding path in the first data tunnel is not equal to the preset condition, the forwarding node may be configured to switch the first data tunnel to the second data tunnel, so as to switch the first forwarding path in the first data tunnel to the second forwarding path in the second data tunnel.
Optionally, for the communication system provided by the fifth aspect or the sixth aspect, the forwarding node is further configured to: and sending an error code message to a controller according to the fact that the error code index of the first forwarding path does not meet the preset condition, wherein the error code message is used for announcing error code information associated with the first forwarding path. For example, the error information may include: the error index of the first forwarding path does not meet the preset condition, the error link in the first forwarding path that does not meet the preset condition, and/or the adjustment condition of the forwarding node on the first forwarding path (for example, the forwarding node switches the first forwarding path to the second forwarding path), and the like. Because the forwarding node in the embodiment of the application can notify the error code information associated with the first forwarding path to the controller, the controller can manage the network topology of the node and the data forwarding paths laid out on the plurality of nodes according to the error code information, and the controller can lay out other data forwarding paths by referring to the error code information, so that the error code indexes of the laid out other data forwarding paths are prevented from not meeting the preset condition as much as possible.
Optionally, with regard to the communication system provided by the fifth aspect or the sixth aspect, the forwarding node is configured to: obtaining a path indication for one or more paths that allow adjustment, the one or more paths comprising: at least one path different from the first forwarding path; determining the second forwarding path from the at least one path different from the first forwarding path according to the path indication, and switching the first forwarding path to the second forwarding path; or, determining a third forwarding path from the at least one path different from the first forwarding path according to the path indication, reducing the transmission ratio of the data on the first forwarding path, and increasing the transmission ratio of the data on the third forwarding path. In the present application, whether the second forwarding path and the third forwarding path belong to paths that are allowed to be adjusted may be set as needed, so that flexibility of path adjustment may be improved.
Optionally, with the communication system provided in the fifth aspect or the sixth aspect, before the forwarding node adjusts the first forwarding path, it may further determine whether the first forwarding path belongs to a path that allows adjustment, and when it is determined that the first forwarding path belongs to the path that allows adjustment, the first forwarding path is adjusted. At this time, the forwarding node is configured to: obtaining a path indication of one or more paths that are allowed to be adjusted; switching the first forwarding path to a second forwarding path according to the one or more paths allowing adjustment including the first forwarding path; or, according to the one or more paths allowed to be adjusted including the first forwarding path, reducing the transmission proportion of data on the first forwarding path. When the first forwarding path has a certain requirement on the data forwarding quality, the one or more paths allowed to be adjusted may include the first forwarding path; when the first forwarding path has no requirement on the data forwarding quality, the one or more paths allowing adjustment may not include the first forwarding path. Thus, when the first forwarding path does not require data forwarding quality, it is possible to avoid a load increase caused by the forwarding node adjusting the first forwarding path, thereby reducing the load of the forwarding node.
Optionally, for the communication system provided in the fifth aspect or the sixth aspect, the path indication may be issued by the controller to the forwarding node, may also be issued by another device to the forwarding node, and may also be configured locally by the forwarding node, which is not limited in this embodiment of the present application. And when the path indication is issued to the forwarding node by the controller, the path indication is carried in a BGP message or a PCEP message which is sent to the forwarding node by the controller. Alternatively, the BGP message or the PCEP message may be a message for issuing a policy of a data tunnel.
Optionally, with respect to the communication system provided in the fifth aspect or the sixth aspect, the head nodes of the first forwarding path and the second forwarding path are the forwarding nodes, and the tail nodes of the first forwarding path and the second forwarding path are the same. In other possible cases, it is not excluded that in some scenarios the head nodes of these forwarding paths are different, and the tail nodes may also be different, but at least the association can occur based on some indicated relationship, so that the forwarding node determines that the first forwarding path can be switched to the second forwarding path.
Optionally, for the communication system provided in the fifth aspect or the sixth aspect, the first forwarding path belongs to a path in SRv6policy or SR-TE policy, and the forwarding node is configured to: switching the first forwarding path to the second forwarding path in the SRv6policy or the SR-TE policy, wherein the first forwarding path and the second forwarding path are different candidate paths in the SRv6policy or the SR-TE policy, or are indicated by different segment routing lists in the same candidate path in the SRv6policy or the SR-TE policy. It can be seen that, when the first forwarding path is a certain candidate path in the first data tunnel, the forwarding node may switch the first forwarding path to another candidate path in the policy of the first data tunnel to switch the first forwarding path to the second forwarding path. At this time, the first forwarding path and the second forwarding path are different candidate paths in the policy of the first data tunnel. Alternatively, the second forwarding path may be a candidate path with the highest priority in the first data tunnel except the first forwarding path.
Or, the first forwarding path belongs to a path in SRv6policy or SR-TE policy, and the forwarding node is configured to: and reducing the transmission proportion of data on the first forwarding path, and increasing the transmission proportion of the data on one or more paths which belong to the same candidate path as the first forwarding path and are indicated by other segment list. It can be seen that, when the first forwarding path is a data forwarding path indicated by a certain segment of routing list in a certain candidate path in the first data tunnel, the forwarding node may switch the first forwarding path to a data forwarding path indicated by other segment of routing list in the candidate path. At this time, the first forwarding path and the second forwarding path are data forwarding paths indicated by different segment routing lists in the same candidate path in the policy of the first data tunnel.
Optionally, for the communication system provided by the fifth aspect or the sixth aspect, the forwarding node is further configured to: switching the second forwarding path back to the first forwarding path according to the condition that the error code index of the first forwarding path meets the preset condition; or, according to the fact that the error code index of the first forwarding path meets a preset condition, the transmission proportion of the data on the first forwarding path is recovered.
Optionally, the forwarding node may be further configured to: after the second forwarding path is switched back to the original first forwarding path (or after the transmission proportion of the data on the first forwarding path is recovered), information for notifying that the second forwarding path is switched back to the first forwarding path (or the transmission proportion of the data on the first forwarding path is recovered) is sent to the controller, so that the controller can manage the network topology of the nodes and the data forwarding paths laid out on the plurality of nodes according to the information.
In a seventh aspect, a network device is provided, where the network device includes: a processor and a memory, wherein the memory stores a program, and the processor is configured to call the program stored in the memory to enable the network device to execute the path adjustment method according to any design of the first aspect.
In an eighth aspect, a network device is provided, which includes: a processor and a memory, wherein the memory stores a program, and the processor is configured to call the program stored in the memory to cause the network device to execute the path adjustment method according to any design of the second aspect.
In a ninth aspect, a computer storage medium is provided, the storage medium having a computer program stored therein, the computer program being configured to execute the path adjustment method according to any one of the first aspect designs.
A tenth aspect provides a computer storage medium having a computer program stored therein, the computer program being configured to execute the path adjustment method according to any one of the second aspect.
In an eleventh aspect, there is provided a computer program product comprising instructions which, when run on a path adjustment device, cause the path adjustment device to perform the path adjustment method as set forth in any of the designs of the first aspect.
In a twelfth aspect, there is provided a computer program product comprising instructions which, when run on a path adjustment device, cause the path adjustment device to perform the path adjustment method according to any of the designs of the second aspect.
The technical effects brought by any one of the design manners of the seventh aspect to the twelfth aspect can be referred to the technical effects brought by the corresponding design manner in the first aspect, and are not described herein again.
Drawings
Fig. 1 is a schematic view of a scenario in which data is forwarded along a data forwarding path according to an embodiment of the present application;
fig. 2 is a schematic view of another scenario in which data is forwarded along a data forwarding path according to an embodiment of the present application;
fig. 3 is a schematic structural diagram of a network device according to an embodiment of the present application;
fig. 4 is a flowchart of a path adjustment method according to an embodiment of the present application;
fig. 5 is a schematic diagram of a data forwarding path according to an embodiment of the present application;
fig. 6 is a schematic diagram of another data forwarding path provided in an embodiment of the present application;
fig. 7 is a schematic diagram of a path adjustment according to an embodiment of the present application;
FIG. 8 is a schematic diagram of another path adjustment provided in the embodiments of the present application;
fig. 9 is a schematic structural diagram of an error code TLV provided in an embodiment of the present application;
FIG. 10 is a schematic diagram of another path adjustment provided by an embodiment of the present application;
fig. 11 is a schematic structural diagram of a first TLV provided in an embodiment of the present application;
fig. 12 is a schematic structural diagram of a second TLV provided in an embodiment of the present application;
fig. 13 is a schematic structural diagram of a path adjustment device according to an embodiment of the present disclosure;
fig. 14 is a schematic structural diagram of another path adjustment device according to an embodiment of the present application.
Detailed Description
In order to make the principle and technical solution of the present application clearer, embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
A communication system typically comprises a plurality of nodes, which may be any kind of device capable of forwarding data, such as routers, gateways, etc. Nodes in a communication system are connected by links.
Data forwarding paths may be deployed in a communication system. At least two nodes (which may be located in the same network domain or in different network domains) in the communication system are located on the data forwarding path, and the data forwarding path includes a link between the at least two nodes. Each node on the data forwarding path may forward data along the data forwarding path.
It should be noted that the data forwarding path in the embodiment of the present application may be any type of path, for example, a path for forwarding Internet Protocol (IP) data, or a path of a data tunnel, etc. The data tunnel may BE any kind of tunnel for forwarding data, such as SRv6policy tunnel, SR-TE policy tunnel, or best-effort-Routing besteffert (SR-BE) policy tunnel.
Fig. 1 is a schematic diagram of a scenario in which data is forwarded along a data forwarding path according to an embodiment of the present application, as shown in fig. 1, the scenario includes a node 1 to a node 6, where the node 1, the node 2, the node 3, and the node 4 are located on the data forwarding path. After receiving the data, the node 1 may forward the data to the node 2; after receiving the data sent by the node 1, the node 2 may forward the data to the node 3; after receiving the data sent by node 2, node 3 may forward the data to node 4. It can be seen that data can be forwarded along this data forwarding path where node 1, node 2, node 3 and node 4 are located. The data may be traffic flow.
Further exemplarily, fig. 2 is a schematic view of another scenario in which data is forwarded along a data forwarding path according to an embodiment of the present application, as shown in fig. 2, on the basis of fig. 1, the scenario in which data is forwarded along the data forwarding path may further include a controller. The controller is connected to nodes in the communication system (the connection of the controller to each node is not shown in fig. 2). The controller is used for deploying the data forwarding paths. It should be noted that the data forwarding path in the scenario shown in fig. 2 may be a path in a data tunnel, or may not be a path in a data tunnel, which is not limited in this embodiment of the present application.
When the data forwarding path shown in fig. 2 is a path of an SRv6policy tunnel or an SR-TE policy tunnel, before the data forwarding path is deployed, the controller may obtain connection relationships among a plurality of nodes based on an IGP or BGP protocol, generate a network topology of the plurality of nodes based on the connection relationships, and plan a data tunnel (e.g., SRv6policy tunnel or SR-TE policy tunnel) according to the network topology. When the controller deploys the data forwarding path, the controller may issue a policy (e.g., SRv6policy or SR-TE policy) of the data tunnel to a head node of the data tunnel based on BGP or PCEP, so that the head node determines the data forwarding path of the data tunnel according to the policy of the data tunnel, and then controls data forwarding along the data forwarding path.
The policy of a data tunnel typically includes multiple Candidate paths (Candidate paths), each of which includes one or more segment route lists (segment lists), each of which is used to indicate a data forwarding path. Therefore, the policy of the data tunnel is used to indicate a plurality of data forwarding paths. Optionally, the candidate path in the policy of the data tunnel may also not include the segment list, at this time, one candidate path is a data forwarding path, and the policy of the data tunnel is used to indicate multiple data forwarding paths. The data tunnel generally has a head node and a tail node, the head nodes of multiple data forwarding paths indicated by the policy of the data tunnel are all the head nodes of the data tunnel, and the tail nodes of the multiple data forwarding paths are all the tail nodes of the data tunnel.
The policy of the data tunnel further includes a color (color) attribute of the data tunnel, which is used to indicate a service corresponding to the data tunnel. After receiving the policy of the data tunnel, the head node of the data tunnel may further determine a route matched with the data tunnel, and iterate (recursion) a next hop of the route to the data tunnel, so that data to be forwarded based on the route is forwarded through a data forwarding path in the data tunnel. For the data tunnel and the route matched with the data tunnel, the tail node of the data tunnel is the next hop of the route, and the route carries the color attribute of the data tunnel. Optionally, the policy of the data tunnel includes multiple candidate paths, the data forwarding path for forwarding data in the data tunnel may be any candidate path, and the policy of the data tunnel may further include an identifier (may be referred to as BSID) of the candidate path. When iterating the next hop of the route onto the data tunnel, the head node may change the next hop of the route to the identification of the candidate path for forwarding data in the policy of the data tunnel.
However, in the scenarios shown in fig. 1 and fig. 2, the data is relatively prone to error errors during the forwarding process due to environmental noise, environmental ac power, environmental lightning pulses, node failures, and the like. When the error code condition of the data is serious, the accuracy of data forwarding is low, and no scheme for solving the data error code exists at present.
Based on the above problems, the embodiments of the present application provide a path adjusting method, which can adjust a forwarding path when an error code indicator of a first forwarding path does not meet a preset condition, thereby reducing the error code condition of data and improving the accuracy of data forwarding.
The path adjustment method provided by the embodiment of the application can be used for the forwarding node and the controller (or only used for the forwarding node). Before describing the path adjusting method provided in the embodiments of the present application, the embodiments of the present application briefly describe the structures of the forwarding node and the controller.
The forwarding node may include: a processor; the processor is configured to be coupled to the memory, and after reading the instructions in the memory, execute the method performed by the forwarding node according to the instructions as described in the embodiments of the present application. The controller also includes: a processor; the processor is used for being coupled with the memory and executing the method executed by the controller according to the instruction after reading the instruction in the memory.
In each network device of the forwarding node and the controller, the number of the processors may be plural, and the memory coupled to the processors may be independent from the processors or the network devices, or may be within the processors or the network devices. The storage may be a physically independent unit, or may be a storage space on a cloud server or a network hard disk. Alternatively, the memory may be one or more. When the number of memories is plural, they may be located at the same or different positions, and may be used independently or cooperatively. For example, please refer to fig. 3 when the memory is located inside the network device, and fig. 3 is a schematic structural diagram of the network device according to an embodiment of the present application. The network device 200 includes: a processor 202 and a memory 201, wherein the memory 201 is used for storing programs, and the processor 202 is used for calling the programs stored in the memory 201 to make the network device execute corresponding methods or functions. Optionally, as shown in fig. 3, the network device 200 may further include at least one communication interface 203 and at least one communication bus 204. The memory 201, processor 202, and communication interface 203 are communicatively coupled by a communication bus 204. The communication interface 203 is used for communicating with other devices under the control of the processor 202, and the processor 202 can call programs stored in the memory 201 through the communication bus 204.
The path adjusting method provided by the embodiment of the present application will be explained and explained below by taking the embodiment shown in fig. 4 as an example.
For example, fig. 4 is a flowchart of a path adjustment method provided in an embodiment of the present application, where the path adjustment method may be used in the scenario shown in fig. 2, and the data forwarding path shown in fig. 2 is a path of an SRv6policy tunnel or an SR-TE policy tunnel. As shown in fig. 4, the path adjusting method may include:
s101, the controller sends an indication message to the forwarding node, wherein the indication message is used for indicating that the first data tunnel is used for forwarding data.
The controller can plan a first data tunnel according to the network topology among the nodes and issue an indication message for indicating that the first data tunnel is used for forwarding data to the forwarding nodes. At this time, the forwarding node may be a head node of the data tunnel.
Assuming that the head node of the first data tunnel is node 1 in fig. 2 and the tail node is node 4 in fig. 2, the forwarding node may be node 1, and node 1 forwards data from node 1 to node 4 using the first data tunnel to forward data.
The indication message sent by the controller to the forwarding node may include: policies of the first data tunnel (e.g., SRv6policy or SR-TE policy). The policy of the first data tunnel includes: a plurality of candidate paths, each candidate path may include one or more segment routing lists, each segment routing list indicating a data forwarding path. When the first data tunnel is an SR-TE policy tunnel, the segment routing list may be a list of labels of nodes other than the head node on the data forwarding path indicated by the segment routing list. When the first data tunnel is an SRv6policy tunnel, the segment routing list may be a list of version six internet protocol (IPv6) addresses of nodes on the data forwarding path indicated by the segment routing list, except for the head node. Optionally, a candidate path in the policy of the data tunnel may also not include the segment list, and at this time, one candidate path is a data forwarding path, which is not limited in this embodiment of the present application.
Taking the first data tunnel as an SR-TE policy tunnel as an example, assume that the label of the node 2 is the node label 2, the label of the node 3 is the node label 3, the label of the node 4 is the node label 4, the label of the node 5 is the node label 5, and the label of the node 6 is the node label 6. As shown in table 1, the policy of the first data tunnel includes candidate paths a and B.
The candidate path a includes three segment routing lists, which are segment routing list < node label 2, node label 3, node label 4>, segment routing list < node label 2, node label 4> and segment routing list < node label 4 >. The three data forwarding paths indicated by the three segment routing lists are data forwarding paths 1, 2, and 3 shown in fig. 5.
Candidate path B includes two segment routing lists, segment routing list < node label 5, node label 4> and segment routing list < node label 5, node label 6, node label 4>, respectively. The two data forwarding paths indicated by the two segment routing lists in the candidate path B are the data forwarding paths 4 and 5 shown in fig. 6.
TABLE 1
In table 1, the candidate path includes a plurality of segment routing lists as an example. Optionally, the candidate path may also include a segment routing list, for example, candidate path a includes segment routing list < node label 2, node label 3, and node label 4>, and candidate path B includes segment routing list < node label 5, and node label 4 >. Alternatively, the candidate path may not include the segment routing list, for example, neither the candidate path a nor the candidate path B includes the segment routing list, the candidate path a is the data forwarding path 1 shown in fig. 5, and the candidate path B is the data forwarding path 4 shown in fig. 6.
S102, the forwarding node forwards the data by using the forwarding path in the first data tunnel.
The first data tunnel may contain a plurality of data forwarding paths (as indicated by the policy of the first data tunnel). After receiving the indication message, the forwarding node may determine at least one data forwarding path for forwarding data in the first data tunnel according to the indication message, and forward the data using the at least one data forwarding path.
Illustratively, for the example in S101, the first data tunnel includes five paths in total, which are: three data forwarding paths in fig. 5, and three data forwarding paths in fig. 6. The forwarding node may screen out the paths for forwarding data from the five data forwarding paths according to a certain rule. For example, each candidate path in the policy of the first data tunnel has a priority, such as the priority of candidate path a is 1 and the priority of candidate path B is 2 in table 1. The forwarding node may take the data forwarding path indicated by the segment routing list in the candidate path with the highest priority as the path for forwarding the data. Referring to table 1, if the candidate path with the highest priority is candidate path a, the forwarding node may forward data using data forwarding paths 1, 2, and 3 in fig. 5 indicated by the segment routing list in candidate path a.
When forwarding data using a forwarding path, a forwarding node may forward the data according to a segment routing list indicating the forwarding path. Illustratively, take the forwarding node as node 1 in fig. 5, and node 1 forwards data by using data forwarding path 1 indicated by segment routing list < node label 2, node label 3, and node label 4 >. When receiving a data packet that needs to be forwarded on the first data tunnel, the node 1 may add the segment routing list to the data packet, and then send the data packet to a node (node 2) corresponding to a first node label (node label 2) in the segment routing list. After receiving the data packet, the node 2 may delete the label of the node 2 (node label 2) in the segment routing list, and then send the data packet to the node (node 3) corresponding to the first node label (node label 3) in the segment routing list. After receiving the data packet, the node 3 may delete the label of the node 3 (node label 3) in the segment routing list, and then send the data packet to the node (node 4) corresponding to the first node label (node label 4) in the segment routing list. After receiving the data packet, the node 4 may delete the label of the node 4 (node label 4) in the segment routing list, thereby obtaining the data packet received by the node 1. This causes the head node (node 1) of the first data tunnel to forward the packet along data forwarding path 1 to the tail node (node 4) of the first data tunnel.
For example, when the candidate path includes one segment route list, the forwarding node may forward the data using a data forwarding path indicated by one segment route list in the candidate path with the highest priority. When the candidate path does not include the segment routing list, the forwarding node may forward the data using the candidate path with the highest priority.
S103, the forwarding node determines that the error code index of the first forwarding path does not meet a preset condition, and the first forwarding path belongs to a data forwarding path used for forwarding data in the first data tunnel.
In the process of forwarding data by using at least one data forwarding path in the first data tunnel, the forwarding node may use all or part of the at least one data forwarding path as a first forwarding path, and detect whether an error code indicator of the first forwarding path meets a preset condition. For example, the forwarding node takes a candidate path (which may or may not include at least one segment routing list) in the first data tunnel as the first forwarding path; when the candidate path in the first data tunnel includes the segment routing list, the forwarding node may also use a data forwarding path indicated by a certain segment routing list in the first data tunnel as the first forwarding path.
Taking the example in S102 as an example, assuming that the forwarding node forwards data using data forwarding paths 1, 2, and 3 in fig. 5 indicated by the segment routing list in candidate path a, the first forwarding path may be candidate path a, including data forwarding paths 1, 2, and 3, and may also be data forwarding path 1, 2, or 3. Assuming that candidate path a includes a segment routing list indicating data forwarding path 1 in fig. 5, the first forwarding path may be data forwarding path 1. Assuming that candidate path a does not include the segment routing list and candidate path a is data forwarding path 1 in fig. 5, the first forwarding path may be candidate path a (i.e., the data forwarding path 1).
It should be noted that the error indicator is an indicator related to an error, such as a Symbol Error Rate (SER) in a general sense or an error indicator obtained by a simple formula transformation of a general calculation method based on the error rate, and further, such as a time length of an error or an error data amount of the error. As a possible error index calculation method, the error rate is equal to the ratio of the number of errors in the total number of forwarded codes. The coincidence of the preset condition is opposite to the non-coincidence of the preset condition, and thus the coincidence of the preset condition can naturally be understood as the non-coincidence of a certain corresponding condition, and the non-coincidence of the preset condition can naturally be understood as the coincidence of a certain corresponding condition, which is related to the setting contents of the conditions and the trigger mechanism of the conditions. For example, taking the error code index as the error code rate, when the preset condition is that the error code rate is less than or equal to the error code rate threshold, the forwarding node in S103 may switch the first forwarding path to the second forwarding path according to that the error code index of the first forwarding path does not meet the preset condition; when the preset condition is that the error rate is greater than the error rate threshold, the forwarding node in S103 may switch the first forwarding path to the second forwarding path according to that the error index of the first forwarding path meets the preset condition. It should be understood that any simple modification to the error indicator and the preset condition, other than the above-described case, does not affect the implementation of the present application, and therefore should be covered within the spirit of the inventive concept presented in the present application.
Optionally, the first forwarding path includes at least one error code link (the error code link is a link with an error code), and in this embodiment, the error code indicator of the error code link may be referred to as an error code indicator corresponding to the error code link. The error index of the first forwarding path in S103 does not meet the preset condition, which may include: at least one error code index corresponding to the at least one error code link does not meet the preset condition. In this case, the forwarding node may first determine at least one error link in the first forwarding path. Optionally, the Forwarding node may detect the error code link on the first Forwarding path based on a Bidirectional Forwarding Detection (BFD) protocol. Then, the forwarding node may determine that the error index of the first forwarding path does not meet the preset condition when at least one error index corresponding to the at least one error link does not meet the preset condition. By way of example, assume that the first forwarding path includes links 1, 2, and 3, and that an error occurs on links 1 and 2, and no error occurs on link 3. The forwarding node may determine that the error code indicator of the first forwarding path does not meet the preset condition after determining that the error code indicator of the link 1 does not meet the preset condition and the error code indicator of the link 2 does not meet the preset condition.
The at least one error indicator not meeting the predetermined condition may be understood in various ways, such as: one or more of the at least one error code indicator does not meet a preset condition (i.e. there is an error code indicator that does not meet the preset condition in the at least one error code indicator); or the statistical value of the at least one error code index does not meet the preset condition. The statistical value of the at least one error indicator may be a sum, a median, an average, or a weighted average of the at least one error indicator, or may be: the number of error code indicators that do not meet the requirement of the indicator in the at least one error code indicator is not limited in the embodiment of the present application.
Illustratively, taking the error index of the error code link as the error rate as an example, the at least one error index corresponding to the at least one error code link is at least one error rate. At this time, one or more of the at least one error indicator does not meet a preset condition, including: one or more of the at least one bit error rate do not satisfy a bit error rate threshold (e.g., are greater than the bit error rate threshold, or are greater than or equal to the bit error rate threshold); the statistical value of at least one error code index corresponding to the at least one error code link does not meet the preset condition, and the method comprises the following steps: the number of the at least one bit error rate which does not meet the bit error rate threshold value exceeds a preset value, or the accumulated sum of the at least one bit error rate does not meet the preset value.
For example, assume that the first forwarding path includes links 1, 2, and 3, where link 1 and link 2 are both error-code links, link 3 is not an error-code link, the error indicator is an error rate, the error rate of link 1 is 5%, the error rate of link 2 is 4%, and the error rate threshold is 3%.
If one or more of the at least one error index does not meet a preset condition, the method includes: if one or more of the at least one bit error rate do not satisfy the bit error rate threshold, the forwarding node may determine that the bit error rates of the link 1 and the link 2 are both greater than the bit error rate threshold, thereby determining that both the bit error rates corresponding to the link 1 and the link 2 do not satisfy the bit error rate threshold, and the first forwarding path does not satisfy the preset condition.
If the statistic value of at least one error code index corresponding to the at least one error code link does not meet the preset condition, the method comprises the following steps: if the number of the at least one bit error rate which does not meet the bit error rate threshold exceeds a preset value, and the preset value is 1, the forwarding node can determine that the bit error rates of the link 1 and the link 2 are both greater than the bit error rate threshold, and determine that the number 2 of the two bit error rates which do not meet the bit error rate threshold exceeds the preset value 1, so that the two bit error rates corresponding to the link 1 and the link 2 do not meet the preset condition, and the first forwarding path does not meet the preset condition.
If the statistic value of at least one error code index corresponding to the at least one error code link does not meet the preset condition, the method comprises the following steps: if the sum of the at least one error rate does not satisfy the preset value (for example, is greater than the preset value), and the preset value is 8%, the forwarding node may determine that the sum of the error rates of the link 1 and the link 2 is greater than the preset value of 8%, so as to determine that both error rates corresponding to the link 1 and the link 2 do not satisfy the preset condition, and the first forwarding path does not satisfy the preset condition.
Still optionally, when the first forwarding path comprises: when the head node is the same and the tail node is the same, the error index of the first forwarding path does not meet the preset condition, which may include: at least one error code index corresponding to at least one error code sub-path in the first forwarding path does not meet a preset condition. In this case, the forwarding node may determine that the error index of the first forwarding path does not meet the preset condition according to that at least one error index corresponding to the at least one sub-path does not meet the preset condition. It should be noted that the data forwarded on the first forwarding path may be forwarded through any sub-path in the first forwarding path, each sub-path in the first forwarding path may be used for load sharing, and the error sub-path is a sub-path with an error. Illustratively, the first forwarding path may be a candidate path in SRv6policy or SR-TE policy, the candidate path includes at least one segment routing list, and the sub-path in the first forwarding path may be a data forwarding path indicated by the segment routing list in the candidate path.
It should be noted that, for the explanation that at least one error code indicator corresponding to at least one error code sub-path in the first forwarding path does not meet the preset condition, reference may be made to the explanation that at least one error code indicator corresponding to at least one error code link does not meet the preset condition, and details of the embodiment of the present application are not described herein.
And S104, the forwarding node switches the first forwarding path into a second forwarding path according to the fact that the error code index of the first forwarding path does not meet the preset condition.
After determining that the error code index of the first forwarding path does not meet the preset condition, the forwarding node may determine that the quality of data forwarded on the first forwarding path is low, and at this time, the forwarding node may switch the first forwarding path to the second forwarding path according to that the error code index of the first forwarding path does not meet the preset condition. The second forwarding path is different from the first forwarding path.
Illustratively, the first forwarding path includes at least one error link, and the second forwarding path may not include one or more of the at least one error link. Taking the data forwarding path 1 (passing through the nodes 1, 2, 3, and 4) shown in fig. 5 as an example of a first forwarding path, the data forwarding path 1 includes a link 1 (a link between the node 1 and the node 2), a link 2 (a link between the node 2 and the node 3), and a link 3 (a link between the node 3 and the node 4), where the links 1 and 2 are both error code links, and the link 3 is not an error code link. As shown in fig. 7, the second forwarding path to which the forwarding node switches the first forwarding path (data forwarding path 1 in fig. 5) may also be data forwarding path 2 in fig. 5 (passing through nodes 1, 2, and 4), in which case the second forwarding path does not include an error link (link between node 2 and node 3) on the first forwarding path. Alternatively, as shown in fig. 8, the second forwarding path to which the forwarding node switches the first forwarding path (data forwarding path 1 in fig. 5) may be data forwarding path 3 in fig. 5 (passing through nodes 1 and 4), and in this case, the second forwarding path does not include two error code links (a link between node 1 and node 2, and a link between node 2 and node 3) on the first forwarding path.
Because the second forwarding path does not include one or more error code links in the first forwarding path, the forwarding node can avoid the data from being forwarded on the one or more error code links by using the second forwarding path to forward the data, so that the condition of low forwarding quality caused by the data being forwarded on the error code links can be avoided or alleviated.
Further illustratively, in a case that the first forwarding path includes at least one error sub-path, and at least one error indicator corresponding to the at least one error sub-path does not meet a preset condition, the second forwarding path does not include one or more of the at least one error sub-path. Because the second forwarding path does not include one or more error code sub-paths in the first forwarding path, the forwarding node can avoid the data from being forwarded on the one or more error code sub-paths by adopting the second forwarding path to forward the data, so that the condition of low forwarding quality caused by the data being forwarded on the error code sub-paths can be avoided or relieved.
Alternatively, the first forwarding path and the second forwarding path may belong to the same data tunnel (first data tunnel). The forwarding node may switch the first forwarding path to a second forwarding path in the policy of the first data tunnel.
For example, when the first forwarding path is a certain candidate path in the first data tunnel, the forwarding node may switch the first forwarding path to other candidate paths in the policy of the first data tunnel to switch the first forwarding path to the second forwarding path. At this time, the first forwarding path and the second forwarding path are different candidate paths in the policy of the first data tunnel. Alternatively, the second forwarding path may be a candidate path with the highest priority in the first data tunnel except the first forwarding path.
For example, taking the example in S101 as an example, it is assumed that the candidate path a in the first data tunnel in table 1 is a path for forwarding data, and the first forwarding path is the candidate path a. When the forwarding node switches the first forwarding path to the second forwarding path, the priority of the candidate path a may be lowered, and the priority of the candidate path B (the second forwarding path) may be raised, so that the candidate path B is the highest-priority candidate path, so that the path for forwarding data in the first data tunnel is switched from the candidate path a to the candidate path B, and the data is switched from being forwarded on the candidate path a to being forwarded on the candidate path B. It can be seen that the forwarding node forwards data along data forwarding paths 1, 2 and 3 in fig. 5 before switching the first forwarding path to the second forwarding path; after the forwarding node switches the first forwarding path to the second forwarding path, the data is forwarded along the data forwarding paths 4 and 5 in fig. 6.
For another example, if candidate path a in table 1 includes a segment route list indicating data forwarding path 1 in fig. 5, and candidate path B includes a segment route list indicating data forwarding path 4 in fig. 6, the first forwarding path is candidate path a. The forwarding node may decrease the priority of the candidate path a and increase the priority of the candidate path B (second forwarding path) when switching the first forwarding path to the second forwarding path, so that the candidate path B is the highest priority candidate path, thereby switching the path for forwarding data in the first data tunnel from the candidate path a to the candidate path B, and switching the data from forwarding on the candidate path a to forwarding on the candidate path B. It can be seen that, before the forwarding node switches the first forwarding path to the second forwarding path, the data is forwarded along the data forwarding path 1 in fig. 5; after the forwarding node switches the first forwarding path to the second forwarding path, the data is forwarded along the data forwarding path 4 in fig. 6.
For another example, if neither of the candidate paths a and B in table 1 includes the segment routing list, and the candidate path a is the data forwarding path 1 in fig. 5, the candidate path B is the data forwarding path 4 in fig. 6, and the first forwarding path is the candidate path a. The forwarding node may decrease the priority of the candidate path a and increase the priority of the candidate path B (second forwarding path) when switching the first forwarding path to the second forwarding path, so that the candidate path B is the highest priority candidate path, thereby switching the path for forwarding data in the first data tunnel from the candidate path a to the candidate path B, and switching the data from forwarding on the candidate path a to forwarding on the candidate path B. It can be seen that, before the forwarding node switches the first forwarding path to the second forwarding path, the data is forwarded along the data forwarding path 1 in fig. 5; after the forwarding node switches the first forwarding path to the second forwarding path, the data is forwarded along the data forwarding path 4 in fig. 6.
For another example, when the first forwarding path is a data forwarding path indicated by a certain segment of routing list in a certain candidate path in the first data tunnel, the forwarding node may switch the first forwarding path to a data forwarding path indicated by another segment of routing list in the candidate path. At this time, the first forwarding path and the second forwarding path are data forwarding paths indicated by different segment routing lists in the same candidate path in the policy of the first data tunnel.
For example, taking the example in S101 as an example, it is assumed that the candidate path a in the first data tunnel in table 1 is a path for forwarding data, and the first forwarding path is the data forwarding path 1 in fig. 5 indicated by the segment routing list < node tag 2, node tag 3, and node tag 4> in the candidate path a. Each segment routing list in the candidate path of the first data tunnel has a weight, the weight of the segment routing list indicating: and the proportion of the data forwarded on the data forwarding path indicated by the segment routing list in the data forwarded by the candidate path to which the segment routing list belongs. When the forwarding node switches the first forwarding path to the second forwarding path, the weights of the segment routing list < node tag 2, node tag 3, and node tag 4> may be reduced to zero, and the weights of the other segment routing lists in the candidate paths may be increased accordingly, so that the data forwarded on the first forwarding path is switched to be forwarded on the data forwarding paths indicated by the other segment routing lists, where the second forwarding path includes data forwarding paths 2 and 3 in fig. 5. It can be seen that, before the forwarding node switches the first forwarding path to the second forwarding path, the data in the first forwarding path is forwarded along the data forwarding path 1 in fig. 5; after the forwarding node switches the first forwarding path to the second forwarding path, the data in the first forwarding path is forwarded along the data forwarding paths 2 and 3 in fig. 5.
Optionally, if the first data tunnel includes a first candidate path and the first forwarding path is a data forwarding path indicated by a certain route list in the first candidate path, if the error index of the data forwarding path indicated by another route list in the first candidate path does not meet the preset condition, the forwarding node may switch the candidate path used by the forwarding node to forward data from the first candidate path to a second candidate path, and further switch the first forwarding path to the data forwarding path indicated by the route list in the second candidate path. The first candidate path and the second candidate path are any two candidate paths of the first data tunnel. The forwarding node may switch the candidate path used by the forwarding node for forwarding the data from the first candidate path to the second candidate path by lowering the priority of the first candidate path and raising the priority of the second candidate path.
And S105, the forwarding node sends an error code message to the controller according to the fact that the error code index of the first forwarding path does not accord with the preset condition, wherein the error code message is used for announcing error code information associated with the first forwarding path.
When determining that the error code index of the first forwarding path does not meet the preset condition, the forwarding node may send an error code message to the controller to notify the controller of the error code information associated with the first forwarding path.
For example, when the forwarding node determines that the error indicator of the first forwarding path does not meet the preset condition according to that the error indicator of at least one error code link in the first forwarding path does not meet the preset condition in S103, the error information may include: the error code index of the first forwarding path does not meet the preset condition, the error code link in the first forwarding path does not meet the preset condition, and/or the adjustment condition of the forwarding node on the first forwarding path (for example, the forwarding node switches the first forwarding path to the second forwarding path), and the like. When the forwarding node determines that the error code indicator of the first forwarding path does not meet the preset condition according to that the error code indicator of at least one error code sub-path in the first forwarding path does not meet the preset condition in S103, the error code information may include: the error code index of the first forwarding path does not meet the preset condition, the error code sub-path in the first forwarding path that does not meet the preset condition, and/or the adjustment condition of the forwarding node on the first forwarding path (for example, the forwarding node switches the first forwarding path to the second forwarding path), and/or the like.
Because the forwarding node in the embodiment of the application can notify the error code information associated with the first forwarding path to the controller, the controller can manage the network topology of the node and the data forwarding paths laid out on the plurality of nodes according to the error code information, and the controller can lay out other data forwarding paths by referring to the error code information, so that the error code indexes of the laid out other data forwarding paths are prevented from not meeting the preset condition as much as possible.
Optionally, the error code message is a BGP message. Such as Border Gateway Protocol-Link State (BGP-LS) messages.
For example, the error code information associated with the first forwarding path may include: error information of the error link in the first forwarding path. In this case, a sub-attribute of Type Length Value (TLV) in a Link descriptor (Link descriptor) in a Link network layer reachability message (Link NLRI) in the BGP-LS message may be extended, and a sub-TLV (secondary TLV) may be added as an error code TLV. The BGP-LS message is a status message of a certain link, and an error code TLV in the BGP-LS message is used for indicating the error code condition (such as whether the link is error code and/or error code rate) of the link.
The structure of the error code TLV may be as shown in fig. 9, which may include: the method comprises a Type (Type) field, a Length (Length) field, Flags (Flags) and Reserved (Reserved) field which are sequentially arranged, wherein the Type field is used for indicating the Type of the error code TLV, the Length field is used for indicating the lengths of all fields after the Length field, and the flag field can be used for indicating the error condition of a link. Further, the flag field may include 8 bits (e.g., bit 0 to bit 7), and a first bit of the 8 bits may be used to indicate an error condition of the link. For example, when the first bit has a value of 0, the first bit is used to indicate: all topology IDs (numbers) and slice IDs in a link have errors; when the first bit has a value of 1, the first bit is used to indicate: both the partial topology ID (number) and the slice ID in the link are in error. Or, when the first bit has a value of 1, the first bit is used to indicate: all topology IDs (numbers) and slice IDs in a link have errors; when the first bit has a value of 0, the first bit is used to indicate: both the partial topology ID (number) and the slice ID in the link are in error.
With continued reference to fig. 9, the error TLV may further include other fields, such as a bit error rate field for indicating a bit error rate of the link, an error duration field for indicating a duration of the link error, and a secondary TLV (sub-TLV) in fig. 9.
As another example, the error code information associated with the first forwarding path may include: and error code information of the first data tunnel where the first forwarding path is located. In this case, the sub-attribute of TLV in Link descriptor in Link NLRI in BGP-LS message (or the sub-attribute of traffic engineering Policy attribute TE Policy attrribute) may be extended, and a secondary TLV may be added as the error code TLV. The error code TLV is used to indicate an error condition (e.g., a yes/no error, and/or an error rate, etc.) of the first data tunnel. The structure of the error code TLV may refer to the structure of the error code TLV shown in fig. 9, but the first bit in the flag field may be used to indicate the error condition of the first data tunnel. For example, when the first bit has a value of 0, the first bit is used to indicate: the data forwarding paths indicated by all the segment routing lists in the first data tunnel have error codes; when the first bit has a value of 1, the first bit is used to indicate: and errors exist in the data forwarding paths indicated by the partial segment routing lists in the first data tunnel. Or, when the first bit has a value of 1, the first bit is used to indicate: the data forwarding paths indicated by all the segment routing lists in the first data tunnel have error codes; when the first bit has a value of 0, the first bit is used to indicate: and errors exist in the data forwarding paths indicated by all the segment routing lists in the first data tunnel. The error rate field in fig. 9 is used to indicate the error rate of the first data tunnel, and the error duration field is used to indicate the duration of the error of the first data tunnel.
S106, the forwarding node determines that the error code index of the first forwarding path meets the preset condition.
And S107, the forwarding node switches the second forwarding path back to the first forwarding path according to the condition that the error code index of the first forwarding path meets the preset condition.
After the forwarding node switches the first forwarding path to the second forwarding path, it may also detect whether the error index of the first forwarding path meets a preset condition. If the error code index of the first forwarding path is detected to meet the preset condition, the forwarding node can switch the second forwarding path back to the original first forwarding path.
Optionally, after switching the second forwarding path back to the original first forwarding path, the forwarding node may also send information for notifying that the second forwarding path is switched back to the first forwarding path to the controller, so that the controller manages the network topology of the node and the data forwarding paths laid out on the plurality of nodes according to the information.
To sum up, in the path adjustment method provided in this embodiment of the present application, the forwarding node can switch the first forwarding path to the second forwarding path according to that the error code indicator of the first forwarding path does not meet the preset condition, so as to adjust the first forwarding path. Therefore, the problem of low forwarding quality caused by forwarding data on the first forwarding path with the error code index not meeting the preset condition is avoided or relieved.
In addition, the forwarding node can adjust the first forwarding path without a controller, so that the path adjusting method provided by the embodiment of the application has high path adjusting efficiency and strong timeliness. In addition, the path adjusting process is allowed to be independently completed by the forwarding node, so that the load of the controller is reduced, and the situation that the load of the controller is too high is avoided.
In the embodiment shown in fig. 4, when the forwarding node adjusts the first forwarding path, an adjustment manner of switching the first forwarding path to the second forwarding path is adopted. Optionally, when the forwarding node adjusts the first forwarding path, other adjustment manners may also be adopted. For example, the forwarding node may reduce the forwarding ratio of the data on the first forwarding path according to that the error index of the first forwarding path does not meet the preset condition.
For example, the forwarding node may reduce the forwarding proportion of the data on the first forwarding path to 50% or 60% of the original forwarding proportion, and the like.
For another example, the first forwarding path belongs to a data forwarding path indicated by a certain segment of the route list in a certain candidate path in the policy of the first data tunnel. The forwarding node may reduce the forwarding proportion of the data on the first forwarding path, and increase the forwarding proportion of the data on one or more data forwarding paths that belong to the same candidate path as the first forwarding path and are indicated by the other segment routing lists.
Taking the example in S101 as an example, it is assumed that the candidate path a in the first data tunnel in table 1 is a path for forwarding data, and the first forwarding path is the data forwarding path 1 in fig. 5 indicated by the segment routing list < node tag 2, node tag 3, and node tag 4> in the candidate path a. Each segment routing list in the candidate path of the first data tunnel has a weight, the weight of the segment routing list indicating: and the proportion of the data forwarded on the data forwarding path indicated by the segment routing list in the data forwarded by the candidate path to which the segment routing list belongs. When the forwarding node adjusts the first forwarding path, the weight of the segment routing list < node label 2, node label 3, and node label 4> may be decreased (for example, decreased to 50% or 60% of the original weight, or decreased to zero), and the weight of the other segment routing list in the candidate path may be increased accordingly, so that at least part of the data forwarded on the data forwarding path 1 in fig. 5 is switched to be forwarded on the data forwarding paths 2 and/or 3 in fig. 5.
In the embodiment shown in fig. 4, for example, the first forwarding path and the second forwarding path belong to the same data tunnel (first data tunnel), optionally, the first forwarding path and the second forwarding path may also belong to different data tunnels, for example, the first forwarding path belongs to the first data tunnel, the second forwarding path belongs to the second data tunnel, and the forwarding node may switch the path to which data is forwarded from the first forwarding path to the second forwarding path by switching the first data tunnel to the second data tunnel.
For example, the second data tunnel may be a tunnel preconfigured by upper layer services in the forwarding node, and when it is determined that the error indicator of the first forwarding path does not meet the preset condition, the forwarding node may switch the first data tunnel to the second data tunnel, so that the first forwarding path is switched to the second forwarding path. The upper layer service may be any kind of service, such as an L3VPN service or the like.
As another example, the second data tunnel may be a controller-planned data tunnel. In this case, when determining that the error index of the first forwarding path does not meet the preset condition, the forwarding node may send a switching request message for requesting to switch the first data tunnel to the controller; after receiving the handover request message, the controller may send a handover response message to the forwarding node according to the handover request message, where the handover response message is used to indicate that the second data tunnel is used to forward data, and the content of the handover response message may refer to the content of the indication message in S101, which is not described herein again in this embodiment of the present application. When the forwarding node switches the first forwarding path to the second forwarding path, the forwarding node may switch the first data tunnel to the second data tunnel according to the switching response message, so as to switch the first forwarding path in the first data tunnel to the second forwarding path in the second data tunnel.
Optionally, the handover request message sent by the forwarding node to the controller may be a BGP message.
Optionally, when determining that the error indicator of the first forwarding path does not meet the preset condition, the forwarding node may also adjust the first forwarding path based on the policy of the first data tunnel (for example, switch the first forwarding path to a second forwarding path in the first data tunnel in fig. 4). When the error index of each data forwarding path in the first data tunnel is not satisfied with the preset condition, the forwarding node may switch the first data tunnel to the second data tunnel, so as to switch the first forwarding path in the first data tunnel to the second forwarding path in the second data tunnel.
For example, taking the example in S101 as an example, assume that the first forwarding path is data forwarding path 1 in fig. 5 indicated by segment routing list < node label 2, node label 3, and node label 4> in candidate path a in table 1. The error code index of the first forwarding path does not meet the preset condition. If the error indexes of the data forwarding paths (e.g., the data forwarding paths 2 and 3 in fig. 5 and the data forwarding paths 4 and 5 in fig. 6) indicated by the segment routing lists except the segment routing list corresponding to the data forwarding path 1 in table 1 do not satisfy the preset condition, the forwarding node may switch the first data tunnel to the second data tunnel, and then forward the data originally forwarded on the first data tunnel by using the second forwarding path in the second data tunnel.
Optionally, when the first forwarding path is a data forwarding path indicated by a certain segment of routing list, and the forwarding node detects whether error indexes of other forwarding paths in the first data tunnel except the first forwarding path satisfy a preset condition, it may first detect whether error indexes of data forwarding paths indicated by other segment of routing lists that belong to the same candidate path as the segment of routing list corresponding to the first forwarding path satisfy the preset condition. When the error code indexes of the data forwarding paths indicated by all the segment routing lists in the candidate path do not meet the preset condition, the forwarding node can continuously detect whether the error code indexes of the data forwarding paths indicated by the segment routing lists in other candidate paths meet the preset condition. For example, the forwarding node may sequentially detect whether the error index of the data forwarding path indicated by the segment routing list in other candidate paths satisfies a preset condition according to the order from high to low of the priority of the candidate path.
For example, taking the example in S101 as an example, assume that the first forwarding path is data forwarding path 1 in fig. 5 indicated by segment routing list < node label 2, node label 3, and node label 4> in candidate path a in table 1. The forwarding node may first detect whether the error indexes of the data forwarding paths 2 and 3 in fig. 5 indicated by the other segment routing lists in the candidate path a satisfy the preset condition, and if the error indexes of these data forwarding paths do not satisfy the preset condition, the forwarding node may continue to detect whether the error indexes of the data forwarding paths indicated by the segment routing lists in the candidate path B satisfy the preset condition.
Optionally, when the first forwarding path is a certain candidate path, the forwarding node may sequentially detect whether the error index of other candidate paths meets the preset condition according to the order from high to low of the priority of the candidate path.
In the embodiment shown in fig. 4, the forwarding node switches the first forwarding path to the second forwarding path according to the policy of the first data tunnel, where the second forwarding path is a preconfigured path. Optionally, the second forwarding path may not be a preconfigured path, for example, the second forwarding path is a path calculated (for example, based on IGP calculation) by the forwarding node.
In this case, when determining that the error index of the first forwarding path does not satisfy the preset condition, the forwarding node may calculate the second forwarding path, and then switch the first forwarding path to the second forwarding path. Also, the forwarding node may be any node on the first forwarding path, such as a head node or an intermediate node. The second forwarding path may be a path in a data tunnel or may not be a path in a data tunnel, which is not limited in this embodiment of the present application.
For example, assuming that the network topology of each node is as shown in fig. 10, if the first forwarding path is node 1 → node 2 → node 3 → node 4, during the process of forwarding data along the first forwarding path, each node on the first forwarding path may detect whether a link on the first forwarding path is an error code link whose error code indicator does not satisfy the preset condition, and determine whether the error code indicator of the first forwarding path satisfies the preset condition according to the result. When the node 2 determines that the link between the nodes 2 and 3 is an error code link whose error code index does not satisfy the preset condition, so that the error code index of the first forwarding path does not satisfy the preset condition, the node 2 may calculate a path node 2 → node 5 → node 6 between the nodes 2 and 3 that bypasses the link, thereby obtaining a second forwarding path node 1 → node 2 → node 5 → node 6 → node 4.
In the above embodiment, when determining that the error indicator of the first forwarding path does not meet the preset condition, the forwarding node directly adjusts the first forwarding path, for example, switches the first forwarding path to the second forwarding path, or reduces the forwarding ratio of the data on the first forwarding path. Optionally, before the forwarding node adjusts the first forwarding path, it may further determine whether the first forwarding path belongs to a path that allows adjustment, and adjust the first forwarding path only when it is determined that the first forwarding path belongs to the path that allows adjustment.
For example, the forwarding node may obtain a path indication of one or more paths allowing adjustment, and then may determine whether the one or more paths allowing adjustment include the first forwarding path according to the path indication. When the one or more paths allowing adjustment include a first forwarding path, the forwarding node may switch the first forwarding path to a second forwarding path, or reduce a forwarding proportion of data on the first forwarding path.
Optionally, when the forwarding node adjusts the first forwarding path in a manner of switching the first forwarding path to the second forwarding path, before the forwarding node adjusts the first forwarding path, it may further determine whether the second forwarding path belongs to one or more paths that allow adjustment, and when it is determined that the second forwarding path belongs to one or more paths that allow adjustment, the forwarding node switches the first forwarding path to the second forwarding path.
Still alternatively, in a case where the forwarding node adjusts the first forwarding path in a manner of reducing a forwarding ratio of data on the first forwarding path and increasing a forwarding ratio of data on another forwarding path (which may be referred to as a third forwarding path), before the forwarding node adjusts the first forwarding path, the forwarding node may further determine a third forwarding path different from the first forwarding path from among one or more paths that allow adjustment. And then, the forwarding node reduces the forwarding proportion of the data on the first forwarding path and increases the forwarding proportion of the data on the third forwarding path.
It should be noted that, when the first forwarding path has a certain requirement on the data forwarding quality, the one or more paths allowed to be adjusted may include the first forwarding path; when the first forwarding path has no requirement for data forwarding quality, the one or more paths allowed to be adjusted may not include the first forwarding path. Thus, when the first forwarding path has no requirement for the data forwarding quality, the load increase caused by the forwarding node adjusting the first forwarding path can be avoided, and the load of the forwarding node can be reduced. In addition, in the embodiment of the present application, whether the second forwarding path and the third forwarding path belong to paths that are allowed to be adjusted may be set as needed, so that flexibility of path adjustment may be improved.
Further, the path indication may be issued by the controller to the forwarding node, or may be issued by another device to the forwarding node, or may be configured locally by the forwarding node, which is not limited in this embodiment of the application.
When the path indication is issued to the forwarding node by the controller, the path indication may be carried in a BGP message or a PECP message sent to the forwarding node by the controller. Alternatively, the BGP message or the PCEP message may be a message for issuing a policy of a data tunnel.
Optionally, the BGP message or the PCEP message may include: and the first TLV corresponds to each segment routing list in the strategy of the data tunnel. Wherein the first TLV may be used to indicate: whether the data forwarding path indicated by the corresponding segment routing list is a path that allows adjustment.
The structure of the first TLV may be as shown in fig. 11, and the first TLV may include: the type field is used for indicating the type of the first TLV, the length field is used for indicating the length of all fields (such as the length of the reserved field) after the length field, and the reserved field can be used for indicating whether the data forwarding path corresponding to the first TLV is a path that allows adjustment. Further, the reserved field may include 8 bits (e.g., bit 0 to bit 7), and a first bit of the 8 bits may be used to indicate: whether the data forwarding path corresponding to the first TLV is a path allowing adjustment or not. For example, when the first bit has a value of 0, the first bit is used to indicate: the data forwarding path corresponding to the first TLV is not a path allowing adjustment; when the first bit has a value of 1, the first bit is used to indicate: the data forwarding path corresponding to the first TLV is a path allowing adjustment. Or, when the first bit has a value of 1, the first bit is used to indicate: the data forwarding path corresponding to the first TLV is not a path allowing adjustment; when the first bit has a value of 0, the first bit is used to indicate: the data forwarding path corresponding to the first TLV is a path allowing adjustment.
With continuing reference to fig. 11, the first TLV may further include other fields, such as a secondary TLV (sub-TLV) in fig. 9, which is not limited by the embodiments of the present application.
Optionally, if the forwarding node switches the first data tunnel to the second data tunnel so as to switch the path to which the data is forwarded from the first forwarding path to the second forwarding path, the BGP message or the PCEP message may further include: a second TLV that may indicate whether the data tunnel allows for adjustment. When the second TLV in the BGP message or the PCEP message used for issuing the first data tunnel is used to indicate that the first data tunnel allows adjustment, and the second TLV in the BGP message or the PCEP message used for issuing the second data tunnel is used to indicate that the second data tunnel allows adjustment, the forwarding node may switch the first data tunnel to the second data tunnel.
The structure of the second TLV may be as shown in fig. 12, and the second TLV may include: a type field, a length field, a flag field, a reserved field and a priority (Preference) field, wherein the type field is used for indicating the type of the second TLV, the length field is used for indicating the length of all fields after the length field (such as the length of the flag field, the reserved field and the priority field), and the reserved field can be used for indicating whether the data tunnel allows adjustment. Further, the reserved field may include 8 bits (e.g., bit 0 to bit 7), and a first bit of the 8 bits may be used to indicate: whether the data tunnel allows for adjustment. For example, when the first bit has a value of 0, the first bit is used to indicate: the data tunnel does not allow adjustment; when the first bit has a value of 1, the first bit is used to indicate: the data tunnel allows for adaptation. Or, when the first bit has a value of 1, the first bit is used to indicate: the data tunnel does not allow adjustment; when the value of the first bit is 0, the first bit is used to indicate: the data tunnel allows for adaptation.
Optionally, the head nodes of the first forwarding path and the second forwarding path (or the third forwarding path) in the above embodiments may be the same (e.g., both the forwarding nodes described above), and the tail nodes may be the same. In other possible cases, it is not excluded that in some scenarios the head nodes of these forwarding paths are different, and the tail nodes may also be different, but at least the association can occur based on some indicated relationship, such that the forwarding node determines that the first forwarding path can be switched to the second forwarding path.
In the above embodiments, a communication system including multiple nodes and a controller is taken as an example, alternatively, the embodiments of the present application may also be applied to a communication system not including a controller, and in this case, the path adjusting method does not include the actions related to the controller in the above embodiments. For example, the path adjustment method does not include S101 and S105 in the embodiment shown in fig. 4.
The first forwarding path may or may not be a path in a data tunnel (e.g., the first data tunnel).
When the first forwarding path is a path in the first data tunnel, the forwarding node may refer to the foregoing embodiment to switch the first forwarding path to a second forwarding path, where the second forwarding path may be a path in the first data tunnel, or a path in the second data tunnel determined according to the upper layer service, or a path calculated by the forwarding node. Or, the forwarding node may reduce the proportion of the data forwarded on the first forwarding path with reference to the foregoing embodiment, and accordingly, the forwarding node may also increase the proportion of the data forwarded on some data forwarding paths in the first data tunnel.
When the first forwarding path is not a path in the data tunnel, the forwarding node may calculate the second forwarding path and switch the first forwarding path to the second forwarding path, or the forwarding node may reduce a proportion of data forwarded on the first forwarding path.
To sum up, in the path adjustment method provided in this embodiment of the present application, the forwarding node can switch the first forwarding path to the second forwarding path according to that the error index of the first forwarding path does not meet the preset condition, or reduce the transmission ratio of data on the first forwarding path, so as to adjust the first forwarding path. Therefore, the problem of low forwarding quality caused by forwarding at least part of data on the first forwarding path with the error code index not meeting the preset condition is avoided or relieved.
In addition, the forwarding node can adjust the first forwarding path without a controller, so that the path adjusting method provided by the embodiment of the application has high path adjusting efficiency and strong timeliness. In addition, the path adjusting process is allowed to be independently completed by the forwarding node, so that the load of the controller is reduced, and the situation that the load of the controller is too high is avoided.
While the path adjusting method provided in the present application is described in detail above with reference to fig. 1 to fig. 12, it can be understood that, in order to implement the functions described in the foregoing methods, the forwarding node and the controller need to include hardware and/or software modules for executing the respective functions. The implementation of the methods described in connection with the embodiments disclosed herein can be realized in hardware or a combination of hardware and computer software. Whether a function is performed as hardware or computer software drives hardware depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, with the embodiment described in connection with the particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In this embodiment, the functional modules may be divided according to the method embodiment, for example, each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module. The integrated module may be implemented in the form of hardware. It should be noted that the division of the modules in this embodiment is illustrative, and specifically, as a possible division manner of the logic functions, there may be another division manner in actual implementation.
When the functional block division is adopted, the path adjusting apparatus provided in the present application will be described below with reference to fig. 13 and 14.
Fig. 13 is a block diagram of a path adjusting apparatus according to an embodiment of the present application, where the path adjusting apparatus may be, for example, a forwarding node in each of the foregoing embodiments. As shown in fig. 13, the path adjusting apparatus includes: a forwarding module 1201 and a first adjusting module 1202.
The forwarding module 1201 is configured to forward data by using a first forwarding path; the operation performed by the forwarding module 1201 may refer to S102 in the embodiment shown in fig. 4, or other contents of the foregoing embodiment that forward data by using the first forwarding path.
The first adjusting module 1202 is configured to switch the first forwarding path to a second forwarding path according to that the error code indicator of the first forwarding path does not meet a preset condition, or reduce a transmission ratio of data on the first forwarding path, where the path adjusting device is a node on the first forwarding path. The operations performed by the first adjusting module 1202 may refer to S104 in the embodiment shown in fig. 4, or other contents related to adjusting the first forwarding path in the above embodiment.
In the path adjusting device provided by the application, the first adjusting module can switch the first forwarding path to the second forwarding path according to the condition that the error code index of the first forwarding path does not conform to the preset condition, or reduce the transmission proportion of data on the first forwarding path, so as to adjust the first forwarding path. Therefore, the problem of low forwarding quality caused by forwarding at least part of data on the first forwarding path with the error code index not meeting the preset condition is avoided or relieved.
In addition, the forwarding node can adjust the first forwarding path without the aid of a controller, so that the path adjusting method provided by the application has high path adjusting efficiency and high timeliness. In addition, the path adjustment process is allowed to be independently completed by the forwarding node, so that the load of the controller is reduced, and the condition that the load of the controller is too high is avoided.
Optionally, the first forwarding path includes at least one error code link, where the error code link is a link in which an error code exists, and the second forwarding path does not include one or more of the at least one error code link.
Optionally, the first forwarding path includes at least one error code link, where the error code link is a link with an error code, and an error code indicator of the error code link is referred to as an error code indicator corresponding to the error code link. The error code index of the first forwarding path does not meet a preset condition, and the method comprises the following steps: and at least one error code index corresponding to the at least one error code link does not meet the preset condition.
Optionally, the at least one error indicator that does not meet the preset condition may be understood in various ways, for example, the at least one error indicator corresponding to the at least one error link that does not meet the preset condition includes: one or more of the at least one error indicator does not meet a preset condition; or the statistical value of at least one error code index corresponding to the at least one error code link does not meet the preset condition. The statistical value of the at least one error indicator may be a sum, a median, an average, or a weighted average of the at least one error indicator, or may be: the number of error code indicators that do not meet the requirement of the indicator in the at least one error code indicator is not limited in the embodiment of the present application.
Optionally, the at least one error indicator is at least one error rate, and one or more of the at least one error indicator does not meet a preset condition, including: one or more of the at least one bit error rate do not satisfy a bit error rate threshold (e.g., are greater than the bit error rate threshold, or are greater than or equal to the bit error rate threshold); or the statistical value of at least one error code index corresponding to the at least one error code link does not meet the preset condition, and the method comprises the following steps: the number of the at least one bit error rate which does not meet the bit error rate threshold value exceeds a preset value, or the accumulated sum of the at least one bit error rate does not meet the preset value.
Optionally, the first forwarding path and the second forwarding path belong to the same data tunnel, or the first forwarding path and the second forwarding path belong to different data tunnels. When the first forwarding path and the second forwarding path belong to the same data tunnel, the first adjusting module 1202 in the path adjusting apparatus may switch the first forwarding path to the second forwarding path according to the policy of the data tunnel. When the first forwarding path and the second forwarding path belong to different data tunnels (for example, the first forwarding path belongs to a first data tunnel and the second forwarding path belongs to a second data tunnel), the first adjusting module 1202 may switch the path to which the data is forwarded from the first forwarding path to the second forwarding path by switching the first data tunnel to the second data tunnel.
Optionally, the path adjusting apparatus further includes: a calculation module (not shown in fig. 13) for calculating (e.g., based on IGP calculation) the second forwarding path. In this case, when determining that the error index of the first forwarding path does not satisfy the preset condition, the forwarding node may calculate the second forwarding path, and then switch the first forwarding path to the second forwarding path. Also, the forwarding node may be any node on the first forwarding path, such as a head node or an intermediate node. The second forwarding path may be a path in a data tunnel or may not be a path in a data tunnel, which is not limited in this embodiment of the present application. The operations performed by the calculation module may refer to the contents related to calculating the second forwarding path in the above embodiments.
Optionally, the first forwarding path belongs to a first data tunnel, the second forwarding path belongs to a second data tunnel, and the path adjusting apparatus further includes: a first transmitting module and a receiving module (both not shown in fig. 13). The first sending module is used for sending a switching request message for requesting to switch the first data tunnel to a controller; a receiving module, configured to receive a handover response message from the controller, where the handover response message is used to instruct to forward the data using the second data tunnel; the first adjustment module 1202 is configured to: switching the first forwarding path to the second forwarding path in the second data tunnel to forward the data. The operations performed by the first sending module may refer to the contents related to sending the handover request message to the controller in the above embodiment. The operation performed by the receiving module may refer to the content related to the handover response message sent by the receiving controller in the above embodiment.
Optionally, the request message is a BGP message.
Optionally, the path adjusting apparatus further includes: a second sending module (not shown in fig. 13) configured to send an error code message to the controller according to that the error code indicator of the first forwarding path does not meet a preset condition, where the error code message is used to notify error code information associated with the first forwarding path. Illustratively, the error information may include: the error index of the first forwarding path does not meet the preset condition, the error link in the first forwarding path that does not meet the preset condition, and/or the adjustment condition of the forwarding node on the first forwarding path (for example, the forwarding node switches the first forwarding path to the second forwarding path), and the like. Because the forwarding node in the embodiment of the application can notify the error code information associated with the first forwarding path to the controller, the controller can manage the network topology of the node and the data forwarding paths laid out on the plurality of nodes according to the error code information, and the controller can lay out other data forwarding paths by referring to the error code information, so that the error code indexes of the laid out other data forwarding paths are prevented from not meeting the preset condition as much as possible. The operation performed by the second sending module may refer to the content related to sending the error code message to the controller in the above embodiment.
Optionally, the path adjusting device includes: an obtaining module (not shown in fig. 13) configured to obtain a path indication of one or more paths allowing adjustment, the one or more paths including: at least one path different from the first forwarding path; the first adjustment module 1202 is configured to: determining the second forwarding path from the at least one path different from the first forwarding path according to the path indication, and switching the first forwarding path to the second forwarding path; or, determining a third forwarding path from the at least one path different from the first forwarding path according to the path indication, reducing the transmission ratio of the data on the first forwarding path, and increasing the transmission ratio of the data on the third forwarding path. In the present application, whether the second forwarding path and the third forwarding path belong to paths that are allowed to be adjusted may be set as needed, so that flexibility of path adjustment may be improved.
Optionally, the path adjusting device includes: an obtaining module (not shown in fig. 13) configured to obtain a path indication of one or more paths that allow adjustment; the first adjustment module 1202 is configured to: switching the first forwarding path to a second forwarding path according to the one or more paths allowing adjustment, including the first forwarding path; or, according to the one or more paths allowed to be adjusted including the first forwarding path, reducing the transmission proportion of data on the first forwarding path. It can be seen that, before the forwarding node adjusts the first forwarding path, it may also determine whether the first forwarding path belongs to a path that allows adjustment, and when it is determined that the first forwarding path belongs to the path that allows adjustment, the forwarding node adjusts the first forwarding path. When the first forwarding path has a certain requirement on the data forwarding quality, the one or more paths allowed to be adjusted may include the first forwarding path; when the first forwarding path has no requirement on the data forwarding quality, the one or more paths allowing adjustment may not include the first forwarding path. Thus, when the first forwarding path has no requirement for the data forwarding quality, the load increase caused by the forwarding node adjusting the first forwarding path can be avoided, and the load of the forwarding node can be reduced.
The operations executed by the acquisition module in the embodiment of the present application may refer to the contents related to the acquisition path indication in the above embodiments.
Optionally, the path indication is carried in a BGP message or a PCEP message that the controller sends to the path adjusting device.
Optionally, the head nodes of the first forwarding path and the second forwarding path are the path adjusting devices, and the tail nodes of the first forwarding path and the second forwarding path are the same. In other possible cases, it is not excluded that in some scenarios the head nodes of these forwarding paths are different, and the tail nodes may also be different, but at least the association can occur based on some indicated relationship, so that the forwarding node determines that the first forwarding path can be switched to the second forwarding path.
Optionally, the first forwarding path belongs to a path in SRv6policy or SR-TE policy, and the first adjusting module 1202 is configured to: switching the first forwarding path to the second forwarding path in the SRv6policy or the SR-TE policy, wherein the first forwarding path and the second forwarding path are different candidate paths in the SRv6policy or the SR-TE policy, or are indicated by different segment routing lists in the same candidate path in the SRv6policy or the SR-TE policy; alternatively, the second forwarding path may be a candidate path with the highest priority in the first data tunnel except the first forwarding path. Alternatively, the first adjusting module 1202 is configured to: and reducing the transmission proportion of data on the first forwarding path, and increasing the transmission proportion of the data on one or more paths which belong to the same candidate path as the first forwarding path and are indicated by other segment list. At this time, the first forwarding path and the second forwarding path are data forwarding paths indicated by different segment routing lists in the same candidate path in the policy of the first data tunnel.
Optionally, the path adjusting apparatus further includes: a second adjustment module (not shown in fig. 13). The second adjustment module is configured to: switching the second forwarding path back to the first forwarding path according to the condition that the error code index of the first forwarding path meets the preset condition; or, according to the fact that the error code index of the first forwarding path meets a preset condition, recovering the transmission proportion of the data on the first forwarding path. The operations performed by the second adjustment module may refer to the contents related to the functions of the second adjustment module in the above embodiments.
In the case of an integrated unit, the path adjusting apparatus for a forwarding node provided by the present application may include a processing module, a storage module, and a communication module. The processing module may be configured to control and manage an action of the path adjusting apparatus, for example, may be configured to support the path adjusting apparatus to execute the action performed by the forwarding node in S101 to S107. The memory module may be used to support the path adjustment device in executing stored program codes and data, etc. And the communication module can be used for communication between the path adjusting device and other equipment.
The processing module may be a processor or a controller. Which may implement or perform the various illustrative logical blocks, modules, and circuits described in connection with the disclosure. A processor may also be a combination of computing functions, e.g., a combination of one or more microprocessors, a Digital Signal Processing (DSP) and a microprocessor, or the like. The storage module may be a memory. The communication module may specifically be a radio frequency circuit, a bluetooth chip, a Wi-Fi chip, or other devices that interact with other electronic devices.
In an embodiment, when the processing module is a processor, the storage module is a memory, and the communication module is a communication interface, the path adjusting apparatus according to this embodiment may be a network device having a structure shown in fig. 3. In one implementation, the adjusting modules, the calculating modules and the like included in the apparatus may be computer programs stored in a memory, and are called by a processor to implement the corresponding execution functions of the modules.
Fig. 14 is a block diagram of another path adjustment device provided in an embodiment of the present application, where the path adjustment device may be, for example, a controller in each of the foregoing embodiments. As shown in fig. 14, the path adjustment device includes: a first transmitting module 1301 and a first receiving module 1302.
The first sending module 1301 is configured to send an indication message to a forwarding node, where the indication message is used to indicate that the forwarding node determines to forward data using a first forwarding path. Operations performed by the first sending module 1301 may refer to S101 in the embodiment shown in fig. 4.
The first receiving module 1302 is configured to receive an error code message sent by the forwarding node, where the error code message is used to notify error code information associated with the first forwarding path. The operations performed by the first receiving module 1302 may refer to the contents related to the controller in S105 in the embodiment shown in fig. 4.
In the path adjusting device provided in the embodiment of the present application, the first receiving module may receive an error code message sent by the forwarding node and used for announcing error code information associated with the first forwarding path, so that the path adjusting device may manage a network topology of the node and data forwarding paths laid out on a plurality of nodes according to the error code information, and may lay out other data forwarding paths by referring to the error code information, thereby preventing error code indicators of the other laid out data forwarding paths from not meeting preset conditions as much as possible.
Optionally, the path adjusting apparatus further includes: a second receiving module (not shown in fig. 14) configured to receive the handover request message sent by the forwarding node; a second sending module (not shown in fig. 14), configured to send, according to the handover request message, a handover response message to the forwarding node, where the handover response message is used to instruct the forwarding node to determine to use a second forwarding path to forward the data, and the second forwarding path is a forwarding path determined to be used after the forwarding node switches the first forwarding path. It can be seen that, when the first forwarding path belongs to the first data tunnel and the second forwarding path belongs to the second data tunnel, the second data tunnel may be a data tunnel planned by the path adjusting apparatus. The forwarding node may determine the second data tunnel by means of the path adjustment device, and then switch the first forwarding path to a second forwarding path in the second data tunnel. The operation performed by the second receiving module may refer to the content related to the function of the second receiving module in the above embodiment; the operations performed by the second sending module may refer to the contents related to the functions of the second sending module in the above embodiments.
Optionally, the handover request message is a BGP message.
Optionally, the first forwarding path and the second forwarding path belong to the same data tunnel, or the first forwarding path and the second forwarding path belong to different data tunnels; the second forwarding path is a forwarding path determined to be used by the forwarding node after the forwarding node switches the first forwarding path.
Optionally, the path adjusting device includes: a third sending module (not shown in fig. 14) configured to send, to the forwarding node, a path indication of one or more paths that are allowed to be adjusted, so as to instruct the forwarding node to perform path adjustment according to the path indication. The path adjusting device can set the path which is allowed to be adjusted according to the requirement, and therefore the flexibility of path adjustment can be improved. When the first forwarding path has a certain requirement on the data forwarding quality, the one or more paths allowing adjustment set by the path adjusting device may include the first forwarding path; when the first forwarding path has no requirement on the data forwarding quality, the one or more paths set by the path adjusting means to allow adjustment may not include the first forwarding path. Thus, when the first forwarding path has no requirement for the data forwarding quality, the load increase caused by the forwarding node adjusting the first forwarding path can be avoided, and the load of the forwarding node can be reduced. The operations performed by the third sending module may refer to the contents related to the functions of the third sending module in the above embodiments.
Optionally, the path indication is carried in the indication message. The indication message may be a BGP message or a PCEP message.
In the case of an integrated unit, the path adjustment device for a controller provided by the present application may include a processing module, a storage module, and a communication module. The processing module may be configured to control and manage the actions of the path adjusting apparatus, for example, may be configured to support the path adjusting apparatus to execute the actions executed by the controller in S101 to S107. The memory module may be used to support the path adjustment device in executing stored program codes and data, etc. And the communication module can be used for supporting the communication between the path adjusting device and other equipment.
The processing module, the storage module, and the communication module may refer to the processing module, the storage module, and the communication module in the path adjusting apparatus for a controller, respectively, which are not described herein again in this embodiment of the present application.
In an embodiment, when the processing module is a processor, the storage module is a memory, and the communication module is a communication interface, the path adjusting apparatus according to this embodiment may be a network device having a structure shown in fig. 3.
An embodiment of the present application provides a communication system, where a structure of the communication system may be as shown in fig. 1, and the communication system may include: a plurality of nodes. At least some of the nodes are located on the first forwarding path, and the forwarding node is any node on the first forwarding path, and the function of the forwarding node may refer to the corresponding function described in each of the above embodiments, which is not described herein again in this embodiment of the application.
Another communication system is provided in an embodiment of the present application, where the structure of the communication system may be as shown in fig. 2, and the communication system may include: a plurality of nodes and a controller. At least some of the plurality of nodes are located on a first forwarding path, and a forwarding node is any node on the first forwarding path. The functions of the forwarding node and the controller in the system may refer to the corresponding functions described in the above embodiments, which are not described herein again in this embodiment of the present application.
The embodiment of the present application provides a computer-readable storage medium, where a computer program is stored in the storage medium, and the computer program is used to execute a method that is used by a forwarding node in any path adjustment method provided in the embodiment of the present application to execute the method.
The embodiment of the present application provides another computer-readable storage medium, where a computer program is stored in the storage medium, and the computer program is used to execute a method executed by a controller in any of the path adjustment methods provided in the embodiments of the present application.
An embodiment of the present application provides a computer program product including instructions, which, when running on a path adjustment apparatus, causes the path adjustment apparatus to execute a method for a forwarding node to execute in any of the path adjustment methods provided in the embodiment of the present application.
Embodiments of the present application provide a computer program product including instructions, which, when the computer program product runs on a path adjustment apparatus, cause the path adjustment apparatus to execute a method for execution by a controller in any of the path adjustment methods provided in embodiments of the present application.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product comprising one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the application to occur, in whole or in part. The computer may be a general purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (e.g., coaxial cable, fiber optic, digital subscriber line) or wirelessly (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or can comprise one or more data storage devices, such as a server, a data center, etc., integrated with the available medium. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium, or a semiconductor medium (e.g., solid state disk), among others.
In this application, the terms "first" and "second," etc. are used for descriptive purposes only and are not to be construed as indicating or implying relative importance. The term "at least one" means one or more and "a plurality" means two or more unless explicitly defined otherwise.
Different types of embodiments such as the method embodiment and the apparatus embodiment provided by the embodiment of the present application can be mutually referred to, and the embodiment of the present application does not limit this. The sequence of operations in the method embodiments provided in the present application can be appropriately adjusted, and the operations can be increased or decreased according to the circumstances, and any method that can be easily conceived by a person skilled in the art within the technical scope disclosed in the present application shall be covered by the protection scope of the present application, and therefore, the details are not repeated.
In the corresponding embodiments provided in the present application, it should be understood that the disclosed system, device, and apparatus, etc. may be implemented by other configurations. For example, the above-described apparatus embodiments are merely illustrative, and for example, a division of a unit is merely a logical division, and an actual implementation may have another division, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection of some interfaces, devices or units, and may be an electric or other form.
Units described as separate parts may or may not be physically separate, and parts described as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of devices. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily think of various equivalent modifications or substitutions within the technical scope of the present application, and these modifications or substitutions should be covered within the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
Claims (28)
1. A method of path adjustment, the method being performed by a forwarding node, the method comprising:
forwarding the data by using a first forwarding path;
and switching the first forwarding path to a second forwarding path according to the fact that the error code index of the first forwarding path does not meet a preset condition, or reducing the transmission ratio of data on the first forwarding path, wherein the forwarding node is a node on the first forwarding path.
2. The method of claim 1, wherein the first forwarding path includes at least one error link, wherein the error link is a link with an error, and wherein the second forwarding path does not include one or more of the at least one error link.
3. The method according to claim 1 or 2, wherein the first forwarding path includes at least one error code link, the error code link is a link in which an error code exists, and the error code indicator of the first forwarding path does not meet a preset condition, including:
and at least one error code index corresponding to the at least one error code link does not meet the preset condition.
4. The method of claim 3, wherein the at least one error indicator corresponding to the at least one error link does not meet a predetermined condition, comprising:
one or more of the at least one error indicator does not meet a preset condition; or,
and the statistic value of at least one error code index corresponding to the at least one error code link does not meet the preset condition.
5. The method of claim 4, wherein the at least one error indicator is at least one bit error rate,
one or more of the at least one error indicator does not meet a preset condition, including: one or more of the at least one bit error rate do not meet a bit error rate threshold; or,
the statistical value of at least one error code index corresponding to at least one error code link does not meet the preset condition, and the statistical value comprises the following steps: the number of the at least one bit error rate which does not meet the bit error rate threshold value exceeds a preset value, or the accumulated sum of the at least one bit error rate does not meet the preset value.
6. The method according to any of claims 1 to 5, wherein the first forwarding path and the second forwarding path belong to the same data tunnel or the first forwarding path and the second forwarding path belong to different data tunnels.
7. The method according to any of claims 1 to 6, wherein prior to switching the first forwarding path to the second forwarding path, the method further comprises:
the second forwarding path is computed.
8. The method of claim 6, wherein the first forwarding path belongs to a first data tunnel, wherein the second forwarding path belongs to a second data tunnel, and wherein before switching the first forwarding path to the second forwarding path, the method further comprises:
sending a switching request message for requesting to switch the first data tunnel to a controller;
receiving a handover response message from the controller, the handover response message indicating that the data is to be forwarded using the second data tunnel;
the switching the first forwarding path to a second forwarding path includes:
switching the first forwarding path to the second forwarding path in the second data tunnel to forward the data.
9. The method of claim 8, wherein the request message is a Border Gateway Protocol (BGP) message.
10. The method according to any one of claims 1 to 9, further comprising:
and sending an error code message to a controller according to the fact that the error code index of the first forwarding path does not meet the preset condition, wherein the error code message is used for announcing error code information associated with the first forwarding path.
11. The method according to any one of claims 1 to 10, further comprising:
obtaining a path indication for one or more paths that allow adjustment, the one or more paths comprising: at least one path different from the first forwarding path;
the switching the first forwarding path to a second forwarding path includes:
determining the second forwarding path from the at least one path different from the first forwarding path according to the path indication, and switching the first forwarding path to the second forwarding path;
or, reducing the transmission ratio of the data on the first forwarding path includes:
determining a third forwarding path from the at least one path different from the first forwarding path according to the path indication, reducing the transmission proportion of the data on the first forwarding path, and increasing the transmission proportion of the data on the third forwarding path.
12. The method according to any one of claims 1 to 11, further comprising:
obtaining path indications of one or more paths allowing adjustment;
the switching the first forwarding path to a second forwarding path includes:
switching the first forwarding path to a second forwarding path according to the one or more paths allowing adjustment including the first forwarding path;
or, reducing the transmission ratio of the data on the first forwarding path includes:
and reducing the transmission proportion of data on the first forwarding path according to the one or more paths allowing adjustment, including the first forwarding path.
13. The method according to claim 11 or 12, wherein the path indication is carried in a Border Gateway Protocol (BGP) message or a path computation element communication protocol (PCEP) message sent by the controller to the forwarding node.
14. The method according to any of claims 1 to 13, wherein the head nodes of the first forwarding path and the second forwarding path are the forwarding nodes, and the tail nodes of the first forwarding path and the second forwarding path are the same.
15. The method of claim 14, wherein the first forwarding path belongs to a path in a segment routing policy SRv6policy or a segment routing traffic engineering policy SR-TE policy based on a sixth edition of Internet protocol,
the switching the first forwarding path to the second forwarding path includes: switching the first forwarding path to the second forwarding path in the SRv6policy or the SR-TE policy, wherein the first forwarding path and the second forwarding path are different candidate paths in the SRv6policy or the SR-TE policy, or are indicated by different segment route lists in the same candidate path in the SRv6policy or the SR-TE policy; or,
the reducing of the transmission ratio of the data on the first forwarding path includes: and reducing the transmission proportion of data on the first forwarding path, and increasing the transmission proportion of the data on one or more paths which belong to the same candidate path as the first forwarding path and are indicated by other segment list.
16. The method according to any one of claims 1 to 15,
after switching the first forwarding path to a second forwarding path, the method further comprises: switching the second forwarding path back to the first forwarding path according to the condition that the error code index of the first forwarding path meets the preset condition; or,
after reducing the transmission proportion of data on the first forwarding path, the method further comprises: and recovering the transmission proportion of the data on the first forwarding path according to the condition that the error code index of the first forwarding path meets the preset condition.
17. A path adjustment method, performed by a controller, the method comprising:
sending an indication message to a forwarding node, wherein the indication message is used for indicating the forwarding node to determine to forward data by using a first forwarding path;
and receiving error code information sent by the forwarding node, wherein the error code information is used for announcing error code information associated with the first forwarding path.
18. The method of claim 17, further comprising:
receiving a switching request message sent by the forwarding node;
and sending a switching response message to the forwarding node according to the switching request message, wherein the switching response message is used for indicating the forwarding node to determine to use a second forwarding path to forward the data, and the second forwarding path is the forwarding path determined to be used by the forwarding node after the forwarding node switches the first forwarding path.
19. The method of claim 18, wherein the handover request message is a Border Gateway Protocol (BGP) message.
20. The method according to any of claims 17 to 19, wherein the first forwarding path and the second forwarding path belong to the same data tunnel, or wherein the first forwarding path and the second forwarding path belong to different data tunnels; the second forwarding path is a forwarding path determined to be used by the forwarding node after the forwarding node switches the first forwarding path.
21. The method according to any one of claims 17 to 20, characterized in that the method comprises: and sending a path indication of one or more paths allowing adjustment to the forwarding node to instruct the forwarding node to adjust the paths according to the path indication.
22. The method of claim 21, wherein the path indication is carried in the indication message.
23. A communication system, the communication system comprising: a controller and a forwarding node;
the controller is configured to: sending a path indication message to the forwarding node;
the forwarding node is configured to: after determining to forward data by using a first forwarding path according to the message, switching the first forwarding path to a second forwarding path according to the fact that an error code indicator of the first forwarding path does not meet a preset condition, or reducing a transmission ratio of data on the first forwarding path, wherein the forwarding node is a node on the first forwarding path.
24. The communication system of claim 23, wherein the first forwarding path includes at least one error link, wherein the error link is an error-prone link, and wherein the second forwarding path does not include one or more of the at least one error link.
25. The communication system according to claim 23 or 24, wherein the first forwarding path and the second forwarding path belong to the same data tunnel or the first forwarding path and the second forwarding path belong to different data tunnels.
26. The communication system according to any of claims 23 to 25, wherein the forwarding node is further configured to: the second forwarding path is computed.
27. A network device, characterized in that the network device comprises: a processor and a memory, the memory having a program stored therein;
the processor is configured to call a program stored in the memory to cause the network device to perform the path adjustment method of any one of claims 1 to 16;
alternatively, the processor is configured to call a program stored in the memory to cause the network device to perform the path adjustment method according to any one of claims 17 to 22.
28. A computer storage medium, characterized in that the storage medium has stored therein a computer program for executing the path adjustment method according to any one of claims 1 to 16, or the computer program for executing the path adjustment method according to any one of claims 17 to 22.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011412529.6A CN114666261A (en) | 2020-12-03 | 2020-12-03 | Path adjusting method and device and communication system |
PCT/CN2021/133374 WO2022116896A1 (en) | 2020-12-03 | 2021-11-26 | Path adjustment method and apparatus, and communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011412529.6A CN114666261A (en) | 2020-12-03 | 2020-12-03 | Path adjusting method and device and communication system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114666261A true CN114666261A (en) | 2022-06-24 |
Family
ID=81853843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011412529.6A Pending CN114666261A (en) | 2020-12-03 | 2020-12-03 | Path adjusting method and device and communication system |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114666261A (en) |
WO (1) | WO2022116896A1 (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080205269A1 (en) * | 2007-02-27 | 2008-08-28 | Tsutoma Kitamura | Method and system for rerouting traffic |
CN102036129A (en) * | 2009-09-29 | 2011-04-27 | 中兴通讯股份有限公司 | Method and system for protecting path based on PCE (Patch Computation Element) |
CN104104601A (en) * | 2013-04-01 | 2014-10-15 | 华为技术有限公司 | Data transmission method, device and system |
CN105765909A (en) * | 2013-06-27 | 2016-07-13 | 华为技术有限公司 | Link switching method and device |
CN109150761A (en) * | 2018-10-24 | 2019-01-04 | 新华三技术有限公司 | A kind of method and device of tunnel switching |
US20190036818A1 (en) * | 2017-07-27 | 2019-01-31 | Cisco Technology, Inc. | Full-path validation in segment routing |
CN109889444A (en) * | 2018-12-29 | 2019-06-14 | 华为技术有限公司 | A kind of methods, devices and systems of planning path |
WO2020224407A1 (en) * | 2019-05-05 | 2020-11-12 | 中兴通讯股份有限公司 | Processing method and system for bit error rate detection, first node, second node, and storage medium |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10038494B1 (en) * | 2017-02-02 | 2018-07-31 | Infinera Corporation | Proactive multi-layer mechanisms to protect packet-optical transport networks |
CN111131065A (en) * | 2019-12-19 | 2020-05-08 | 苏州浪潮智能科技有限公司 | Method and equipment for optimizing forwarding path quality under load balance |
-
2020
- 2020-12-03 CN CN202011412529.6A patent/CN114666261A/en active Pending
-
2021
- 2021-11-26 WO PCT/CN2021/133374 patent/WO2022116896A1/en active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080205269A1 (en) * | 2007-02-27 | 2008-08-28 | Tsutoma Kitamura | Method and system for rerouting traffic |
CN102036129A (en) * | 2009-09-29 | 2011-04-27 | 中兴通讯股份有限公司 | Method and system for protecting path based on PCE (Patch Computation Element) |
CN104104601A (en) * | 2013-04-01 | 2014-10-15 | 华为技术有限公司 | Data transmission method, device and system |
CN105765909A (en) * | 2013-06-27 | 2016-07-13 | 华为技术有限公司 | Link switching method and device |
US20190036818A1 (en) * | 2017-07-27 | 2019-01-31 | Cisco Technology, Inc. | Full-path validation in segment routing |
CN109150761A (en) * | 2018-10-24 | 2019-01-04 | 新华三技术有限公司 | A kind of method and device of tunnel switching |
CN109889444A (en) * | 2018-12-29 | 2019-06-14 | 华为技术有限公司 | A kind of methods, devices and systems of planning path |
WO2020224407A1 (en) * | 2019-05-05 | 2020-11-12 | 中兴通讯股份有限公司 | Processing method and system for bit error rate detection, first node, second node, and storage medium |
Also Published As
Publication number | Publication date |
---|---|
WO2022116896A1 (en) | 2022-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7471669B1 (en) | Routing of protocol data units within a communication network | |
CN112448885B (en) | Method and equipment for transmitting service message | |
US8842522B2 (en) | Incremental deployment of MRT based IPFRR | |
EP2781065B1 (en) | Technique for network routing | |
WO2020041729A1 (en) | Loop conflict avoidance in a network computing environment | |
CN103597778A (en) | Enhanced stream reservation protocol for audio video networks | |
JP2004533142A (en) | Reuse of bandwidth reservation in protection and restoration techniques for dynamically allocated rings | |
US20230231798A1 (en) | Conditional routing delivery in a compromised network | |
CN109691031B (en) | Service message transmission method and node equipment | |
EP4207699A1 (en) | Service packet forwarding method, sr policy sending method, device, and system | |
CN105472486A (en) | Processing method for preventing routing loop of PON access system | |
CN113259234B (en) | Path protection method, node device, controller and storage medium | |
CN116980341A (en) | Message sending method, network equipment and communication system | |
CN112039765B (en) | Method for transmitting route information, method and device for selecting route | |
CN111885630A (en) | Data transmission method and communication device | |
CN114666261A (en) | Path adjusting method and device and communication system | |
US11863303B2 (en) | Link bit error-based processing method and apparatus | |
CN113194019A (en) | Data transmission control method and electronic equipment | |
CN113595915A (en) | Method for forwarding message and related equipment | |
CN113691446B (en) | Method and device for sending message | |
EP3425859A1 (en) | Multi-layer lsp control method and apparatus | |
CN118264605B (en) | Routing direction determining method and device, storage medium and electronic equipment | |
CN108390780A (en) | Method and apparatus for handling information | |
CN112039770B (en) | Routing method and device | |
CN111835653B (en) | Control method and system for network traffic load balancing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220624 |
|
RJ01 | Rejection of invention patent application after publication |