Path identification allocation method, system, device, equipment and storage medium
By reassigning or requesting control node reassignment when the forwarding node receives path identification information in the PCEP message, the problem of inflexible allocation of SRv6 Policy is solved, and allocation efficiency and consistency are improved.
Patent Information
- Application Number
- CN202011545932.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-09-19
- Filing Date
- 2020-12-23
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2040-12-23
AI Technical Summary
When creating an SRv6 Policy, the path identification allocation is inflexible, which can only be requested by the PCC to reassign PCE when the allocation fails, resulting in low efficiency of path identification allocation.
By receiving the path identification information in the PCEP message when the forwarding node receives the path identification information and determines that it is unavailable, it performs reallocation or requests to control the node's reallocation to improve the allocation efficiency and flexibility of the path identification.
The number of interactions between the control node and the forwarding node is reduced, the efficiency of path identification is improved, the consistency of path identification information is ensured in the control node and the forwarding node, and the failure of data flow forwarding is avoided.
Smart Images

Figure CN114257542B_ABST
Abstract
Description
[0001] This application claims priority to Chinese patent application No. 202010990879.4, filed on September 19, 2020, and entitled “A method and device for allocating identifiers for network devices”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of communication technology, and in particular to a method, system, device, equipment and storage medium for allocating path identifiers. Background Art
[0003] Segment routing policy (SR Policy) is a new tunnel diversion technology developed on the basis of SR technology. SRPolicy is used to indicate at least one candidate path. Each candidate path has a preference value. The higher the preference value of the candidate path, the more preferred it is. The valid candidate path with the highest preference value is the active candidate path. Each candidate path is identified by a segment list, which is also called a segment identity (SID) list. Each candidate path also has a binding-SID (BSID) attribute. The BSID of each candidate path is an identification information of each candidate path, and the BSID of the active candidate path is the identification information of the SR Policy, that is, the BSID of the active candidate path is the BSID of the SRPolicy. Among them, BSID plays an important role in the diversion of SR Policy. For example, after the head node of at least one candidate path receives a message, if the message carries the BSID of the SRPolicy, the head node pops the BSID in the message and pushes the SID list of the active candidate path in the SR Policy as a label stack into the message header of the message to guide the message to be forwarded from the active candidate path. This candidate path that forwards messages based on the label stack can also be called a label switching path (LSP).
[0004] At present, there are many types of SR Policies, and different types of SR Policies are created in different ways. For example, segment routing using IPv6 data plan policy (SRv6 Policy) based on Internet protocol version 6 (IPv6). There are many ways to create SRv6 Policy, such as through path computation element communication protocol (PCEP), through border gateway protocol (BGP) or static configuration.
[0005] In the process of creating an SRv6 Policy, a path identifier (such as BSID) is generally allocated to the SRv6 Policy. Taking the creation of an SRv6 Policy through PCEP as an example, the path computation element (PCE) sends a path computation LSP initiate message (PCInitiate) message to the path computation client (PCC) through the PCEP protocol, wherein the PCC is the head node of the candidate path indicated by the SRv6 Policy in the network, and the PCInitiate message carries the BSID of a candidate path indicated by the SRv6 Policy. However, in some possible scenarios, after receiving the BSID sent by the PCE, the PCC may find that the BSID cannot be used normally, resulting in allocation failure. At this time, the PCC can only request the PCE to allocate a new BSID. Then, since the PCE fails to allocate a BSID for the path, the PCC can only request the PCE to reallocate it, resulting in inflexible path identifier allocation. Summary of the invention
[0006] The embodiment of the present application provides a method, system, device, equipment and storage medium for allocating path identifiers, which can improve the efficiency of allocating path identifiers. The technical solution is as follows:
[0007] In a first aspect, a method for allocating a path identifier is provided, the method being executed by a forwarding node on the path, the method comprising:
[0008] A path computation unit communication protocol (PCEP) message is received, wherein the PCEP message includes path identification information for identifying the path and indication information associated with the path identification information; determining that the path identification information is unavailable, and performing an operation associated with the path identification information according to the indication information.
[0009] The unavailability of the path identification information may be manifested as unavailability due to a conflict, or unavailability due to failure to pass verification. In some cases, if the path identification information has been occupied by other paths other than the path, the path identification information of the path conflicts with the path identification information of the other paths, and the path identification information of the path is unavailable. In other cases, the forwarding node verifies the path identification information of the path, and if the path identification information fails to pass verification, the path identification information is unavailable. For example, if the path identification information does not belong to the range of path identification information used by the forwarding node when configuring path identification information for the path, the path identification information fails to pass verification. For another example, if the path identification information does not conform to the pre-set data format of the path identification information, the path identification information fails to pass verification.
[0010] The method receives a PCEP message through a forwarding node on the path, so that the forwarding node performs an operation associated with the path identification information according to the indication information in the PCEP message when the forwarding node determines that the path identification information of the path is unavailable, such as determining that the forwarding node reallocates the path identification according to the content of the indication, or requesting the control node to reallocate the path identification, etc., thereby improving the flexibility and efficiency of path identification allocation.
[0011] Optionally, if the indication information is first indication information, the operation associated with the path identification information is a first operation, and the first operation includes reallocating path identification information for the path.
[0012] Based on the above optional implementation method, the forwarding node is clearly instructed through the first indication information to reallocate path identification information for the path when it is determined that the path identification of the path is unavailable, without requesting the control node to reallocate, thereby reducing the number of interactions between the control node and the forwarding node and improving the efficiency of path identification allocation.
[0013] Optionally, after performing an operation associated with the path identification information according to the indication information, the method further includes:
[0014] An identification update message is sent to the control node, where the identification update message is used to instruct that the path identification information is updated to target path identification information, where the target path identification information is the path identification information reallocated by the forwarding node to the path.
[0015] Based on the above optional implementation, the forwarding node sends an identification update message to the control node so that the control node updates the stored path identification information of the path to the target path identification information, thereby ensuring that the path identification information of the path is consistent between the control node and the forwarding node, thereby avoiding the situation where the forwarding node cannot forward the data flow normally due to inconsistent path identification information.
[0016] Optionally, the identification update message is a path computation state report (PCRpt) message.
[0017] Optionally, the identifier update message includes the target path identifier information. In some embodiments, the identifier update message further includes an update identifier, and the update identifier is used to indicate that the path identifier information is updated to the target path identifier information.
[0018] Based on the above optional implementation, a variety of identification update messages are provided to meet the needs of the identification update messages in various application scenarios.
[0019] Optionally, if the indication information is second indication information, the operation associated with the path identification information includes a second operation, and the second operation includes sending a message to a control node, where the message is used to indicate that an allocation error occurs in the path identification information identifying the path.
[0020] Based on the above optional implementation method, the second indication information clearly indicates that when the forwarding node determines that the path identifier of the path is unavailable, the forwarding node reports an error in the allocation of the path identifier information of the path to the control node, so that the control node can re-allocate new path identifier information for the path, which is beneficial for the control node to uniformly maintain the path identifier information of each path in the forwarding network.
[0021] Optionally, the path identification information includes a BSID of the path.
[0022] Optionally, the indication information is located in a reserved field in a BSID field in the PCEP message.
[0023] Optionally, the indication information is located in an identification flags field in the PCEP message.
[0024] Optionally, the indication information occupies at least one bit.
[0025] Optionally, the PCEP message includes any one of a PCIInitiate message or a path computation update request (path computation update request, PCUpd) message.
[0026] Optionally, the path is a path indicated by SRPolicy, and the SRPolicy includes any one of a segment routing traffic engineering policy (SRTE Policy) or an SRv6 Policy.
[0027] Optionally, the path is a candidate path.
[0028] Optionally, the path identification information is identification information of the SR Policy, or identification information of the candidate path.
[0029] Optionally, the determining that the path identification information is unavailable includes:
[0030] If the path identification information has been occupied by any path other than the path, it is determined that the path identification information is unavailable.
[0031] Optionally, the forwarding node is a head node of the path.
[0032] In a second aspect, a method for allocating a path identifier is provided, the method being executed by a control node, the method comprising:
[0033] Generate a PCEP message; send the PCEP message to a forwarding node on the path, wherein the PCEP message includes path identification information for identifying the path and indication information associated with the path identification information, and the indication information is used to instruct the forwarding node on the path to perform an operation associated with the path identification information according to the indication information when the forwarding node determines that the path identification information is unavailable.
[0034] Optionally, if the indication information is first indication information, the operation associated with the path identification information is a first operation, and the first operation includes reallocating path identification information for the path.
[0035] Optionally, if the indication information is first indication information, the operation associated with the path identification information is a second operation, and the second operation includes sending a message to a control node, where the message is used to indicate that an allocation error occurs in the path identification information of the path.
[0036] If the indication information is the second indication information, the operation associated with the path identification information includes a second operation, and the second operation includes sending a message to a control node, where the message is used to indicate that an allocation error occurs in the path identification information identifying the path.
[0037] Optionally, the path identification information includes a BSID of the path.
[0038] Optionally, the indication information is located in a reserved field within a BSID field in the PCEP message.
[0039] Optionally, the indication information is located in an identification field in the PCEP message.
[0040] Optionally, the indication information occupies at least one bit.
[0041] Optionally, the PCEP message includes any one of a PCIInitiate message or a PCUpd message.
[0042] Optionally, the path is a path indicated by an SR Policy, and the SR Policy includes either an SR TE Policy or an SRv6 Policy.
[0043] Optionally, the path is a candidate path.
[0044] Optionally, the path identification information is identification information of the SR Policy, or identification information of the candidate path.
[0045] Optionally, the forwarding node is a head node of the path.
[0046] Optionally, the generating a PCEP message includes:
[0047] If it is detected that the forwarding node fails and restarts, the PCEP message is generated.
[0048] Optionally, after sending the PCEP message to the forwarding node, the method further includes:
[0049] receiving a message, the message being used to indicate that an allocation error of path identification information of the path occurs;
[0050] Based on the message, the path identification information is reassigned to the path.
[0051] Optionally, after sending the PCEP message to the forwarding node, the method further includes:
[0052] receiving an identification update message, wherein the identification update message is used to instruct that the path identification information is updated to target path identification information, wherein the target path identification information is the path identification information reallocated by the forwarding node to the path;
[0053] Based on the identification update message, the stored path identification information of the path is updated to the target path identification information.
[0054] Optionally, the identification update message is a PCRpt message.
[0055] Optionally, the identifier update message includes the target path identifier information. In some embodiments, the identifier update message further includes an update identifier, and the update identifier is used to indicate that the path identifier information is updated to the target path identifier information.
[0056] In a third aspect, a path identifier distribution system is provided, the distribution system comprising a control node and a forwarding node;
[0057] The control node is used for:
[0058] Generate a PCEP message, wherein the PCEP message includes path identification information for identifying a path and indication information associated with the path identification information;
[0059] Sending the PCEP message to a forwarding node on the path;
[0060] The forwarding node is used to receive the PCEP message, determine that the path identification information is unavailable, and perform an operation associated with the path identification information according to the indication information.
[0061] Optionally, if the indication information is first indication information, the operation associated with the path identification information is a first operation, and the first operation includes reallocating path identification information for the path.
[0062] Optionally, if the indication information is first indication information, the operation associated with the path identification information is a second operation, and the second operation includes sending a message to a control node, where the message is used to indicate that an allocation error occurs in the path identification information of the path.
[0063] If the indication information is the second indication information, the operation associated with the path identification information includes a second operation, and the second operation includes sending a message to a control node, where the message is used to indicate that an allocation error occurs in the path identification information identifying the path.
[0064] Optionally, the path identification information includes a BSID of the path.
[0065] Optionally, the indication information is located in a reserved field within a BSID field in the PCEP message.
[0066] Optionally, the indication information is located in an identification field in the PCEP message.
[0067] Optionally, the indication information occupies at least one bit.
[0068] Optionally, the PCEP message includes any one of a PCIInitiate message or a PCUpd message.
[0069] Optionally, the path is a path indicated by an SR Policy, and the SR Policy includes either an SR TE Policy or an SRv6 Policy.
[0070] Optionally, the path is a candidate path.
[0071] Optionally, the path identification information is identification information of the SR Policy, or identification information of the candidate path.
[0072] Optionally, the forwarding node is a head node of the path.
[0073] Optionally, the forwarding node is further used to send an identification update message to the control node, where the identification update message is used to instruct to update the path identification information to target path identification information, where the target path identification information is the path identification information reallocated by the forwarding node to the path.
[0074] The control node is further configured to receive the identification update message, and based on the identification update message, update the stored path identification information of the path to the target path identification information.
[0075] Optionally, the identification update message is a PCRpt message.
[0076] Optionally, the identifier update message includes the target path identifier information. In some embodiments, the identifier update message further includes an update identifier, and the update identifier is used to indicate that the path identifier information is updated to the target path identifier information.
[0077] Optionally, the forwarding node is further configured to determine that the path identification information is unavailable if the path identification information has been occupied by any path other than the path.
[0078] Optionally, the forwarding node is further used to send a message to the control node, where the message is used to indicate that an allocation error occurs in the path identification information identifying the path.
[0079] The control node is further configured to receive the message and re-allocate path identification information to the path based on the message.
[0080] Optionally, the control node is further configured to generate the PCEP message if it is detected that the forwarding node fails and restarts.
[0081] In a fourth aspect, a device for allocating a path identifier is provided, the device being configured as a forwarding node on a path, the device comprising:
[0082] A receiving module, used to receive a path computation unit communication protocol PCEP message, wherein the PCEP message includes path identification information for identifying the path and indication information associated with the path identification information;
[0083] A determination module, used to determine that the path identification information is unavailable;
[0084] An execution module is used to execute an operation associated with the path identification information according to the indication information.
[0085] Optionally, if the indication information is first indication information, the operation associated with the path identification information is a first operation, and the first operation includes reallocating path identification information for the path.
[0086] Optionally, if the indication information is first indication information, the operation associated with the path identification information is a second operation, and the second operation includes sending a message to a control node, where the message is used to indicate that an allocation error occurs in the path identification information of the path.
[0087] Optionally, the execution module includes:
[0088] The sending unit is used to send an identification update message to the control node, wherein the identification update message is used to instruct to update the path identification information to target path identification information, and the target path identification information is the path identification information reallocated by the forwarding node to the path.
[0089] Optionally, the identification update message is a PCRpt message.
[0090] Optionally, the identifier update message includes the target path identifier information. In some embodiments, the identifier update message further includes an update identifier, and the update identifier is used to indicate that the path identifier information is updated to the target path identifier information.
[0091] Optionally, if the indication information is second indication information, the operation associated with the path identification information includes a second operation, and the second operation includes sending a message to a control node, where the message is used to indicate that an allocation error occurs in the path identification information identifying the path.
[0092] Optionally, the path identification information includes a BSID of the path.
[0093] Optionally, the indication information is located in a reserved field within a BSID field in the PCEP message.
[0094] Optionally, the indication information is located in an identification field in the PCEP message.
[0095] Optionally, the indication information occupies at least one bit.
[0096] Optionally, the PCEP message includes any one of a PCIInitiate message or a PCUpd message.
[0097] Optionally, the path is a path indicated by an SR Policy, and the SR Policy includes either SR TE Policy or SRv6Policy.
[0098] Optionally, the path is a candidate path.
[0099] Optionally, the path identification information is identification information of the SR Policy, or identification information of the candidate path.
[0100] Optionally, the forwarding node is a head node of the path.
[0101] In a fifth aspect, a path identifier allocation device is provided, the device being configured as a control node, and the device comprising:
[0102] a generating module, configured to generate a PCEP message, wherein the PCEP message includes path identification information for identifying a path and indication information associated with the path identification information, wherein the indication information is used to instruct a forwarding node on the path to perform an operation associated with the path identification information according to the indication information when the forwarding node determines that the path identification information is unavailable;
[0103] A sending module is used to send the PCEP message to the forwarding node.
[0104] Optionally, if the indication information is first indication information, the operation associated with the path identification information is a first operation, and the first operation includes reallocating path identification information for the path.
[0105] Optionally, if the indication information is first indication information, the operation associated with the path identification information is a second operation, and the second operation includes sending a message to a control node, where the message is used to indicate that an allocation error occurs in the path identification information of the path.
[0106] If the indication information is the second indication information, the operation associated with the path identification information includes a second operation, and the second operation includes sending a message to a control node, where the message is used to indicate that an allocation error occurs in the path identification information identifying the path.
[0107] Optionally, the path identification information includes a BSID of the path.
[0108] Optionally, the indication information is located in a reserved field within a BSID field in the PCEP message.
[0109] Optionally, the indication information is located in an identification field in the PCEP message.
[0110] Optionally, the indication information occupies at least one bit.
[0111] Optionally, the PCEP message includes any one of a PCIInitiate message or a PCUpd message.
[0112] Optionally, the path is a path indicated by an SR Policy, and the SR Policy includes either an SR TE Policy or an SRv6 Policy.
[0113] Optionally, the path is a candidate path.
[0114] Optionally, the path identification information is identification information of the SR Policy, or identification information of the candidate path.
[0115] Optionally, the forwarding node is a head node of the path.
[0116] Optionally, the generating module is configured to generate the PCEP message if it is detected that the forwarding node fails and restarts.
[0117] Optionally, the device further comprises:
[0118] A first receiving module, used for receiving a message, wherein the message is used for indicating that an error occurs in the allocation of the path identification information of the path;
[0119] An allocating module is used to reallocate path identification information to the path based on the message.
[0120] Optionally, the device further comprises:
[0121] A second receiving module, used to receive an identification update message, where the identification update message is used to instruct to update the path identification information to target path identification information, where the target path identification information is the path identification information reallocated by the forwarding node to the path;
[0122] An updating module is used to update the stored path identification information of the path to the target path identification information based on the identification update message.
[0123] Optionally, the identification update message is a PCRpt message.
[0124] Optionally, the identifier update message includes the target path identifier information. In some embodiments, the identifier update message further includes an update identifier, and the update identifier is used to indicate that the path identifier information is updated to the target path identifier information.
[0125] In a sixth aspect, a network device is provided, the network device includes a processor, the processor calls program instructions so that the network device implements the operations performed by the path identifier allocation method provided in the first aspect or any optional method of the first aspect. The network device may also include a memory, the memory is coupled to the processor, and the program instructions called by the processor are stored in the memory. The network device may also include a communication interface, the communication interface is used for the device to communicate with other devices, and illustratively, the communication interface may be a transceiver, circuit, bus, module or other type of communication interface. The program instructions called by the processor may also be pre-stored in an external memory, downloaded from the Internet before use and stored locally. The present application does not limit the source of the instructions in the memory in a unique way.
[0126] In a seventh aspect, a control device is provided, the control device includes a processor, the processor calls program instructions so that the network device implements the operations performed by the path identifier allocation method provided in the second aspect or any optional method of the second aspect. The control device may also include a memory, the memory is coupled to the processor, and the program instructions called by the processor are stored in the memory. The control device may also include a communication interface, the communication interface is used for the device to communicate with other devices, and illustratively, the communication interface may be a transceiver, circuit, bus, module or other type of communication interface. The program instructions called by the processor may also be pre-stored in an external memory, downloaded from the Internet before use and stored locally. The present application does not limit the source of the instructions in the memory in a unique way.
[0127] In an eighth aspect, a computer-readable storage medium is provided, in which a program code is stored. The program code is loaded and executed by a processor so that a network device implements the operations performed by the path identifier allocation method provided in the first aspect or any optional method of the first aspect.
[0128] In a ninth aspect, a computer-readable storage medium is provided, in which a program code is stored. The program code is loaded and executed by a processor so that a control device implements the operations performed by the path identifier allocation method provided in the second aspect or any optional method of the second aspect.
[0129] In the tenth aspect, a computer program product or a computer program is provided, which includes a program code. When the computer program product or the computer program runs on a network device, the network device executes the method provided in the above-mentioned first aspect or various optional implementations of the first aspect.
[0130] In the eleventh aspect, a computer program product or a computer program is provided, which includes a program code, and when it runs on a control device, it enables the control device to execute the method provided in the above-mentioned second aspect or various optional implementations of the second aspect.
[0131] The method for allocating path identifiers provided by the first aspect or any optional method of the first aspect can be executed by the opposite device of the device that executes the method for allocating path identifiers provided by the second aspect or any optional method of the second aspect, and the schemes provided by the third to eleventh aspects can be used to implement the method for allocating path identifiers provided by the first aspect or any optional method of the first aspect, or to implement the method for allocating path identifiers provided by the second aspect or any optional method of the second aspect, and therefore can achieve the same beneficial effects as the first aspect or any optional method of the first aspect, which will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0132] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0133] Figure 1 is a schematic diagram of a path identification distribution system provided in an embodiment of the present application;
[0134] Figure 2It is a schematic diagram of the message format of a PCEP message provided in an embodiment of the present application;
[0135] Figure 3 is a flow chart of a method for allocating path identifiers provided in an embodiment of the present application;
[0136] Figure 4 This is a data format diagram of a TE-path-BSID TLV provided in an embodiment of the present application;
[0137] Figure 5 is a flowchart of interaction between the forwarding node and the control node when the indication information provided by an embodiment of the present application is the first indication information;
[0138] Figure 6 is a flowchart of interaction between the forwarding node and the control node when the indication information provided by an embodiment of the present application is the second indication information;
[0139] Figure 7 It is a structural diagram of a BISD field provided in an embodiment of the present application;
[0140] Figure 8 It is a structural schematic diagram of a path identification distribution device provided in an embodiment of the present application;
[0141] Fig. 9 It is a structural schematic diagram of a path identification distribution device provided in an embodiment of the present application;
[0142] Fig.10 It is a structural diagram of a network device provided in an embodiment of the present application;
[0143] Fig.11 It is a structural schematic diagram of a control device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0144] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.
[0145] The present application provides a PCEP message, which includes path identification information for identifying a path and indication information associated with the path identification information, so that a forwarding node on the path performs an operation associated with the path identification information according to the indication information when the forwarding node determines that the path identification information is unavailable. In different application scenarios, different indication information indicates different operations associated with the path identification information, thereby making the allocation of path identification more flexible, such as the following application scenarios 1-3.
[0146] Application scenario 1. In some embodiments, in order to uniformly allocate and manage path identification information for each path in the entire network, the control node may generate a PCEP message including the path identification information of the path and the second indication information when allocating the path identification information for a path. When the control node sends the PCEP message to the forwarding node on the path, the forwarding node sends a message to the control node to report an error when confirming that the path identification information allocated by the control node for the path is unavailable according to the second indication information, so as to request the control node to re-allocate the path identification information for the path. For example, in this case, the forwarding node may return a path calculation error (PCEP error, PCErr) message to the control node through the PCEP protocol to indicate that the path identification information allocated by the control node for the path is wrong. After receiving the PCErr message, the control node continues to allocate new path identification information for the path, and sends the newly allocated path identification information to the forwarding node again until the newly issued path identification information can be used normally.
[0147] Application scenario 2: In some embodiments, in order to avoid the situation where the control node is reallocated due to the unavailability of the path identification information allocated by the control node to the path, the control node can generate a PCEP message including the path identification information of the path and the first indication information when allocating the path identification information to a path. When the control node sends the PCEP message to the forwarding node on the path, the forwarding node can, based on the first indication information, reallocate the path identification information to the path by itself when confirming that the path identification information allocated by the control node to the path is unavailable, without requesting the control node to reallocate the path, thereby reducing the number of interactions between the forwarding node and the control node and improving the efficiency of path identification allocation. In addition, in this case, after the forwarding node reallocates the path identification information to the path, the forwarding node can also send the path identification information allocated by itself to the path to the control node, which is then updated and stored by the control node. Therefore, even if the forwarding node can allocate the path identification information to the path by itself, the control node can still learn the available path identification information of each path in the network so that the control node can manage it uniformly.
[0148] Application scenario 3. In some embodiments, in the scenario where the forwarding node fails and restarts, the control node can also notify the forwarding node of the path identification information of the path through a PCEP message. In a possible implementation, the control node can also detect the online status of the forwarding node in real time. If the control node detects that the forwarding node is offline within the target duration, the control node determines that the forwarding node has failed. If the control node subsequently detects that the forwarding node is online, the control node determines that the forwarding node has failed and restarted. After the control node determines that the forwarding node has failed and restarted, in order to avoid the loss of the path identification information of the path stored locally in the forwarding node due to the failure, the control node again notifies the forwarding node of the path identification information of the path through a PCEP message. The path identification information of the path in this PCEP message can be the path identification information used by the forwarding node for the path before the failure. However, the forwarding node may serve multiple services. In order to continue to serve these multiple services after the forwarding node fails and restarts, the forwarding node itself may need to restore the path identification information of the paths corresponding to the multiple services. Since the timing of the forwarding node restoring the path identification information of the paths corresponding to the multiple services is not controllable, when the forwarding node receives the path identification information re-issued by the control node, it will find that the path identification information is unavailable because it has been allocated to other services. In this case, the forwarding node can reallocate the path identification information for the path according to the first indication information in the PCEP message and inform the control node, and the control node updates the path identification information of the path stored locally. It should be noted that after the control node determines that the forwarding node fails and restarts, the path identification information of the path in the PCEP message re-sent to the forwarding node can be the path identification information used by the path before the forwarding node fails and stored locally by the control node, or it can be the path identification information re-assigned by the control node to the path.
[0149] In order to further illustrate the use process of the PCEP message in various application scenarios, a detailed description is given below in conjunction with specific embodiments.
[0150] Figure 1 is a schematic diagram of a path identification distribution system provided in an embodiment of the present application, see Figure 1 The system 100 includes a forwarding network 101 and a control network 102. The forwarding network 101 includes a plurality of forwarding nodes 1011 (such as Figure 1 The forwarding nodes AH in the forwarding nodes 1011 may form a plurality of paths, each path being composed of some of the forwarding nodes in the plurality of forwarding nodes 1011, and the plurality of paths may also have the same forwarding nodes 1011, for example Figure 1Path 1 in includes forwarding nodes A, B, F, C, and D, and path 2 includes forwarding nodes F, C, and D, wherein forwarding nodes F, C, and D are the same forwarding nodes on path 1 and path 2.
[0151] For any path in the forwarding network 101, according to the position of each forwarding node 1011 on the path, each forwarding node 1011 on the path can be divided into a head node, an intermediate node and a tail node, wherein the head node is the first forwarding node on the path, the intermediate node is the forwarding node other than the first forwarding node and the last forwarding node on the path, and the tail node is the last forwarding node on the path. The path can be a part of the end-to-end forwarding path of the message, for example, it can be a tunnel.
[0152] The control network 102 is used to send control messages to each forwarding node 1011 in the forwarding network 101, so that each forwarding node 1011 performs corresponding operations based on the control messages. The control network 102 includes a control node 1021. In the initialization phase, the control node 1021 can collect topological information of the forwarding network 101. In a possible implementation, the control node 1021 collects the topological information of the forwarding network 101 according to the border gateway protocol (BGP)-link state (LS) protocol, wherein the BGP-LS protocol is a BGP multi-protocol extension that transmits the link state of the interior gateway protocol (IGP) through the BGP protocol. In a possible implementation, the forwarding network 101 includes multiple IGP areas. For a forwarding node 1011 in any IGP area that has a BGP-LS neighbor relationship with the control node 1021, the forwarding node 1011 collects the topology information of any IGP area through the IGP protocol, encapsulates the collected topology information in a BGP-LS route, and sends the BGP-LS route to the control node 1021, so that the control node 1021 can obtain the topology information of each IGP area in the forwarding network 101. The control node 1021 integrates the topology information of each IGP area to obtain the topology information of the forwarding network 101. For example Figure 1 After collecting the topology information of the IGP areas to which they belong, the forwarding nodes G, C and D in the network report the topology information of the IGP areas to which they belong to the control node 1021 by sending BGP-LS routes to the control node 1021.
[0153] For any service served by the forwarding network 101, before the forwarding network 101 forwards the data flow of any service, the control node 1021 can determine the forwarding node for receiving the data flow and the forwarding node for outputting the data flow in the forwarding network 101 according to the transmission requirements of the data flow, and based on the positions of the two forwarding nodes in the forwarding network 101, allocate at least one candidate path to the data flow, wherein the head node of each candidate path is a forwarding node determined to receive the data flow, and the tail node of each candidate path is a forwarding node determined to output the data flow; the control node 1021 can also generate an SR Policy based on the at least one candidate path, and the SR Policy indicates at least one candidate path for forwarding the data flow, and sends the SRPolicy to the head node of the at least one candidate path.
[0154] In addition to sending the SR Policy to the head node of the at least one candidate path, the control node 1021 may also assign a path identification information (e.g., BSID) to each candidate path in the at least one candidate path. In a possible implementation, for any candidate path in the at least one candidate path, the control node 1021 uses a PCEP message to notify the head node of the path identification information assigned by the control node 1021 to the candidate path. The PCEP message includes the path identification information for identifying the candidate path and indication information associated with the path identification information.
[0155] After receiving the PCEP message, the head node determines whether the path identification information of the candidate path in the PCEP message has been occupied by other paths. If so, the path identification information of the candidate path is unavailable. If the path identification information of the candidate path is unavailable, the head node performs the operation associated with the path identification information according to the indication information associated with the path identification information in the PCEP message. The operation may be that the head node re-assigns the path identification information to the candidate path, or that the head node sends a message to the control node 1021 to indicate that the allocation of the path identification information of the candidate path is incorrect, and then the control node re-assigns the path identification information to the candidate path.
[0156] It should be noted that if the head node re-assigns path identification information to the candidate path, after the head node has assigned path identification information to the candidate path, the head node sends the path identification information assigned by the head node to the candidate path to the control node 1021, which is stored by the control node 1021.
[0157] For example, for Figure 1For path 1 in the PCEP message, control node 1021 sends a PCEP message to forwarding node A (head node) on path 1 to inform control node 1021 of the path identification information allocated to path 1. If forwarding node A determines that the path identification information allocated by control node 1021 to path 1 is unavailable, forwarding node A reallocates a new path identification information for path 1 according to the indication information associated with the path identification information in the PCEP message, and sends the new path identification information to control node 1021, which is stored by control node 1021.
[0158] Taking the path identification information as BSID as an example, for Figure 1 For path 2 in the example, if the BSID assigned by the control node 1021 to path 2 is 10011, the control node sends a PCEP message to the forwarding node F (head node) on path 2. The PCEP message carries 10011 assigned by the control node 1021 to path 2 and indication information associated with 10011. If the forwarding node F determines that 10011 has been occupied by a path other than path 2, the forwarding node F reallocates a new BSID for the path 2 according to the indication information associated with 10011 in the PCEP message. The new BSID is 10012. The forwarding node F sends 10012 assigned by the forwarding node F to path 2 to the control node 1021, and the control node stores the BSID of the path 2 as 10012.
[0159] When the control node 1021 determines that the path identification information of each candidate path stored in the SR Policy is available, the path identification information of the active candidate path in the SR Policy is sent as the identification information of the SR Policy to the sender of the data flow of any service, such as the tunnel head node corresponding to the SR Policy. The sender adds the path identification information of the SR Policy to the message in the data flow. When the head node receives the message in the data flow, it pops up the path identification information carried in the message, and uses the SID list of the candidate path identified by the path identification information as a label stack and pushes it into the message header of the message to guide the message to be forwarded from the candidate path out of the forwarding network 101.
[0160] It should be noted that the head node of each path in the forwarding network 101 interacts with the control node 1021 according to the PCEP protocol. In some embodiments, the head node is called PCC and the control node 1021 is called PCE.
[0161] In some embodiments, the control network 102 can be regarded as a control center, such as a network cloud engine. In addition to the control node 1021, the control network 102 may also include control nodes with other control functions, such as a control node that sends a specific control message to the head node, and the specific control message is used to instruct the head node to forward the data flow of any service according to the candidate path indicated by the SR Policy issued by the control node 1021, or to instruct the head node to forward the data flow of any service according to the manually configured path. It can be understood that if the control network 102 includes multiple control devices, the control node 1021 is a control device in the control network 102 for issuing SRPolicy to the control network 102 and allocating path identification information to each candidate path indicated by the SR Policy. If the control network 102 is implemented by a control device, the control node 1021 is a control module in the one control device.
[0162] For the PCEP message involved in the present application, the PCEP message includes path identification information for identifying a path and indication information associated with the path identification information, wherein when the path identification information of the path is a BSID, the path identification information may be located in a reserved field within a BSID field in the PCEP message. The PCEP message may include at least one PCEP object, such as an LSP object, and each PCEP object in the PCEP message may carry at least one type-length-value (TLV). Optionally, the TLV in the LSP object includes a traffic engineering (TE)-path-BSID TLV, and the TE-path-BSID TLV may be regarded as a BSID field in the PCEP message.
[0163] See also Figure 2 A schematic diagram of the message format of a PCEP message provided in an embodiment of the present application is shown. Figure 2The PCEP message shown includes a message header and a PCEP object, wherein the message header includes a version number (Ver) field, a flags field, a message type (message-type) field, and a message length field (message-length) field. The Ver field is used to store the PCEP version number, occupying 3 bits; the flags field in the message header is currently undefined, and all bits in the flags field in the message header can be set to 0, occupying 5 bits; the message type field is used to store the type identifier of the PCEP message, occupying 8 bits. The PCEP message is divided into a PCIInitiate message, a PCUpd message and a PCRpt message. Different type identifiers of the PCEP message are used to identify different types of PCEP messages. For example, if the type identifier stored in the message type field is 12, the PCEP message is a PCIInitiate message; if the type identifier stored in the message type field is 11, the PCEP message is a PCUpd message; if the type identifier stored in the message type field is 10, the PCEP message is a PCRpt message.
[0164] At least one PCEP object in a PCEP message has a common format. The at least one PCEP object starts with a common object header and then defines object-specific fields for different PCEP objects, such as Figure 2The common object header in the PCEP message shown includes an object class (object-class) field, an object type field (object-type, OT) field, a reserved field (reserved, Res) field, an implementation rule (processing-rule, P) flag field, an ignore (ignore, I) flag field, and an object length (object length) field. Among them, the object category field is used to store the category identifier of the PCEP object, occupying 8 bits; the object type field is used to store the type identifier of the object, occupying 4 bits, and the content stored in the object category field and the object type field is used to uniquely identify a PCEP object. For example, if the category identifier stored in the object category field is 32, and the type identifier stored in the object type field is 1, then the PCEP object is an LSP object; the reserved field in the common object header occupies 2 bits, these 2 bits are reserved bits and can be set to 0; the P tag field is used to store the P tag, occupying 1 bit. When the P tag is set, the PCEP object must be considered. When the P tag is not set, the PCEP object can be ignored; the I tag field is used to store the I tag, which is used to determine whether the PCEP object is to be processed, occupying 1 bit; the object length field is used to store the length of the PCEP object (expressed in bytes), occupying 16 bits.
[0165] like Figure 2 As shown, the object-specific fields defined by the LSP object include a PCEP-specific identifier (A PCEP-specific identifier for the LSP, PLSP-ID), an identification field, and a TLV field, wherein the PLSP-ID stored in the PLSP-ID field is used to identify an LSP during each PCEP session lifetime, occupying 20 bits; the identification field in the LSP object occupies a total of 12 bits, including an operational (O) bit with a length of 3 bits, an administrative (A) bit with a length of 1 bit, a Romov (R) bit, a state synchronization (S) flag bit, and a delegate (D) flag bit, and the rest are set to 0, wherein the A bit is used to identify the operational state of the LSP, the R flag bit is used to indicate that the LSP is deleted from the database, the S flag bit is used to mark the LSP state synchronization, and the D flag bit is used to identify that the LSP is in a delegated state. Figure 2The TLV field shown is a TE-path-BSID TLV, including a type field, a length field, a binding type (BT) field, a reserved field, and a binding value (binding value) field. The type field is used to store the type identifier of the TLV. If the type identifier of the TLV is 1011, the TLV field is a TE-path-BSID TLV. The length field is used to store the length of the TLV field. The BT field is used to store the identifier of the binding type. The second reserved field is a field reserved for extending the TLV function. The indication information associated with the path identification information can be stored in the second reserved field, for example, in Figure 2 The indication information is used for F representation, and F is stored in the last bit of the second reserved field. Of course, F can also be located at any position in the second reserved field. The binding value field is used to store the path identification information (such as BSID) of the path. The length of the BSID of different binding types is different. Therefore, the length of the BSID stored in the binding value field is variable.
[0166] It should be noted that Figure 2 The PCEP message format shown is not the complete message format of the PCEP message. Figure 2 Only some fields are shown in the figure. The rest of the fields in the PCEP message are not shown in the figure. Figure 2 For example, the header of the PCEP message may also include other fields, and the PCEP message may include multiple PCEP objects. Figure 2 The LSP object is shown in Figure 2 The LSP mapping shown in the figure can also include other TLVs besides the TE-path-BSID TLV. Figure 2 The data format of the TE-path-BSID TLV is shown in Figure 1-1.
[0167] It should also be noted that Figure 2 In the PCEP message shown, the indication information associated with the path identification information is located in a reserved field of the TE-path-BSID TLV. In some embodiments, the indication information may also be located in other reserved fields in the PCEP message, such as a reserved field in a common object header of the PCEP message. In some embodiments, the indication information may also be located in an identification field in the PCEP message, such as an identification field in an LSP object or an identification field in a message header of the PCEP message. Figure 2 In the PCEP message shown, the indication information occupies one bit. In some embodiments, the path identification information may occupy multiple bits. The number of bits occupied by the indication information will be described later in conjunction with the method embodiment and will not be described here again.
[0168] For any path, the control node sends the path identification information assigned by the control node to the forwarding node on the path through a PCEP message, and the PCEP message also carries indication information associated with the path identification information to clearly instruct the forwarding node to perform the operation associated with the path identification information according to the indication information when the forwarding node determines that the path identification information is unavailable. For further explanation of the process, see Figure 3 A flowchart of a method for allocating path identifiers provided in an embodiment of the present application is shown.
[0169] 301. The control node allocates path identification information for identifying the path to a path.
[0170] The path may be any path in the forwarding network. In one possible implementation, the path is a path indicated by an SRPolicy. The SR Policy may be an SR Policy assigned by the control node for any service. Optionally, the SRPolicy is used to indicate at least one candidate path, which is any candidate path among the at least one candidate path. The SR Policy may include a Segment Routing Traffic Engineering Policy (SR TE Policy) or an SRv6 Policy. The embodiment of the present application does not specifically limit the type of the SR Policy.
[0171] The path identification information of the path includes the BSID of the path. In some embodiments, the path identification information of the path may also be other identification information of the path. The embodiments of the present application do not specifically limit the other identification information of the path.
[0172] In a possible implementation, a path identification set is set in the control node, and the path identification set includes multiple path identification information. The control node assigns any path identification information in the multiple path identification information to the path. Taking the path identification information as BSID as an example, if the BSID in the path identification set belongs to [0000, 9999], the control node randomly assigns 1000 in the path identification set to the path as the BSID of the path.
[0173] In another possible implementation, the control node allocates path identification information to the path from the multiple path identification information according to a preset allocation rule. Optionally, if the multiple path identification information has a large and a small difference, the control node allocates the largest path identification information among the multiple path identification information to the path, or the control node allocates the smallest path identification information among the multiple path identification information to the path. In some embodiments, the control node may also delete the path identification information allocated to the path from the path identification set to avoid subsequently allocating the path identification information of the path to paths other than the path when allocating path identification information to paths other than the path based on the path identification set.
[0174] After the control node allocates the path identification information to the path, the control node may also store the path in association with the path identification information of the path. In a possible implementation, when the path is a candidate path in the SR Policy, the control node stores the path identification information of the path in the SR Policy to which the path belongs, and associates the existing relevant information of the path in the SR Policy with the path identification information of the path, wherein the existing relevant information of the path includes at least one of the preference value of the path in the SR Policy and the SID list of the path.
[0175] It should be noted that, for an SR Policy, the control node will allocate a path identification information to each candidate path indicated by the SR Policy, that is, this step 301 is performed on each candidate path.
[0176] In some embodiments, when the control node assigns path identification information to each candidate path indicated by the SRPolicy, the control node assigns the same path identification information to each candidate path. In one possible implementation, the control node assigns path identification information to a candidate path indicated by the SR Policy through this step 301, and uses the path identification information assigned to the candidate path as the path identification information of each candidate path indicated by the SR Policy. The control node can also use the path identification information of the candidate path as the identification information of the SR Policy. It can also be understood that the control node assigns identification information to the SR Policy through this step 301, and uses the identification information assigned to the SR Policy as the path identification information of each candidate path indicated by the SRPolicy. For example, the control node uses 1000 as the BSID of each candidate path indicated by the SR Policy, and uses 1000 as the BSID of the SR Policy.
[0177] In some embodiments, when the control node assigns path identification information to each candidate path indicated by the SRPolicy, it assigns different path identification information to each candidate path. In one possible implementation, the control node assigns different path identification information to each candidate path indicated by the SR Policy through this step 301, and uses the path identification information of the active candidate path indicated by the SRPolicy as the identification information of the SR Policy. In this case, if the path in this step 301 has the highest preference value in the SR Policy to which it belongs, then the path is the active candidate path indicated by the SR Policy, and the control node uses the path identification information of the path as the identification information of the SR Policy, that is, the path identification information of the path is the identification information of the SR Policy to which the path belongs. For example, the candidate paths indicated by the SR Policy include candidate paths 1-3, where the preference values of candidate paths 1-3 in the SR Policy are 0.2, 0.3 and 0.5 respectively, then candidate path 3 is the active candidate path. If the control node uses 1000, 1001 and 1002 as the BSIDs of candidate paths 1-3 respectively, then the control node will also assign 1002 to candidate path 3 as the BSID of the SR Policy.
[0178] 302. The control node generates a PCEP message, where the PCEP message includes path identification information for identifying the path and indication information associated with the path identification information, where the indication information is used to instruct a forwarding node on the path to perform an operation associated with the path identification information based on the indication information when the forwarding node determines that the path identification information is unavailable.
[0179] The indication information is located in a reserved field within the BSID field in the PCEP message. For example, the path identification information of the path is located in a binding value field within a TE-path-BSID TLV (BSID field) of the PCEP message. The indication information is located in a reserved field within the TE-path-BSID TLV. Since both the indication information and the path information are located in the TE-path-BSID TLV, the indication information is associated with the path identification information.
[0180] In some embodiments, the indication information is located in a reserved field in the common object header of the PCEP message. In other embodiments, the indication information is located in an identification field in the PCEP message, such as an identification field in an LSP object or an identification field in a message header of the PCEP message. As long as the indication information is associated with the path identifier of the path in the PCEP message, the embodiment of the present application does not specifically limit the location of the indication information in the PCEP message.
[0181] The indication information occupies at least one bit, for example, if the indication information is 1, it occupies one bit, and in some embodiments, the indication information occupies multiple bits, for example, if the indication information is 11, it occupies 2 bits. In some embodiments, if the indication information occupies multiple bits, the multiple bits may include a valid indication bit, for example, the indication information occupies 2 bits, wherein the last bit of the 2 bits is a valid indication bit, and if the valid indication bit is 0, the indication information is invalid, and if the valid indication bit is 1, the indication information is invalid.
[0182] If the indication information is the first indication information, the operation associated with the path identification information includes the first operation, and the first operation includes reallocating the path identification information for the path; if the indication information is the second indication information, the operation associated with the path identification information includes the second operation, and the message is used to indicate that the path identification information allocation of the path is wrong. Alternatively, it can be understood that different types of indication information indicate different operations to be performed by the forwarding node, for example, the first indication information is used to indicate that when it is determined that the path identification information is unavailable, the first operation associated with the path identification is performed, and the second indication information is used to indicate that when it is determined that the path identification information is unavailable, the second operation associated with the path identification is performed.
[0183] The first indication information and the second indication information are represented in different ways to distinguish indication information of different indication types. For example, the first indication information is 1 and the second indication information is 0. If the indication information occupies one bit, 1 is directly used as the first indication information and 0 is directly used as the second indication information; if the indication information occupies multiple bits (for example, 2 bits), when the first indication information is 10, it means that the first indication information is invalid, and when the first indication information is 11, it means that the first indication information is valid. Similarly, when the second indication information is 00, it means that the second indication information is invalid, and when the second indication information is 01, it means that the second indication information is valid. 0 and 1 are only used to facilitate understanding of the examples of the first indication information and the second indication information. The first indication information and the second indication information may also have other representations. For example, a 2-bit indication information can be used to represent four different indications, each of which can correspond to different detailed operation instructions. Here, the embodiment of the present application does not specifically limit the representation of the first indication information and the second indication information.
[0184] In some embodiments, the presence or absence of the field where the indication information is located in the PCEP message may also indicate the operation performed by the forwarding node. For example, when the PCEP message includes the field where the indication information is located, but does not limit the representation method of the indication information in the field, the forwarding node defaults to the indication information in the field as the first indication information. If the forwarding node determines that the path identification information of the path in the PCEP message is unavailable, the forwarding node performs the first operation associated with the path identification information. For another example, when the PCEP message does not include the field where the indication information is located, the forwarding node defaults to: if it is determined that the path identification information of the path in the PCEP message is unavailable, the forwarding node performs the second operation associated with the path identification information.
[0185] The control node generates the PCEP message according to the message format of the PCEP message based on the path identification information assigned to the forwarding node and the indication information. For example, when the path identification information is BSID and the indication information is the first indication information, the BSID assigned by the control node to the path is 1000, and the first indication information is recorded as 1. The control node adds 1000 to the binding value field in the TE-path-BSID TLV in the PCEP message according to the message format of the PCEP message to indicate that the BSID of the path is 1000, and sets the last position of the reserved field in the TE-path-BSID TLV to 1 as the first indication information, for example Figure 4 A data format diagram of a TE-path-BSID TLV provided in an embodiment of the present application is shown. When the control node completes adding the contents in each field of the PCEP message, the PCEP message is generated.
[0186] In different application scenarios, the message type of the PCEP message generated by the control node is different. If the control node allocates path identification information for the path for the first time, the control node adds the type identification of the PCIInitiate message (for example, 12) in the message type field of the PCEP message, and the PCEP message is a PCIInitiate message. If the control node does not allocate path identification information for the path for the first time, the control node adds the type identification of the PCUpd message (for example, 11) in the message type field of the PCEP message, and the PCEP message is a PCUpd message.
[0187] 303. The control node sends the PCEP message to the forwarding node on the path.
[0188] The forwarding node may be a head node of the path.
[0189] 304. The forwarding node receives the PCEP message.
[0190] 305. The forwarding node determines that the path identification information of the path carried by the PCEP message is unavailable.
[0191] After receiving the PCEP message, the forwarding node obtains the path identification information of the path from the PCEP message. For example, the forwarding node reads the path identification information 1000 from the binding value field of the TE-path-BSID TLV of the PCEP message.
[0192] After the forwarding node obtains the path identification information from the PCEP message, the forwarding node determines whether the path identification information is available by querying the occupied path identification information, which can also be understood as determining whether the path identification information can be used for the path. The occupied path identification information can be the path identification information of each allocated path stored by the forwarding node.
[0193] In some embodiments, the forwarding node queries whether the path identification information exists in the occupied path identification information. If so, it means that the path identification information has been occupied by any path other than the path, and the forwarding node determines that the path identification is unavailable. Otherwise, it means that the path identification has not been occupied by other paths, and the forwarding node determines that the path identification is available.
[0194] In some other embodiments, the forwarding node verifies the path identification information according to a preset condition. If the path identification information does not meet the preset condition, the path identification information fails to pass the verification, and the forwarding node determines that the path identification information is unavailable. Otherwise, the path identification information is available. The preset condition may include that the path identification information belongs to the path identification information range used by the forwarding node when configuring the path identification information for the path, or that the data format of the path identification information is at least one of the target data formats. For example, a path identification information range is set in each forwarding node, and the path identification information range set in each forwarding node may be the same or different. The path identification information range set in each forwarding node is the range interval used by each forwarding node when configuring the path identification information of the path. If the path identification information is 1000, and the path identification information range set in the forwarding node is [2000, 3000], since the path identification information 1000 does not belong to [200, 3000], the forwarding node determines that the path identification information does not meet the preset condition, and the path identification information fails to pass the verification. For another example, if the data format of the path identification information is not the target data format, the forwarding node determines that the path identification information does not meet the preset condition and the path identification information fails to pass the verification.
[0195] It should be noted that if the forwarding node determines that the path identification information is available, that is, it determines that the path identification information can be used by the path, then the path identification information allocation of the path is completed, and the forwarding node can also store the path identification information in association with the path, and the associated storage method can be the method of associating and storing the path identification information by the control node described above.
[0196] 306. The forwarding node performs an operation associated with the path identification information according to the indication information.
[0197] The method provided by the embodiment of the present application receives the PCEP message through the forwarding node on the path, so that the forwarding node performs the operation associated with the path identification information according to the indication information in the PCEP message when the forwarding node determines that the path identification information of the path is unavailable, such as determining that the forwarding node reallocates the path identification according to the content of the indication, or requesting the control node to reallocate the path identification, etc., thereby improving the flexibility and efficiency of path identification allocation.
[0198] For the above step 306, when the forwarding node determines that the path identification information is unavailable, different types of indication information indicate different operations. In order to further reflect the different operations performed by the forwarding node under different types of indication information, refer to the following respectively. Figure 5-Figure 6 The implementation process shown in the figure. Figure 5 is a flowchart of interaction between the forwarding node and the control node when the indication information provided by an embodiment of the present application is the first indication information, Figure 6 It is a flow chart of interaction between the forwarding node and the control node when the indication information provided by an embodiment of the present application is the second indication information.
[0199] Figure 5 The process shown may include the following steps 501-504:
[0200] 501. When the indication information is the first indication information, and the first indication information is used to indicate that the forwarding node determines that the path identification information is unavailable and performs a first operation associated with the path identification information, if the forwarding node determines that the path identification information is unavailable, the forwarding node reallocates the path identification information for the path.
[0201] The first operation is to reallocate the path identification information to the path. It can be understood that when the indication information is the first indication information and the operation is the first operation, the forwarding node has the authority to allocate the path identification information to the path.
[0202] When the forwarding node determines that the path identification information is unavailable, the forwarding node performs the first operation associated with the path identification information according to the instruction of the first indication information, that is, the forwarding node reallocates the path identification information for the path. The process of the forwarding node reallocating the path identification information for the path is similar to the process of the control node reallocating the path identification information for the path in step 301 above. Here, the embodiment of the present application does not repeat the process of the forwarding node reallocating the path identification information for the path.
[0203] It should be noted that the process shown in step 501 is a process in which when the indication information is the first indication information and the operation is the first operation, the forwarding node performs the first operation when determining that the path identification information is unavailable.
[0204] 502. The forwarding node sends an identification update message to the control node. The identification update message is used to instruct to update the path identification information to target path identification information. The target path identification information is the path identification information reallocated by the forwarding node to the path.
[0205] The identification update message includes the target path identification information. At this time, the data format of the identification update message or the identification update message itself is used to indicate that the path identification information is updated to the target path identification information. In one possible implementation, the identification update message is a PCRpt message. The forwarding node adds the type identifier of the PCRp message (for example, 10) in the message type field of the PCEP message according to the message format of the PCEP message, and adds the target path identification information in the BISD field of the PCEP message, thereby obtaining a PCRpt message (that is, an identification update message). For example Figure 7 As shown in the structural diagram of a BISD field provided in an embodiment of the present application, if the target path identification information is BSID and the value of BSID is 1001, the forwarding node can add 1001 to the binding value field in the BISD field to indicate that the BSID reallocated by the forwarding node for the path is 1001.
[0206] In some embodiments, the identification update message also includes an update identifier, and the update identifier is used to indicate that the path identification information is updated to the target path identification information. In this case, the identification update message and the update identifier can jointly indicate that the path identification information is updated to the target path identification information. In a possible implementation, the forwarding node generates the identification update message based on the target path identification information and the update identifier, and sends the identification update message to the control node to instruct the control node to update the stored path identification information of the path to the target path identification information.
[0207] 503. The control node receives an identification update message.
[0208] 504. The control node updates the path identification information to target path identification information based on the identification update message.
[0209] If the identifier update message is a PCRpt message, or the identifier update message includes an update identifier, the control node learns that the forwarding node has reassigned a target path identifier information for the path. In order to ensure consistency of use, the control node needs to update the path identifier information of the path stored locally to the target path identifier information.
[0210] In one possible implementation, the control node can obtain the target path identification information from the identification update message, and query the SR Policy to which the path belongs from the various SR Policies stored by the control node, and add the obtained target path identification information to the queried SR Policy, and the target path identification information is associated with the path in the queried SR Policy, so as to update the path identification information assigned to the path to the target path identification information.
[0211] The process shown in 502-504 above is a process in which the forwarding node sends an identification update message to the control node, and the control node updates the locally stored path identification information of the path to the target path identification information according to the identification update message. In some embodiments, the forwarding node does not send an identification update message to the control node, but the forwarding node adds the target path identification information of the path to the locally stored SR Policy to obtain the target SR Policy, and sends the target SR Policy to the control node, and the control node queries the locally stored SRPolicy to which the path belongs, and updates the queried SR Policy to the target SR Policy. Since the SR Policy queried by the control node includes the path identification information assigned by the control node to the path, and the target SR Policy is the SR Policy after the path identification information is updated to the target path identification, therefore, by updating the queried SR Policy to the target SRPolicy, the path identification information assigned to the path is updated to the target path identification information.
[0212] The method provided in the embodiment of the present application, if the indication information is the first indication information and the operation is the first operation, then when the forwarding node determines that the path identification information is unavailable, the new path identification information is directly reallocated to the path without requesting the control node to reallocate, thereby reducing the number of interactions between the control node and the forwarding node and improving the allocation efficiency of the path identification.
[0213] Figure 6 The process shown may include the following steps 601-603:
[0214] 601. When the indication information is the second indication information, and the second indication information is used to indicate that the forwarding node determines that the path identification information is unavailable and performs a second operation associated with the path identification information, if the forwarding node determines that the path identification information is unavailable, the forwarding node sends a message to the control node, and the message is used to indicate that an error has occurred in the allocation of the path identification information for the path.
[0215] The second operation is to send a message to the control node. Optionally, the message is a PCErr message. The message may include a SID list of the path and an error flag, and the error flag is used to indicate that an error occurs in the allocation of the path identification information of the path.
[0216] It should be noted that the process shown in step 601 is a process in which when the indication information is the second indication information and the operation is the second operation, the forwarding node performs the second operation when determining that the path identification information is unavailable.
[0217] It can be understood that when the indication information is the second indication information and the operation is the second operation, the forwarding node does not have the authority to assign path identification information to the path. If the forwarding node determines that the path identification information of the path sent by the control node is unavailable, the forwarding node sends a message to the control node to report an error so that the subsequent control node can re-assign new path identification information to the forwarding node.
[0218] 602. The control node receives the message.
[0219] 603. The control node reallocates path identification information to the path based on the message.
[0220] When the control node receives the message, it learns through the SID list and error identifier in the message that the path identification information previously assigned by the control node to the path is incorrect, and the control node re-assigns new path identification information to the path. After the control node has assigned new path identification information to the path, the control node can query the path identification information of the path in the locally stored SR Policy to which the path belongs through the SID list, and update the queried path identification information to the new path identification information.
[0221] It is understandable that when the control node receives the message, it jumps to execute the above step 301, that is, re-executes Figure 3 The process shown.
[0222] The method provided by the embodiment of the present application is that if the indication information is the second indication information and the operation associated with the path identification information is the second operation, the forwarding node directly sends a message to the control node when determining that the path identification information is unavailable, and the control node re-assigns new path identification information to the path based on the message, which is beneficial for the control node to uniformly maintain the path identification information of each path in the network.
[0223] The method of the embodiment of the present application is introduced above, and the device of the embodiment of the present application is introduced below. It should be understood that the device introduced below has any function of the forwarding node or the control node in the above method.
[0224] Figure 8 800 is a schematic diagram of a structure of a path identifier allocation device provided in an embodiment of the present application. The device 800 is configured as a forwarding node on a path. The device 800 includes:
[0225] Receiving module 801, used to execute the above step 304;
[0226] Determining module 802, used to execute the above step 305;
[0227] The execution module 803 is used to execute the above step 306.
[0228] Optionally, the determining module 802 is configured to determine that the path identification information is unavailable if the path identification information has been occupied by any path other than the path.
[0229] Optionally, the execution module 803 includes an allocation unit, and the allocation unit is used to execute the above step 501.
[0230] Optionally, the execution module 803 further includes a sending unit, and the sending unit is used to execute the above steps 502 and 601.
[0231] It should be understood that the device 800 corresponds to the forwarding node in the above-mentioned method embodiment, and the various modules in the device 800 and the above-mentioned other operations and / or functions are respectively for implementing the various steps and methods implemented by the forwarding node in the method embodiment. The specific details can be found in the above-mentioned method embodiment. For the sake of brevity, they will not be repeated here.
[0232] It should be understood that when the device 800 performs the operation associated with the path identification information according to the instruction of the instruction information, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device 800 is divided into different functional modules to complete all or part of the functions described above. In addition, the device 800 provided in the above embodiment and the above method embodiment belong to the same concept, and the specific implementation process thereof is detailed in the above method embodiment, which will not be repeated here.
[0233] It should be understood that the apparatus 800 may be equivalent to the forwarding node 1011 in the system 100 , or equivalent to the execution component in the forwarding node 1011 .
[0234] Fig. 9 is a schematic diagram of the structure of a path identifier allocation device provided in an embodiment of the present application, such as Fig. 9 As shown, the device 900 is configured as a control node, and the device 900 includes: a generating module 901, used to execute the above step 302; and a sending module 902, used to execute the above step 303.
[0235] Optionally, the generating module 901 is configured to generate the PCEP message if it is detected that the forwarding node fails and restarts.
[0236] Optionally, the device 900 further includes:
[0237] A first receiving module, configured to execute the above step 602;
[0238] The allocation module is used to execute the above step 301 or step 603.
[0239] Optionally, the device 900 further includes:
[0240] A second receiving module, used to execute the above step 503;
[0241] The update module is used to execute the above step 504.
[0242] It should be noted that the above-mentioned first receiving module and the second receiving module can be the same receiving module, or two sub-modules in the same receiving module, or two independent receiving modules. The embodiment of the present application does not specifically limit the positional relationship between the first receiving module and the second receiving module.
[0243] It should be understood that the device 900 corresponds to the control node in the above-mentioned method embodiment, and the modules in the device 900 and the above-mentioned other operations and / or functions are respectively for implementing the various steps and methods implemented by the control node in the method embodiment. The specific details can be found in the above-mentioned method embodiment. For the sake of brevity, they will not be repeated here.
[0244] It should be understood that when the device 900 allocates path identification information to the path and generates a PCEP message, the division of the above-mentioned functional modules is only used as an example. In actual applications, the above-mentioned functional allocation can be completed by different functional modules as needed, that is, the internal structure of the device 900 is divided into different functional modules to complete all or part of the functions described above. In addition, the device 900 provided in the above embodiment and the above method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
[0245] It should be understood that the device 900 may be equivalent to the control node 1021 in the system 100 , or equivalent to the execution component in the control node 1021 .
[0246] Corresponding to the method embodiment and virtual device embodiment provided in the present application, the embodiment of the present application further provides a network device, and the hardware structure of the network device is introduced below.
[0247] The network device 1000 corresponds to the forwarding node in the above method embodiment. The hardware, modules and other operations and / or functions in the network device 1000 are respectively various steps and methods implemented by the forwarding node in the method embodiment. Regarding the detailed process of how the network device 1000 performs the path identification information association operation according to the indication information, the specific details can be referred to the above method embodiment. For the sake of brevity, it is not repeated here. Among them, the steps performed by the forwarding node in the above method embodiment are completed by the hardware integrated logic circuit or software instructions in the processor of the network device 1000. The steps performed by the forwarding node in the method disclosed in the embodiment of the present application can be directly embodied as being executed by the hardware processor, or by a combination of hardware and software modules in the processor. The software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in a memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware. To avoid repetition, it is not described in detail here.
[0248] The network device 1000 corresponds to the device 800 in the above virtual device embodiment, and all or part of the functional modules in the device 800 can actually be implemented by software, hardware, or a combination of software and hardware in the network device 1000. Optionally, all or part of the functional modules in the device 800 are implemented by software of the network device 1000, for example, the functional modules included in the device 800 can be generated by the processor of the network device 1000 after reading the program code stored in the memory.
[0249] See also Fig.10 , Fig.10 It is a structural diagram of a network device provided in an embodiment of the present application, and the network device 1000 can be configured as a forwarding node on a path.
[0250] The network device 1000 includes: a main control board 1010 and an interface board 1030 .
[0251] The main control board 1010 is also called a main processing unit (MPU) or a route processor card. The main control board 1010 controls and manages various components in the network device 1000, including routing calculation, device management, device maintenance, and protocol processing functions. The main control board 1010 includes: a central processing unit 1011 and a memory 1012.
[0252] The interface board 1030 is also called a line processing unit (LPU), a line card or a service board. The interface board 1030 is used to provide various service interfaces and realize the forwarding of data packets. The service interface includes but is not limited to an Ethernet interface, a POS (Packet over SONET / SDH) interface, etc., and the Ethernet interface is, for example, a Flexible Ethernet Service Interface (Flexible Ethernet Clients, FlexE Clients). The interface board 1030 includes: a central processing unit 1031, a network processor 1032, a forwarding table entry memory 1034 and a physical interface card (PIC) 1033.
[0253] The central processing unit 1031 on the interface board 1030 is used to control and manage the interface board 1030 and communicate with the central processing unit 1011 on the main control board 1010 .
[0254] The network processor 1032 is used to implement message forwarding processing. The network processor 1032 may be in the form of a forwarding chip. Specifically, the processing of uplink messages includes: message inbound interface processing, forwarding table search; the processing of downlink messages: forwarding table search, etc.
[0255] The physical interface card 1033 is used to implement the docking function of the physical layer, and the original traffic enters the interface board 1030 from it, and the processed message is sent from the physical interface card 1033. The physical interface card 1033 includes at least one physical interface, which is also called a physical port. The physical interface card 1033 is also called a daughter card, which can be installed on the interface board 1030 and is responsible for converting the optical signal into a message and forwarding the message to the network processor 1032 for processing after checking the legitimacy of the message. In some embodiments, the central processor 1031 of the interface board 1003 can also perform the functions of the network processor 1032, such as implementing software forwarding based on a general-purpose CPU, so that the network processor 1032 is not required in the physical interface card 1033.
[0256] Optionally, the network device 1000 includes a plurality of interface boards. For example, the network device 1000 further includes an interface board 1040 . The interface board 1040 includes a central processor 1041 , a network processor 1042 , a forwarding table entry memory 1044 , and a physical interface card 1043 .
[0257] Optionally, the network device 1000 further includes a switching fabric board 1020. The switching fabric board 1020 may also be referred to as a switch fabric unit (SFU). When the network device 1000 has multiple interface boards 1030, the switching fabric board 1020 is used to complete data exchange between the interface boards. For example, the interface board 1030 and the interface board 1040 may communicate through the switching fabric board 1020.
[0258] The main control board 1010 is coupled to the interface board 1030. For example, the main control board 1010, the interface board 1030, the interface board 1040, and the switching network board 1020 are connected to the system backplane through a system bus to achieve intercommunication. In a possible implementation, an inter-process communication (IPC) channel is established between the main control board 1010 and the interface board 1030, and the main control board 1010 and the interface board 1030 communicate through the IPC channel.
[0259] Logically, the network device 1000 includes a control plane and a forwarding plane. The control plane includes a main control board 1010 and a central processor 1031. The forwarding plane includes various components for performing forwarding, such as a forwarding table entry memory 1034, a physical interface card 1033, and a network processor 1032. The control plane performs functions such as a router, generating a forwarding table, processing signaling and protocol messages, and configuring and maintaining the status of the device. The control plane sends the generated forwarding table to the forwarding plane. On the forwarding plane, the network processor 1032 forwards the message received by the physical interface card 1033 based on the forwarding table sent by the control plane. The forwarding table sent by the control plane can be stored in the forwarding table entry memory 1034. In some embodiments, the control plane and the forwarding plane can be completely separated and not on the same device.
[0260] If the network device 1000 is configured as a forwarding node, the central processor 1011 performs an operation associated with the path identification information according to the indication information when the forwarding node determines that the path identification information is unavailable. The network processor 1032 triggers the physical interface card 1033 to receive PCEP messages, send messages, and send identification update messages.
[0261] It should be understood that the receiving module 801 in the apparatus 800 is equivalent to the physical interface card 1033 or the physical interface card 1043 in the network device 1000 ; the determining module 802 and the executing unit 803 in the apparatus 800 may be equivalent to the central processor 1011 or the central processor 1031 in the network device 1000 .
[0262] It should be understood that the operation on the interface board 1040 in the embodiment of the present application is consistent with the operation of the interface board 1030, and for the sake of brevity, it will not be repeated. It should be understood that the network device 1000 of this embodiment can correspond to the forwarding node in the above-mentioned various method embodiments, and the main control board 1010, the interface board 1030 and / or the interface board 1040 in the network device 1000 can implement the functions and / or various steps implemented by the forwarding node in the above-mentioned various method embodiments, and for the sake of brevity, it will not be repeated here.
[0263] It is worth noting that there may be one or more main control boards, and when there are multiple boards, they may include a primary main control board and a backup main control board. There may be one or more interface boards. The stronger the data processing capability of the network device, the more interface boards are provided. There may also be one or more physical interface cards on the interface board. There may be no switching network board, or there may be one or more switching network boards. When there are multiple switching network boards, they can jointly realize load sharing and redundant backup. In a centralized forwarding architecture, network devices may not need switching network boards, and the interface board is responsible for processing the service data of the entire system. In a distributed forwarding architecture, network devices can have at least one switching network board, which realizes data exchange between multiple interface boards and provides large-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of network devices with distributed architecture are greater than those of devices with centralized architecture. Optionally, the network device may have only one board, that is, no switching board, and the functions of the interface board and the main control board are integrated on the board. In this case, the central processor on the interface board and the central processor on the main control board can be combined into one central processor on the board to perform the functions of the two. This type of device has low data exchange and processing capabilities (for example, low-end switches or routers and other network devices). The specific architecture to be adopted depends on the specific networking deployment scenario, and no limitation is made here.
[0264] Corresponding to the method embodiment and the virtual device embodiment provided in the present application, the embodiment of the present application further provides a control device, and the hardware structure of the control device is introduced below.
[0265] The control device 1100 or the control node corresponding to the above method embodiment, the hardware, modules and other operations and / or functions in the control device 1100 are respectively various steps and methods implemented by the control node in the method embodiment, and the specific details of how the control device 1100 allocates path identification information to the path and generates a PCEP message can be referred to the above method embodiment, and for the sake of brevity, it will not be repeated here. Among them, each step of the above method embodiment is completed by the hardware integrated logic circuit or software instruction in the processor of the control device 1100. The steps of the method disclosed in the embodiment of the present application can be directly embodied as the execution of the hardware processor, or the execution is completed by the combination of hardware and software modules in the processor. The software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware. To avoid repetition, it is not described in detail here.
[0266] The control device 1100 corresponds to the device 900 in the above virtual device embodiment, and all or part of the functional modules in the device 900 can actually be implemented by software, hardware, or a combination of software and hardware in the control device 1100. Optionally, all or part of the functional modules in the device 900 are implemented by software of the control device 1100, for example, the functional modules included in the device 900 can be generated by the processor of the control device 1100 after reading the program code stored in the memory.
[0267] See also Fig.11 , Fig.11 It is a structural diagram of a control device provided in an embodiment of the present application. The control device 1100 can be configured as a control node.
[0268] The control device 1100 includes at least one processor 1101 , a communication bus 1102 , a memory 1103 , and at least one physical interface 1104 .
[0269] The processor 1101 may be a general-purpose central processing unit (CPU), a network processor (NP), a microprocessor, or may be one or more integrated circuits for implementing the solution of the present application, such as an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The above-mentioned PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
[0270] The communication bus 1102 is used to transmit information between the above components. The communication bus 1102 can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.
[0271] The memory 1103 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, or a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 1103 may exist independently and be connected to the processor 1101 via the communication bus 1102. The memory 1103 may also be integrated with the processor 1101.
[0272] The physical interface 1104 uses any transceiver-like device for communicating with other devices or communication networks. The physical interface 1104 includes a wired communication interface and may also include a wireless communication interface. Among them, the wired communication interface may be, for example, an Ethernet interface. The Ethernet interface may be an optical interface, an electrical interface, or a combination thereof. The wireless communication interface may be a wireless local area network (WLAN) interface, a cellular network communication interface, or a combination thereof. The physical interface 1104 is also called a physical port.
[0273] In a specific implementation, as an embodiment, the processor 1101 may include one or more CPUs, such as Fig.11 CPU0 and CPU1 are shown in the figure.
[0274] In a specific implementation, as an embodiment, the control device 1100 may include multiple processors, such as Fig.11 1 and 1105. Each of these processors may be a single-CPU or a multi-CPU. A processor herein may refer to one or more devices, circuits, and / or processing cores for processing data (such as computer program instructions).
[0275] In a specific implementation, as an embodiment, the control device 1100 may also include an output device 1106 and an input device 1107. The output device 1106 communicates with the processor 1101 and may display information in a variety of ways. For example, the output device 1106 may be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. The input device 1107 communicates with the processor 1101 and may receive user input in a variety of ways. For example, the input device 1107 may be a mouse, a keyboard, a touch screen device, or a sensor device.
[0276] In some embodiments, the memory 1103 is used to store the program code 1110 for executing the solution of the present application, and the processor 1101 can execute the program code 1110 stored in the memory 1103 to implement the corresponding functions. For example, the program stored in the program code 1110 can be called to implement the functions of the generation module 901, the allocation module, and the update module in the device 900. That is, the control device 1100 can cooperate with the processor 1101 and the program code 1110 in the memory 1103 to implement the method provided in the aforementioned method embodiment.
[0277] The control device 1100 of the embodiment of the present application may correspond to the control node in the above-mentioned various method embodiments, and the processor 1101, physical interface 1104, etc. in the control device 1100 may implement the functions and / or various steps and methods implemented by the control node in the above-mentioned various method embodiments. For the sake of brevity, it will not be described in detail here.
[0278] In some embodiments, the generation module 901 , the allocation module and the update module in the apparatus 900 may be equivalent to the processor 1101 in the control device 1100 ; the sending module 902 , the first receiving module and the second receiving module in the apparatus 900 are equivalent to the physical interface 1104 in the control device 1100 .
[0279] In some possible embodiments, the forwarding node or control node may be implemented as a virtualized device. For example, the virtualized device may be a virtual machine (VM) running a program for sending a message, and the virtual machine is deployed on a hardware device (e.g., a physical server). A virtual machine refers to a complete computer system with complete hardware system functions simulated by software and running in a completely isolated environment. A virtual machine may be configured as a forwarding node or a control node. For example, a forwarding node or a control node may be implemented based on a general physical server in combination with network function virtualization (NFV) technology. A forwarding node or a control node is a virtual host, a virtual router, or a virtual switch. Those skilled in the art may virtualize a forwarding node or a control node with the above-mentioned functions on a general physical server in combination with NFV technology by reading this application. No further details will be given here.
[0280] It should be understood that the network devices in the above-mentioned various product forms respectively have any functions of the forwarding node or the control node in the above-mentioned method embodiments, which will not be described in detail here.
[0281] An embodiment of the present application provides a computer program product. When the computer program product is run on a network device, the network device executes the method executed by the forwarding node in the above method embodiment.
[0282] An embodiment of the present application provides a computer program product. When the computer program product is run on a control device, the network device executes the method executed by the control node in the above method embodiment.
[0283] The embodiment of the present application also provides a chip, including a processor and an interface circuit, the interface circuit is used to receive instructions and transmit them to the processor; the processor can be used to execute the above-mentioned allocation method for the execution path identifier applied to the instruction forwarding node or the control node. Wherein, the processor is coupled with a memory, and the memory is used to store programs or instructions. When the program or instruction is executed by the processor, the chip system implements the method in any of the above-mentioned method embodiments.
[0284] Optionally, the processor in the chip system may be one or more. The processor may be implemented by hardware or by software. When implemented by hardware, the processor may be a logic circuit, an integrated circuit, etc. When implemented by software, the processor may be a general-purpose processor implemented by reading software code stored in a memory.
[0285] Optionally, the memory in the chip system may be one or more. The memory may be integrated with the processor or may be separately provided with the processor, which is not limited in the present application. Exemplarily, the memory may be a non-transient processor, such as a read-only memory ROM, which may be integrated with the processor on the same chip or may be provided on different chips. The present application does not specifically limit the type of memory and the arrangement of the memory and the processor.
[0286] Exemplarily, the chip system can be a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on chip (SoC), a CPU, an NP, a digital signal processor (DSP), a microcontroller unit (MCU), a programmable logic device (PLD), or other integrated chips.
[0287] The above description is only an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application shall be included in the protection scope of the present application.
Claims
1. A method for allocating path identifiers, characterized in that: The method is performed by a forwarding node on the path, and the method includes: receiving a path computation unit communication protocol PCEP message, wherein the PCEP message includes path identification information for identifying the path and indication information associated with the path identification information, wherein the path identification information is allocated to the path by a control node; Determine that the path identification information is unavailable. If the indication information is first indication information, reallocate path identification information for the path according to the first indication information, wherein the first indication information is used to instruct the forwarding node to reallocate path identification information for the path when it is determined that the path identification information allocated to the path by the control node in the PCEP message is unavailable.
2. The method according to claim 1, characterized in that: After reallocating the path identification information to the path according to the first indication information, the method further includes: An identification update message is sent to the control node, where the identification update message is used to instruct that the path identification information is updated to target path identification information, where the target path identification information is the path identification information reallocated by the forwarding node to the path.
3. The method according to claim 1 or 2, characterized in that: The path identification information includes a binding segment identifier BSID of the path.
4. The method according to claim 3, characterized in that The indication information is located in a reserved field within a BSID field in the PCEP message.
5. The method according to any one of claims 1, 2 or 4, characterized in that: The indication information is located in the flags field in the PCEP message.
6. The method according to any one of claims 1, 2 or 4, characterized in that: The indication information occupies at least one bit.
7. The method according to any one of claims 1, 2 or 4, characterized in that: The PCEP message includes any one of a path computation label conversion path initialization PCIInitiate message or a path computation update request PCUpd message.
8. The method according to any one of claims 1, 2 or 4, characterized in that: The path is the path indicated by SRPolicy, and the SR Policy includes any one of a segment routing traffic engineering policy SR TE Policy or a segment routing policy SRv6 Policy based on Internet Protocol version 6.
9. The method according to claim 8, characterized in that The path is a candidate path.
10. The method according to claim 9, characterized in that The path identification information is identification information of the SR Policy, or identification information of the candidate path.
11. The method according to any one of claims 1, 2, 4, 9 or 10, characterized in that: The determining that the path identification information is unavailable includes: If the path identification information has been occupied by any path other than the path, it is determined that the path identification information is unavailable.
12. The method according to any one of claims 1, 2, 4, 9 or 10, characterized in that: The forwarding node is the head node of the path.
13. A method for allocating path identifiers, characterized in that: The method is performed by a control node, and the method includes: assigning path identification information for identifying the path to the path; Generate a PCEP message, wherein the PCEP message includes the path identification information and indication information associated with the path identification information, wherein the indication information is first indication information, and the first indication information is used to instruct the forwarding node on the path to reallocate the path identification information for the path when determining that the path identification information allocated to the path by the control node in the PCEP message is unavailable; Send the PCEP message to the forwarding node.
14. The method according to claim 13, characterized in that The generating of the PCEP message includes: If it is detected that the forwarding node fails and restarts, the PCEP message is generated.
15. The method according to claim 13 or 14, characterized in that After sending the PCEP message to the forwarding node, the method further includes: receiving an identification update message, wherein the identification update message is used to instruct that the path identification information is updated to target path identification information, wherein the target path identification information is the path identification information reallocated by the forwarding node to the path; Based on the identification update message, the stored path identification information of the path is updated to the target path identification information.
16. The method according to claim 13 or 14, characterized in that The path identification information includes a binding segment identifier BSID of the path.
17. The method according to claim 16, characterized in that The indication information is located in a reserved field within a BSID field in the PCEP message.
18. The method according to claim 13 or 14, characterized in that The indication information is located in the flags field in the PCEP message.
19. The method according to any one of claims 13, 14 or 17, characterized in that: The indication information occupies at least one bit.
20. A path identification distribution system, characterized in that: The distribution system includes a control node and a forwarding node; The control node is used for: assigning path identification information for identifying the path to the path; Generate a PCEP message, wherein the PCEP message includes the path identification information and indication information associated with the path identification information; Sending the PCEP message to a forwarding node on the path; The forwarding node is used to receive the PCEP message, determine that the path identification information is unavailable, and if the indication information is first indication information, reallocate the path identification information for the path according to the first indication information, wherein the first indication information is used to instruct the forwarding node to reallocate the path identification information for the path when it is determined that the path identification information allocated to the path by the control node in the PCEP message is unavailable.
21. A device for allocating path identifiers, characterized in that: The device is configured as a forwarding node on a path, and the device includes: A receiving module, configured to receive a path computation unit communication protocol PCEP message, wherein the PCEP message includes path identification information for identifying the path and indication information associated with the path identification information, wherein the path identification information is allocated to the path by a control node; A determination module, used to determine that the path identification information is unavailable; an execution module, for reallocating path identification information for the path according to the first indication information if the indication information is first indication information, wherein the first indication information is used to instruct the forwarding node to reallocate path identification information for the path when it is determined that the path identification information allocated to the path by the control node in the PCEP message is unavailable.
22. A device for allocating path identifiers, characterized in that: The device is configured as a control node, and is used to allocate path identification information for identifying the path to the path; the device includes: a generating module, configured to generate a PCEP message, wherein the PCEP message includes the path identification information and indication information associated with the path identification information, wherein the indication information is first indication information, and the first indication information is used to instruct the forwarding node on the path to reallocate the path identification information for the path when determining that the path identification information allocated to the path by the control node in the PCEP message is unavailable; A sending module is used to send the PCEP message to the forwarding node.
23. A network device, characterized in that: The network device includes a processor and a memory, wherein a program code is stored in the memory, and the program code is loaded and executed by the processor, so that the network device implements the method for allocating path identifiers according to any one of claims 1 to 12.
24. A control device, characterized in that: The control device includes a processor and a memory, wherein the memory stores a program code, and the program code is loaded and executed by the processor, so that the control device implements the path identifier allocation method according to any one of claims 13 to 19.
25. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores program code, which, when executed on a computer, enables the computer to execute the method for allocating path identifiers as described in any one of claims 1 to 19.
Citation Information
Cited By
Path identifier allocation method, system, apparatus and device, and storage medium
WO2022057487A1