Path information processing method and device

The controller sends control protocol packets with path information to nodes through the controller, which solves the problems of service quality and resource utilization efficiency in the transmission of large and small particles in the communication network, and realizes fast path adjustment and efficient service transmission under dynamic network topology.

CN120378343APending Publication Date: 2025-07-25HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410104718.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-01-24
Publication Date
2025-07-25

AI Technical Summary

Technical Problem

In communication networks, it is difficult for the prior art to effectively improve service quality and network resource utilization efficiency during the transmission of large and small particle services.

Method used

The controller sends control protocol messages to the nodes, carrying path information, and quickly updates forwarding items, realizing path calculation and multiplexed section management of dynamic network topology, sending path information in parallel, and using PCEP messages to carry extended objects such as CCI objects, indicating path type and resource information.

Benefits of technology

Improve the effectiveness of end-to-end paths, reduce service traffic packet loss, and improve service quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120378343A_ABST
    Figure CN120378343A_ABST
Patent Text Reader

Abstract

The invention provides a path information processing method applied to a controller. The method comprises the following steps: acquiring a target end-to-end path, wherein the target end-to-end path is a path for bearing large-particle services or a path for bearing small-particle services; the target end-to-end path includes a first node and a second node. A first control protocol message is sent to the first node, a second control protocol message is sent to the second node, the first control protocol message carries the first path information corresponding to the first node, and the second control protocol message carries the second path information corresponding to the second node. As the first node and the second node have high analysis efficiency on the control protocol message, the first node can quickly update the forwarding table item based on the first control protocol message, and correspondingly, the second node can also quickly update the forwarding table item based on the second control protocol message. Therefore, by using the scheme, the effective efficiency of the target end-to-end path can be improved, so that the quality of service provided for the service is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communications, and in particular, to a method and apparatus for processing path information. Background Art

[0002] With the development of communication technologies, more and more services are carried in communication networks. Correspondingly, the service traffic transmitted in communication networks is also increasing. In some scenarios, in order to improve the quality of service provided for services and rationally utilize network resources, large-granularity technologies can be applied to transmit service traffic. Large-granularity technologies have advantages such as flexible bandwidth allocation on demand, and their applications are becoming more and more widespread. Moreover, in order to rationally utilize bandwidth resources, the bandwidth carried by a physical port can also be divided into multiple sub-slots, or the time slot corresponding to a large bandwidth in a large-granularity technology can be divided into multiple sub-slots, and the multiple sub-slots obtained by division are used to carry customer services with relatively small bandwidth requirements. Among them, the customer services transmitted using large-granularity technologies can be referred to as "large-granularity services", and the customer services carried by sub-slots can be referred to as "small-granularity services". In addition, the technology of using sub-slots to carry customer services can also be referred to as "small-granularity technology". Summary of the Invention

[0003] This application provides a method and apparatus for processing path information, which can improve the quality of service provided for services when using large-granularity technologies or small-granularity technologies to transmit service traffic.

[0004] In a first aspect, this application provides a method for processing path information, which is applied to a controller. The controller can obtain a target end-to-end path, which can be a path carrying large-granularity services or a path carrying small-granularity services. The target end-to-end path includes multiple nodes, and both the first node and the second node are nodes included in the target end-to-end path. After obtaining the target end-to-end path, the controller can send a first control protocol message to the first node and send a second control protocol message to the second node. The first control protocol message carries first path information corresponding to the first node, and the second control message carries second path information corresponding to the second node. Since the first node and the second node have relatively high parsing efficiency for control protocol messages, the first node can quickly update the forwarding table entry based on the first control protocol message. Correspondingly, the second node can also quickly update the forwarding table entry based on the second control protocol message. Therefore, by using this solution, the effectiveness efficiency of the target end-to-end path can be improved, and correspondingly, the quality of service provided for services can be improved.

[0005] In a possible implementation, the controller may calculate a path based on the dynamic network topology, thereby obtaining the target end-to-end path. The so-called dynamic network topology can be understood as the network topology reported by nodes to the controller through control protocol messages. Specifically, once a node senses a change in the link state, it can report the changed network topology to the controller through a control protocol message. If the target end-to-end path is calculated by the controller based on the dynamic network topology, the controller can, in the case of a change in the network topology, promptly recalculate the target end-to-end path for the service based on the changed network topology, so that the service can be promptly switched to the target end-to-end path for transmission, effectively avoiding packet loss of service traffic and effectively improving the quality of service provided for the service.

[0006] In a possible implementation, if the target end-to-end path is calculated based on the dynamic network topology. Before the controller sends control protocol messages to the first node and the second node, it can also determine the multiplexed section of the target end-to-end path and the initial end-to-end path. Here, the target end-to-end path and the initial end-to-end path are two end-to-end paths between the source node and the destination node, and the initial end-to-end path is the end-to-end path calculated by the controller last time. In other words, before the network topology changes, service traffic is transmitted through the initial end-to-end path. After the network topology changes, the controller recalculates the path for the service, and the calculated path is the target end-to-end path. After the controller determines the target end-to-end path, it can compare the target end-to-end path and the initial end-to-end path to determine the multiplexed section of the target end-to-end path and the initial end-to-end path. The so-called multiplexed section can be understood as the same section in the target end-to-end path and the initial end-to-end path. To reduce the interaction between the controller and the nodes and improve the effective efficiency of the target end-to-end path, for the multiplexed section, the controller may no longer send the path information corresponding to the multiplexed section to the corresponding nodes. In other words, the controller may send a first control protocol message to the first node when the multiplexed section does not include the section between the first node and the third node. Correspondingly, assuming that the second path information is used to enable the second node and the fourth node to establish communication, the controller may send a second control protocol message to the second node when the multiplexed section does not include the section between the second node and the fourth node.

[0007] In a possible implementation, the controller may send the first control protocol message to the first node and send the second control protocol message to the second node in parallel. The so-called sending the first control protocol message to the first node and sending the second control protocol message to the second node in parallel can be understood as the difference between the time when the controller sends the first control protocol message to the first node and the time when the controller sends the second control protocol message to the second node is close to or equal to 0. By using this method, the upstream node and the downstream node can receive their own path information almost simultaneously. Correspondingly, the effective efficiency of the target end-to-end path can be improved. Correspondingly, the quality of service provided for the service can be improved.

[0008] In a possible implementation, the target path information may include three types of path parameters, namely: service layer interface index, flow identifier, and resource information. Among them: the service layer may also be referred to as the transport service layer. The transport service layer may be composed of a transport sub-layer and a control sub-layer. Among them, the transport sub-layer can create a service transport channel, and the control sub-layer is used to manage the state of the service transport channel created by the transport sub-layer and perform operations such as service addition and deletion. Among them, the service transport channel may be a channel for transporting small-granularity services, or a channel for transporting large-granularity services. The flow identifier corresponds to the user interface or bandwidth. The resource information may be bandwidth information or time slot information. Among them, the bandwidth information may refer to a specific bandwidth value, and the time slot information may be a time slot list, and the time slot list includes the numbers of the occupied time slots.

[0009] In a possible implementation, when the foregoing target end-to-end path is a path for carrying large-granularity services, the service layer interface index is the large-granularity service layer interface identifier. Among them: the large-granularity service layer interface identifier may be a flexible ethernet group index (FlexE group idx). Among them, FlexE group idx is the local management identifier of the node for the FlexE group, and it is unique on the node. Correspondingly, the flow identifier may be a client identifier (client ID), and the resource information corresponds to the large-granularity resource information. When the resource information is time slot information, the time slot information may be large-granularity time slot information. For example, the time slot information indicates the time slot number of the occupied large-granularity time slot.

[0010] In a possible implementation, when the foregoing target end-to-end path is a path carrying small-granularity services, the service layer interface index is the small-granularity service layer interface identifier, where: when the small-granularity service layer is the metro transport network (MTN) channel layer, the small-granularity service layer interface identifier may be the clientID. When the small-granularity service layer is the Ethernet physical layer, the small-granularity service layer interface identifier may be the identifier of the 10GE Ethernet physical interface. Correspondingly, the flow identifier may be the fine granularity clientID (fg-client ID), and the resource information corresponds to the small-granularity resource information. When the resource information is time slot information, the time slot information may be small-granularity time slot information (i.e., sub-time slot information). For example, the time slot information indicates the time slot number of the occupied small-granularity time slot.

[0011] In a possible implementation, the controller may determine whether the resource information in the first path information is bandwidth information or time slot information according to the capabilities of the third node. In a specific example, before determining the target end-to-end path, the controller may receive first capability indication information sent by the third node, and the first capability indication information is used to indicate whether the third node has the ability to automatically follow the upstream time slot configuration. The so-called ability to automatically follow the upstream time slot configuration means obtaining the local time slot configuration according to the time slot configuration of the upstream node, so that it can establish communication with the upstream node. Correspondingly, the controller may determine whether the resource information in the first path information is bandwidth information or time slot information according to the first capability indication information.

[0012] In a possible implementation, the third node may send the first capability indication information to the controller by sending a control protocol message. As a specific example, the third node may send a third control protocol message to the controller, and the third control protocol message includes the first capability indication information. The controller may parse the third control protocol message to obtain the first capability indication information.

[0013] In a possible implementation, the third control protocol message may include a type length value (TLV), and the first capability indication information may be carried in the capability TLV. In an example, in addition to carrying the first capability indication information, the capability TLV may also carry other aspects of capability information, which will not be described in detail here. After parsing the third control protocol message, the controller may obtain the first capability indication information through the parsed capability TLV.

[0014] In a possible implementation, the third control protocol message may be a Border Gateway Protocol Link State (BGP-LS) message. In this case, the controller may parse the BGP-LS message to obtain the first capability indication information.

[0015] In a possible implementation, the third control protocol message may be a Path Computation Element Protocol Link State (PCEP-LS) message. In this case, the controller may parse the PCEP-LS message to obtain the first capability indication information.

[0016] In a possible implementation, if the first capability indication information indicates that the third node does not have the ability to automatically follow the upstream time slot configuration, the resource information in the first path information is time slot information. In this case, the controller may also send the time slot information included in the first path information to the third node, so that the third node can establish communication with the first node based on the received time slot information.

[0017] In a possible implementation, if the third node does not have the ability to automatically follow the upstream time slot configuration, the resource information in the first path information is time slot information. In an example, the time slot information may be determined according to the time slot occupancy of the first node and the third node. In this case, before determining the target end-to-end path, the controller may also receive the time slot occupancy information sent by the first node and the third node. For the first node and the third node, the time slot occupancy information sent to the controller can be used to indicate the numbers of the time slots that have been occupied and / or not yet occupied by themselves. In this way, the controller may determine the time slot information in the foregoing first path information based on the received time slot occupancy information. For example, select a time slot that matches the user's required bandwidth from the unoccupied time slots to obtain the time slot information in the foregoing first path information.

[0018] In a possible implementation, the first control protocol message and the second control protocol message may be PCEP messages. Specifically, the first control protocol message may be a first PCEP message, and the second control protocol message is a second PCEP message. That is, the controller can send the first PCEP message to the first node and the second PCEP message to the second node in a parallel distribution manner, so that the first node can quickly update the forwarding table entries based on the first PCEP message. Correspondingly, the second node can also quickly update the forwarding table entries based on the second PCEP message, thereby improving the effectiveness efficiency of the target end-to-end path. Correspondingly, the quality of service provided for the service is improved.

[0019] In a possible implementation, the manner in which the first PCEP message carries the first path information and the second PCEP message carries the second path information is the same. For ease of description, the target PCEP message is used to represent the first PCEP message or the second PCEP message, and the carrying manner of the target path information in the target PCEP message is introduced. Among them, when the target path information is the first path information, the target PCEP message is the first PCEP message; when the target path information is the second path information, the target PCEP message is the second PCEP message. The target path information can be carried through corresponding fields in the target PCEP message. As a specific example, the target PCEP message may include an extended object, and this extended object is used to carry the target path information.

[0020] In a possible implementation, the extended object can also reuse an existing extended object. As a specific example, an existing Central Controller Instructions (CCI) object can be reused to carry the target path information. Among them, the CCI object includes a first field, a second field, and a first TLV. The first field is used to carry the service layer interface index in the target path information, the second field is used to carry the flow identifier in the target path information, and the first TLV is used to carry the resource information in the target path information. As mentioned above, the resource information can be bandwidth information or time slot information. In one example, the type field of the first TLV can be used to indicate the type of resource information. For example, when the value of the type field of the first TLV is 1, it means that the resource information is bandwidth information; when the value of the type field of the first TLV is 2, it means that the resource information is time slot information.

[0021] In a possible implementation, the target end-to-end path can be a path for carrying small-granularity services or a path for carrying large-granularity services. In an example, the foregoing target PCEP message may further include indication information for indicating the path type corresponding to the target path information. The so-called path type corresponding to the target path information is the type of the foregoing target end-to-end path. Among them, the type of the target end-to-end path can be a path for carrying small-granularity services or a path for carrying large-granularity services. In this way, after receiving the first control protocol message, the first node can determine the path type corresponding to the received first path information based on the indication information. Correspondingly, after receiving the second control protocol message, the second node can determine the path type corresponding to the received second path information based on the indication information.

[0022] In a possible implementation, before the controller sends the first control protocol message to the first node, or rather, before the controller determines the target end-to-end path, the controller can also announce its path establishment capability to the node. Specifically, the controller can announce to the node the path type corresponding to the capability of end-to-end path calculation. The path type mentioned here can be the foregoing path for carrying large-granularity services or the path for carrying small-granularity services. Taking the controller's announcement of its path establishment capability to the first node as an example, the controller can send a third PCEP message to the first node. The third PCEP message includes an open object, and the open object includes a path establishment type capability sub-TLV. The path establishment type capability sub-TLV indicates that the controller has the capability of end-to-end path calculation, and the path establishment type capability sub-TLV also indicates the path type corresponding to the controller's capability of end-to-end path calculation. Correspondingly, the first node can parse the third PCEP message to obtain the path establishment type capability sub-TLV, so as to determine the path establishment capability of the controller. For example, it is determined that the controller has the capability of calculating the end-to-end path for carrying small-granularity services, and / or it is determined that the controller has the capability of calculating the end-to-end path for carrying large-granularity services.

[0023] Second aspect, the present application provides a method for processing path information, which can be applied to a first node. The controller can obtain a target end-to-end path, which can be a path carrying large-granularity services or a path carrying small-granularity services. The target end-to-end path includes multiple nodes, and the multiple nodes include the first node. After the controller obtains the target end-to-end path, it can send a first control protocol message to the first node. The first control protocol message carries first path information, and the first path information is the path information corresponding to the first node in the target end-to-end path. In other words, the first node can receive the first control protocol message sent by the controller and update the corresponding forwarding table entry based on the first path information carried in the first control protocol message, so that the first node can forward service traffic based on the updated forwarding table entry. In the embodiments of the present application, since the first node has a high parsing efficiency for control protocol messages, the first node can quickly parse the first control protocol message to update the forwarding table entry based on the received first path information. It can be seen that by using this solution, the effective efficiency of the target end-to-end path can be improved, and correspondingly, the service quality provided for services can be improved.

[0024] In a possible implementation manner, the first path information includes: a service layer interface index, a flow identifier, and resource information, and the resource information includes bandwidth information or time slot information.

[0025] In a possible implementation manner, if the target end-to-end path is a path carrying large-granularity services, the service layer interface index is a large-granularity service layer interface identifier, the flow identifier is a large-granularity flow identifier, and the time slot information is large-granularity time slot information.

[0026] In a possible implementation manner, if the target end-to-end path is a path carrying small-granularity services, the service layer interface index is a small-granularity service layer interface identifier, the flow identifier is a small-granularity flow identifier, and the time slot information is sub-time slot information.

[0027] In a possible implementation manner, the third node can report first capability indication information to the controller. In the embodiments of the present application, in addition to reporting the first capability indication information to the controller, the third node can also announce the first capability indication information to other nodes in the network. In a specific example, the third node can announce the first capability indication information to the first node through a first Link Layer Discovery Protocol (LLDP) message. In other words, the first node can receive the first LLDP message sent by the third node, and the first LLDP message includes the first capability indication information.

[0028] In a possible implementation, the first LLDP packet may include a first Organization TLV, which is used to carry the first capability indication information. Specifically, the first Organization TLV may include a first sub-TLV, which is used to carry the first capability indication information. In this way, after receiving the first LLDP packet, the first node can parse the first LLDP packet and determine whether the third node has the ability to automatically follow the upstream time slot configuration according to the first sub-TLV in the first Organization TLV obtained by parsing.

[0029] In a possible implementation, when the third node has the ability to automatically follow the upstream time slot configuration, the foregoing first sub-TLV is further used to indicate the following mode for the third node to automatically follow the upstream time slot configuration. The following modes include: following through data plane packets and / or following through control plane packets. Among them, following through data plane packets means interacting with the upstream node through data packets to achieve following the upstream time slot configuration; following through control plane packets means interacting with the upstream node through control packets to achieve following the upstream time slot configuration. In this way, the first node can negotiate time slots with the third node according to the following mode supported by the third node, so that the first node and the third node can normally establish communication based on the negotiated time slots.

[0030] In a possible implementation, the first Organization TLV can also be used to indicate the path type corresponding to the foregoing first capability indication information. In a specific example, the first Organization TLV may further include a second sub-TLV, which indicates the service type supported by the third node. It is not difficult to understand that the service type supported by the third node is the path type corresponding to the first capability indication information. Among them, the service type supported by the third node may be large-granularity services or small-granularity services. Correspondingly, if the service type supported by the third node is large-granularity services, the path type corresponding to the first capability indication information is the path for carrying large-granularity services.

[0031] In a possible implementation, if the first capability indication information indicates that the third node does not have the ability to automatically follow the upstream time slot configuration, the resource information in the first path information is time slot information, and the method further includes: sending the time slot occupancy information to the controller, where the time slot occupancy information is used to enable the controller to determine the time slot information.

[0032] In a possible implementation, if the first capability indication information indicates that the third node has the ability to automatically follow the upstream time slot configuration, after receiving the first path information, the first node may obtain the time slot configuration information of the first node according to the resource information in the first path information. After the first node obtains the time slot configuration information of the first node, it may further negotiate time slots with the third node so that the third node obtains the time slot configuration information of the first node, and further, the third node performs local configuration based on the time slot configuration information of the first node. Specifically, the third node may obtain the time slot configuration information of the first node and obtain its own time slot configuration information based on the time slot configuration information of the first node, so that the first node can communicate with the third node normally.

[0033] In a possible implementation, if the resource information in the first path information is time slot information, the first node may obtain the time slot configuration information of the first node according to the time slot information in the first path information, where the time slot configuration information of the first node may include the correspondence between the time slot list and the flow identifier.

[0034] In a possible implementation, if the resource information in the first path information is bandwidth information, the first node may automatically allocate time slots matching the bandwidth indicated by the bandwidth information according to the bandwidth information and the time slots not yet occupied by itself, so as to obtain the time slot configuration information.

[0035] In a possible implementation, the first node may negotiate time slots with the third node according to the follow-up method of automatically following the upstream time slot supported by the third node. In a specific example, if the follow-up method of the third node automatically following the upstream time slot configuration includes following through control plane messages, the first node may negotiate time slots with the third node by interacting control messages with the third node. As a possible implementation, the first node may send a second LLDP message to the second node, and the second LLDP message carries the time slot configuration information of the first node. As a specific example, the second LLDP message may include a second vendor TLV, and the second vendor TLV includes a third sub-TLV, and the third sub-TLV carries the time slot configuration information of the first node. Correspondingly, after receiving the second LLDP message, the third node may parse the second LLDP message to obtain the third sub-TLV in the second vendor TLV, and further perform local time slot configuration through the time slot configuration information carried in the third sub-TLV.

[0036] In a possible implementation, the first control protocol message sent by the receiving controller includes: receiving a first Path Computation Element Communication Protocol (PCEP) message sent by the controller.

[0037] In a possible implementation, the first PCEP message includes an extended object, and the extended object is used to carry the first path information.

[0038] In a possible implementation, the extended object is a Central Controller Indication (CCI) object. The CCI object includes: a first field, a second field, and a first Type - Length - Value (TLV). The first TLV is used to carry resource information in the first path information. The first field is used to carry a service layer interface index in the first path information, and the second field is used to carry a flow identifier in the first path information.

[0039] In a possible implementation, the first PCEP message includes indication information, and the indication information indicates the path type corresponding to the first path information.

[0040] In a possible implementation, before receiving the control protocol message sent by the receiving controller, the method further includes:

[0041] Receiving a second PCEP message sent by the controller. The second PCEP message includes an Open object. The Open object includes a Path Establishment Type Capability sub - TLV. The Path Establishment Type Capability sub - TLV indicates that the controller has the end - to - end path calculation capability. The Path Establishment Type Capability sub - TLV includes a fourth sub - TLV. The fourth sub - TLV indicates the path type corresponding to the controller's end - to - end path calculation capability. The path type is a path for carrying large - granularity services or a path for carrying small - granularity services.

[0042] In a third aspect, an embodiment of the present application provides a path information processing device, which is applied to a controller. The device includes: a processing unit, configured to obtain a target end - to - end path, where the target end - to - end path is a path for carrying large - granularity services or a path for carrying small - granularity services. The target end - to - end path includes multiple nodes, and the multiple nodes include a first node and a second node; a sending unit, configured to send a first control protocol message to the first node, where the first control protocol message carries first path information corresponding to the first node, and send a second control protocol message to the second node, where the second control protocol message carries second path information corresponding to the second node.

[0043] In a possible implementation manner, the sending unit is configured to: send the first control protocol message to the first node and send the second control protocol message to the second node in a parallel manner.

[0044] In a possible implementation manner, the target path information includes: a service layer interface index, a flow identifier, and resource information, where the resource information includes bandwidth information or time slot information, and the target path information is the first path information or the second path information.

[0045] In a possible implementation manner, if the target end-to-end path is a path for carrying large-granularity services, then the service layer interface index is a large-granularity service layer interface identifier, the flow identifier is a large-granularity flow identifier, and the time slot information is large-granularity time slot information.

[0046] In a possible implementation manner, if the target end-to-end path is a path for carrying small-granularity services, then the service layer interface index is a small-granularity service layer interface identifier, the flow identifier is a small-granularity flow identifier, and the time slot information is sub-time slot information.

[0047] In a possible implementation manner, the device further includes: a receiving unit, configured to receive first capability indication information sent by a third node, where the first capability indication information indicates whether the third node has the ability to automatically follow the upstream time slot configuration, the third node is the next-hop node of the first node in the target end-to-end path, and the first path information is used to enable the first node to establish communication with the third node.

[0048] In a possible implementation manner, the receiving unit is configured to: receive a third control protocol message sent by the third node, where the first capability indication information is included in the third control protocol message.

[0049] In a possible implementation manner, the third control protocol message includes a capability type length value TLV, and the capability TLV carries the first capability indication information.

[0050] In a possible implementation manner, the third control protocol message includes: a Border Gateway Protocol Link State (BGP-LS) message or a Path Computation Element Protocol Link State (PCEP-LS) message.

[0051] In a possible implementation manner, if the first capability indication information indicates that the third node does not have the ability to automatically follow the upstream time slot configuration, then the resource information in the first path information is time slot information, and the sending unit is further configured to: send the time slot information included in the first path information to the third node.

[0052] In a possible implementation, the receiving unit is further configured to: receive the time slot occupancy information sent by the first node and the third node, where the time slot occupancy information is used to enable the controller to determine the time slot information included in the first path information.

[0053] In a possible implementation, the first control protocol message is a first PCEP message, and the second control protocol message is a second PCEP message.

[0054] In a possible implementation, the target PCEP message includes an extended object, and the extended object is used to carry the target path information. Wherein, when the target path information is the first path information, the target PCEP message is the first PCEP message; when the target path information is the second path information, the target PCEP message is the second PCEP message.

[0055] In a possible implementation, the extended object is a Central Controller Indication (CCI) object, and the CCI object includes: a first field, a second field, and a first TLV. The first TLV is used to carry the resource information in the target path information, the first field is used to carry the service layer interface index in the target path information, and the second field is used to carry the flow identifier in the target path information.

[0056] In a possible implementation, the target PCEP message is used to carry the target path information, and the target PCEP message includes indication information, where the indication information indicates the path type corresponding to the target path information; wherein, when the target path information is the first path information, the target PCEP message is the first PCEP message; when the target path information is the second path information, the target PCEP message is the second PCEP message.

[0057] In a possible implementation, the sending unit is further configured to: before sending the first control protocol message to the first node, send a third PCEP message to the first node. The third PCEP message includes an open object, and the open object includes a path establishment type capability sub-TLV. The path establishment type capability sub-TLV indicates that the controller has the ability of end-to-end path calculation, and the path establishment type capability sub-TLV also indicates the path type corresponding to the ability of end-to-end path calculation, and the path type is a path for carrying large-granularity services or a path for carrying small-granularity services.

[0058] In a possible implementation, the processing unit is configured to: calculate the target end-to-end path according to the dynamic network topology.

[0059] In a possible implementation, the processing unit is further configured to: before the sending unit sends the first control protocol message to the first node, determine the multiplexing section of the target end-to-end path and the initial end-to-end path, where the target end-to-end path and the initial end-to-end path are two end-to-end paths between a source node and a destination node, and the initial end-to-end path is the end-to-end path calculated by the controller last time; the sending unit is specifically configured to: when the multiplexing section does not include the section between the first node and the third node, send the first control protocol message to the first node.

[0060] In a fourth aspect, an embodiment of the present application provides a path information processing device applied to a first node. The device includes: a receiving unit, configured to receive a first control protocol message sent by a controller, where the first control protocol message carries first path information, and the first path information is path information corresponding to the first node in a target end-to-end path, the target end-to-end path includes the first node, and the target end-to-end path is a path for carrying large-granularity services or a path for carrying small-granularity services; a processing unit, configured to update a forwarding entry according to the first path information.

[0061] In a possible implementation, the first path information includes: a service layer interface index, a flow identifier, and resource information, where the resource information includes bandwidth information or time slot information.

[0062] In a possible implementation, if the target end-to-end path is a path for carrying large-granularity services, then the service layer interface index is a large-granularity service layer interface identifier, the flow identifier is a large-granularity flow identifier, and the time slot information is large-granularity time slot information.

[0063] In a possible implementation, if the target end-to-end path is a path for carrying small-granularity services, then the service layer interface index is a small-granularity service layer interface identifier, the flow identifier is a small-granularity flow identifier, and the time slot information is sub-time slot information.

[0064] In a possible implementation, the receiving unit is further configured to: receive first capability indication information sent by a third node, where the first capability indication information indicates whether the third node has the ability to automatically follow the upstream time slot configuration, the third node is the next-hop node of the first node in the target end-to-end path, and the first path information is used to enable the first node to establish communication with the third node.

[0065] In a possible implementation, the receiving unit is configured to: receive a first Link Layer Discovery Protocol (LLDP) packet sent by the third node, where the first LLDP packet includes a first vendor type-length-value (TLV), the vendor TLV includes a first sub-TLV, and the first sub-TLV carries the first capability indication information.

[0066] In a possible implementation, if the first capability indication information indicates that the third node has the ability to automatically follow the upstream time slot configuration, the first sub-TLV further indicates the following mode for the third node to automatically follow the upstream time slot configuration, and the following mode includes: following through data plane packets and / or following through control plane packets.

[0067] In a possible implementation, the first vendor TLV further includes a second sub-TLV, and the second sub-TLV indicates that the third node supports carrying large granularity services or supports carrying small granularity services.

[0068] In a possible implementation, if the first capability indication information indicates that the third node does not have the ability to automatically follow the upstream time slot configuration, the resource information in the first path information is time slot information, and the apparatus further includes: a sending unit, configured to send time slot occupancy information to a controller, where the time slot occupancy information is used to enable the controller to determine the time slot information.

[0069] In a possible implementation, if the first capability indication information indicates that the third node has the ability to automatically follow the upstream time slot configuration, the processing unit is further configured to: perform time slot negotiation with the third node, so that the third node obtains the time slot configuration information of the first node, and perform local configuration based on the time slot configuration information.

[0070] In a possible implementation, if the resource information in the first path information is time slot information, the time slot configuration information is obtained according to the time slot information.

[0071] In a possible implementation, if the resource information in the first path information is bandwidth information, the time slot configuration information is obtained by the first node allocating time slots based on the bandwidth information.

[0072] In a possible implementation, the processing unit is specifically configured to:

[0073] send a second LLDP packet to the third node, where the second LLDP packet includes a second vendor TLV, the second vendor TLV includes a third sub-TLV, and the third sub-TLV carries the time slot configuration information.

[0074] In a possible implementation, sending the second LLDP message to the third node includes: when it is determined that the following mode in which the third node automatically follows the upstream time slot configuration includes following through a control plane message, sending the second LLDP message to the third node.

[0075] In a possible implementation, the receiving unit is configured to: receive a first Path Computation Element Communication Protocol (PCEP) message sent by the controller.

[0076] In a possible implementation, the first PCEP message includes an extended object, and the extended object is used to carry the first path information.

[0077] In a possible implementation, the extended object is a Central Controller Indication (CCI) object. The CCI object includes: a first field, a second field, and a first Type - Length - Value (TLV). The first TLV is used to carry resource information in the first path information. The first field is used to carry a service layer interface index in the first path information. The second field is used to carry a flow identifier in the first path information.

[0078] In a possible implementation, the first PCEP message includes indication information, and the indication information indicates the path type corresponding to the first path information.

[0079] In a possible implementation, the receiving unit is further configured to: before receiving a control protocol message sent by the controller, receive a second PCEP message sent by the controller. The second PCEP message includes an Open object. The Open object includes a Path Establishment Type Capability sub - TLV. The Path Establishment Type Capability sub - TLV indicates that the controller has the end - to - end path calculation capability. The Path Establishment Type Capability sub - TLV includes a fourth sub - TLV. The fourth sub - TLV indicates the path type corresponding to the controller's end - to - end path calculation capability. The path type is a path for carrying large - granularity services or a path for carrying small - granularity services.

[0080] In a fifth aspect, an embodiment of the present application provides a path information processing device, including: a communication interface and a processor. According to the communication interface and the processor, the communication device executes the method according to any one of the above first aspects or any one of the above second aspects.

[0081] In a specific design, the above information processing device may be a chip, the above communication interface includes an interface circuit, and the processor includes a processing circuit. The interface circuit may include an input circuit and an output circuit. The processing circuit is configured to receive signals through the input circuit and transmit signals through the output circuit, so that any implementation manner of any aspect in the first aspect is implemented, or any implementation manner of any aspect in the second aspect is implemented.

[0082] In a sixth aspect, an embodiment of the present application provides a computer-readable storage medium, including instructions or a computer program, which, when running on a processor, execute the method described in any item of the above first aspect, or, when running on a processor, execute the method described in any item of the above second aspect.

[0083] In a seventh aspect, an embodiment of the present application provides a computer program product, including a computer program product, which, when running on a processor, execute the method described in any item of the above first aspect, or execute the method described in any item of the above second aspect.

[0084] In an eighth aspect, an embodiment of the present application provides a chip system, which may include a processor. The processor is coupled to a memory and is configured to execute any implementation manner in the above first aspect, or the processor is coupled to a memory and is configured to execute any implementation manner in the above second aspect. Optionally, the chip system further includes a memory. The memory is used to store a computer program (which may also be referred to as code or instructions). The processor is configured to call and run the computer program from the memory, so that a device installed with the chip system executes any implementation manner of the first aspect or any implementation manner of the second aspect.

[0085] In a ninth aspect, an embodiment of the present application provides a path information processing device, including: an interface circuit and a processing circuit. The interface circuit may include an input circuit and an output circuit. The processing circuit is configured to receive signals through the input circuit and transmit signals through the output circuit, so that any implementation manner of the first aspect is implemented, or any implementation manner of the second aspect is implemented. In a specific implementation, the processing circuit includes operations implemented by a Flexe shim layer.

[0086] In a specific implementation process, the above information processing device may be a chip, the input circuit may be an input pin, the output circuit may be an output pin, and the processing circuit may be transistors, gate circuits, flip-flops, and various logic circuits, etc. The input signal received by the input circuit may be received and input by, for example but not limited to, a receiver, and the signal output by the output circuit may be output to, for example but not limited to, a transmitter and transmitted by the transmitter. Moreover, the input circuit and the output circuit may be the same circuit, which serves as the input circuit and the output circuit at different times respectively. The present application does not limit the specific implementation manners of the processor and various circuits.

[0087] In another implementation manner, the information processing device may be some components in a first network node, such as integrated circuit products like a system-on-chip or a communication chip, etc. The interface circuit may be an input / output interface, an interface circuit, an output circuit, an input circuit, a pin, or a related circuit, etc. on the chip or chip system. The processing circuit may be the logic circuit on the chip.

[0088] Tenth aspect, an embodiment of the present application provides a path information processing system, the system includes a network device and a controller, the network device includes a first network device, a second network device, a first node and a second node. The first network device is configured to send first topology resource information to the controller in response to detecting a change in topology resources, the first topology resource information includes an identifier of a first interface, an identifier of a second interface, resource information of the first interface, an identifier of the first network device, and an identifier of the second network device, the first network device includes the first interface, the second network device includes the second interface, and the first interface is connected to the second interface; wherein, both the first interface and the second interface are interfaces capable of carrying small granularity services, or both the first interface and the second interface are interfaces capable of carrying large granularity services; the controller is configured to determine a target end-to-end path based on the first topology resource information, the target end-to-end path is a path for carrying large granularity services or a path for carrying small granularity services, the target end-to-end path includes a plurality of nodes, and the plurality of nodes includes a first node and a second node; the controller is further configured to send a first control protocol message to the first node, the first control protocol message carries first path information corresponding to the first node; the controller is further configured to send a second control protocol message to the second node, the second control protocol message carries second path information corresponding to the second node. Using the path information processing system provided by the embodiment of the present application, since the device actively reports topology resource information to the controller when detecting a change in topology resources, it helps the controller to perceive the dynamic changes of topology resources in real time and supports the dynamic route calculation function implemented by the controller. Moreover, after the controller calculates the target end-to-end path, it issues the corresponding path information to the first node and the second node on the target end-to-end path through control protocol messages. Since the parsing efficiency of the first node and the second node for the control protocol messages is relatively high, the first node can quickly update the forwarding table entry based on the first control protocol message, and correspondingly, the second node can also quickly update the forwarding table entry based on the second control protocol message. Therefore, using this path information processing system can improve the effectiveness efficiency of the target end-to-end path, and correspondingly, can improve the service quality provided for the service.

[0089] In a possible implementation, the resource information of the first interface includes at least one of the bandwidth information of the first interface and / or the time slot information of the first interface. Since the device actively reports the bandwidth information of the large-granularity interface or the FlexE physical interface to the controller, it is convenient for the controller to perceive the current available bandwidth of the large-granularity interface or the FlexE physical interface in the device, which is applicable to the mode of calculating large-granularity channels or small-granularity channels based on bandwidth, and is convenient for the controller to allocate bandwidth or recalculate the route for large-granularity channels or small-granularity channels based on the bandwidth information of the device. For example, recalculate the large-granularity channels or small-granularity channels that can bypass the devices with insufficient bandwidth, thereby reducing the risk that the actual used bandwidth of the large-granularity channels or small-granularity channels cannot meet the bandwidth requirements due to insufficient device bandwidth. Since the device actively reports the time slot information of the large-granularity interface or the FlexE physical interface to the controller, it is convenient for the controller to perceive the current available time slots of the large-granularity interface or the FlexE physical interface in the device, which is applicable to the mode of calculating large-granularity channels or small-granularity channels based on time slots, and is convenient for the controller to allocate time slots or recalculate the route for large-granularity channels or small-granularity channels based on the time slot information of the device. For example, recalculate the large-granularity channels or small-granularity channels that can bypass the devices with insufficient available time slots, thereby reducing the risk that the actual used bandwidth of the large-granularity channels or small-granularity channels cannot meet the bandwidth requirements due to insufficient available time slots of the device.

[0090] In a possible implementation, the time slot information of the first interface includes at least one of the time slot granularity and the time slot status. The time slot granularity is used to indicate the bandwidth occupied by a time slot. By reporting the time slot granularity, it is convenient for the controller to determine the number of time slots to be allocated based on the time slot granularity, thereby improving the accuracy of the route calculation result of large-granularity channels or small-granularity channels. The time slot status is used to indicate whether the time slot is occupied or available. By collecting and reporting the time slot status, it is clear which time slots are available and which are occupied among the several time slots occupied by the interface, so that the controller can further allocate time slots from the available time slots for the paths to be calculated, reducing the risk of resource competition caused by further allocating time slots from the occupied time slots.

[0091] In a possible implementation, the topology resource information further includes the identifier of the first Flexible Ethernet group (FlexEgroup) and the identifier of the second FlexE group. The first FlexE group includes the first interface, and the second FlexE group includes the second interface. The first network device includes the first FlexE group, and the second network device includes the second FlexE group. By collecting and reporting the identifier of the local FlexE group and the identifier of the peer FlexE group, on the one hand, it supports the controller to calculate paths across FlexE physical interfaces within the same FlexE group based on the identifier of the FlexE group. On the other hand, considering that the identifiers of FlexE clients or FlexE physical interfaces within different FlexE groups may be repeated, while the identifiers of FlexE client interfaces or FlexE physical interfaces within the same FlexE group are unique. In other words, the combination of the identifier of the interface and the identifier of the FlexE group to which the interface belongs can uniquely identify an interface in the network device. Therefore, by reporting the identifier of the interface itself and the identifier of the FlexE group to which the interface belongs, the controller can distinguish different interfaces based on the identifier of the FlexE group and the identifier of the interface, making the identifier of the interface unique at the device level and reducing the probability of the controller confusing different interfaces.

[0092] In a possible implementation, the topology resource information further includes the identifier of the third interface in the first network device, the identifier of the fourth interface in the second network device, and the resource information of the third interface. The first FlexE group further includes the third interface, and the second FlexE group further includes the fourth interface. The third interface is connected to the fourth interface; wherein both the third interface and the fourth interface are interfaces capable of carrying small-granularity services, or both the third interface and the fourth interface are physical interfaces capable of carrying large-granularity services.

[0093] The above method can simultaneously notify the controller of the connection relationships of multiple pairs of interfaces within the FlexE group, making the topology resource information perceived by the controller more complete and comprehensive.

[0094] In a possible implementation, the topology resource information further includes a topology type identifier; the topology type identifier is used to indicate that the type of the topology resource information is a Flexible Ethernet client (FlexE client) topology, or the topology type identifier is used to indicate a path for carrying large-granularity services determined based on the topology resource information, and both the first interface and the second interface are FlexE client interfaces. Alternatively, the topology type identifier is used to indicate that the type of the topology resource information is a FlexE physical interface topology, or the topology type identifier is used to indicate a path for carrying large-granularity services determined based on the topology resource information, and both the first interface and the second interface are FlexE physical interfaces. Considering that the controller may receive various types of network resource topologies, such as a resource topology for large-granularity path calculation and a resource topology for small-granularity path calculation at the same time, by reporting the topology type identifier, it is convenient for the controller to distinguish different types of network resource topologies and accurately separate the resource topology for large-granularity path calculation from the resource topology for small-granularity path calculation.

[0095] In a possible implementation, the topology resource information further includes cross-reachability information, and the cross-reachability information is used to indicate the cross relationship between different interfaces inside the first network device. For example, the cross-reachability information is used to indicate the cross relationship between the ingress interface inside the device and the egress interface inside the device. For example, in a large-granularity path calculation scenario, the cross-reachability information is used to indicate the cross relationship between different FlexE client interfaces inside the device. Another example is that in a small-granularity path calculation scenario, the cross-reachability information is used to indicate the cross relationship between different FlexE physical interfaces inside the device. By reporting the cross-reachability information inside the device to the controller, the controller can perceive the reachability between different interfaces inside the device, enabling the controller to use the cross-reachability information inside the device as a factor for path calculation. When the controller determines a path that is reachable between devices and cross-reachable inside the device, it can, to a certain extent, help solve the problem that the controller cannot perceive the reachability inside the device, resulting in the calculated path being unreachable inside the device and causing the failure of service data transmission.

[0096] In a possible implementation, the cross-reachability information includes an identifier of a third interface in the first network device, and the third interface is cross-unreachable from the first interface. Considering that in most cases, different interfaces inside the network device can cross, and the non-crossing between interfaces belongs to a special case. Therefore, compared with reporting the interfaces that can cross with the current link, reporting the identifier of the non-crossing interface alone results in less information being reported, which helps reduce the transmission overhead of the cross-reachability information.

[0097] In a possible implementation, the cross-reachability information includes the identifier of the fourth interface in the first network device, and the fourth interface is cross-reachable with the first interface.

[0098] In a possible implementation, the first network device sends the interface capability information of the first interface to the controller. The interface capability information includes large-granularity capability information or small-granularity capability information. The large-granularity capability information is used to indicate the ability of the first interface to carry large-granularity services, and the small-granularity capability information is used to indicate the ability of the first interface to carry small-granularity services. By reporting to the controller the capability information of the interface to carry large-granularity services or small-granularity services, the controller can use the capability information of the interface to carry large-granularity services or small-granularity services as a routing factor for routing, which helps to improve the accuracy of the calculated large-granularity channels or small-granularity channels. For example, the topology based on which the controller performs routing will exclude the interfaces that do not support carrying large-granularity services or small-granularity services, thereby reducing the risk of transmission failure caused by the large-granularity channels or small-granularity channels passing through these interfaces.

[0099] In a possible implementation, the large-granularity capability information includes whether it supports carrying large-granularity services with a predetermined time-slot granularity, whether it supports cross-physical-port (PHY) bundling, whether it supports carrying large-granularity dynamic paths, or whether it supports carrying large-granularity static paths. The large-granularity dynamic path is a path for carrying large-granularity services established based on a control protocol, and the large-granularity static path is a path for carrying large-granularity services established based on a management-plane protocol. By reporting to the controller the capability information of the interface to support cross-PHY bundling, when the controller allocates time slots, it can bundle and allocate the time slots of multiple interfaces within the same FlexE group in the devices that support cross-PHY bundling to be used by large-granularity channels or small-granularity channels, thereby improving the available bandwidth of the large-granularity channels or small-granularity channels. The small-granularity capability information includes whether it supports carrying small-granularity services, whether it supports establishing small-granularity dynamic paths, or whether it supports establishing small-granularity static paths. The small-granularity dynamic path is a path for carrying large-granularity services established based on a control protocol, and the small-granularity static path is a path for carrying large-granularity services established based on a management-plane protocol. By reporting to the controller the capability of the interface to support establishing small-granularity dynamic paths or the capability of the interface to support establishing small-granularity static paths, the controller can decide whether the interface is used to establish a small-granularity dynamic path or a small-granularity static path based on the interface capabilities of the device, which helps to achieve resource isolation for small-granularity dynamic paths and small-granularity static paths and reduces the risk of resource competition and resource mutual exclusion caused by the small-granularity dynamic paths and small-granularity static paths occupying the same resource pool.

[0100] In a possible implementation, the first network device sends device capability information of the first network device to the controller. The device capability information includes at least one of time slot negotiation capability information, topology collection mode, and / or path distribution mode. The time slot negotiation capability information is used to indicate whether the first network device supports time slot negotiation. The topology collection mode is used to indicate whether the first network device supports topology collection for large-granularity path calculation or small-granularity path calculation. The path distribution mode is used to indicate that the mode adopted when distributing paths based on the topology resource information is the bandwidth mode or the time slot mode. By reporting to the controller the capability information of whether it supports time slot negotiation, the network device facilitates the controller's decision on whether to use the bandwidth mode or the time slot mode during resource allocation and path distribution, reducing the risk that the distributed path information fails to take effect on the device when the network device does not support time slot negotiation and the time slot mode is still used for resource allocation and path distribution.

[0101] In a possible implementation, the topology resource information further includes a slice identifier, which is used to identify a network slice, and the network slice includes the first interface. By reporting the slice identifier of the network slice to which the first interface belongs, the network device instructs the controller to calculate paths within the scope of the network slice corresponding to the slice identifier, or in other words, instructs the controller to use the resources within the network slice corresponding to the slice identifier for path calculation, rather than using the resources of other network slices outside the network slice corresponding to the slice identifier, thereby reducing the risk of resource competition between large-granularity channels or small-granularity channels and services carried by other network slices, enabling the resources of a specific network slice to be dedicated to large-granularity channels or small-granularity channels, and further improving the service quality of large-granularity channels or small-granularity channels.

[0102] In a possible implementation, the topology resource information further includes a model identifier, which is used to indicate that the topology resource information is related to FlexE. By reporting an identifier indicating FlexE, in the scenario where, in addition to dynamically reporting topologies for large-granularity path calculation or small-granularity path calculation, the master-slave interface relationship topology, packet forwarding network topology, etc., which are not related to FlexE, are also reported simultaneously, the controller can distinguish topology resource information for different purposes, contributing to the isolation of different network topologies.

[0103] In a possible implementation, the first network device sending the topology resource information to the controller includes: the first network device obtains a control protocol message carrying the topology resource information; the first network device sends the control protocol message to the controller. Since the network device has a high parsing efficiency for control protocol messages, the network device can usually generate and send control protocol messages relatively quickly, thereby improving the speed of reporting topology resource information.

[0104] In a possible implementation, the control protocol message includes a Border Gateway Protocol Link State (BGP-LS) message. The device reports topological resource information based on BGP-LS, can reuse the existing architecture and interfaces of BGP-LS, and is relatively simple to deploy and maintain, which is beneficial to simplifying the operation and maintenance of the network and has a relatively low implementation complexity.

[0105] In a possible implementation, the control protocol message includes a Path Computation Element Protocol Link State (PCEP-LS) message. The device reports topological resource information based on BGP-LS, can reuse the existing architecture and interfaces of BGP-LS, and is relatively simple to deploy and maintain, which is beneficial to simplifying the operation and maintenance of the network and has a relatively low implementation complexity.

[0106] In a possible implementation, the control protocol message carries a Type-Length-Value (TLV), and the TLV carries the topological resource information.

[0107] Since the topological resource information is carried by the TLV to send the topology, the controller can obtain the topological resource information by parsing the TLV. Compared with the method of carrying the topological resource information using the data serialization language (YAML ain't markup language, YAML) model in the NETCONF protocol, there is no need for the controller to obtain the topological resource information by means of text parsing. Therefore, it helps to solve the problem of low efficiency in processing protocol messages caused by obtaining topological resource information by text parsing.

[0108] In a possible implementation, the TLV includes a Capability TLV, a Link Identifier TLV, or a Link Attribute TLV. The Capability TLV carries the device capability information of the first network device. The Link Identifier TLV carries the identifier of the first interface and the identifier of the second interface. The Link Attribute TLV carries the resource information of the first interface, the interface capability information of the first interface, and the cross-reachability information. Since different dimensions of topological resource information are carried by different TLVs, it helps the controller to identify and distinguish different topological resource information based on the types of different TLVs.

[0109] In a possible implementation, the Link Attribute TLV includes a Bandwidth TLV, a Time Slot TLV, a First TLV, and a Slice TLV. The Bandwidth TLV carries the bandwidth information of the first interface. The Time Slot TLV carries the time slot information of the first interface. The First TLV carries the cross-reachability information. The Slice TLV carries a slice identifier.

[0110] In a possible implementation, the link identifier TLV further carries a topology type identifier; alternatively, the control protocol message further carries a protocol identifier field, and the protocol identifier field or the flag field carries the topology type identifier, and both the protocol identifier field and the flag field are encapsulated outside the TLV.

[0111] In a possible implementation, the topology resource information further includes the identifier of a third network device, the identifier of a fourth network device, the identifier of a fifth interface, the identifier of a sixth interface, and the resource information of the fifth interface. The third network device includes the fifth interface, the fourth network device includes the sixth interface, and the fifth interface is connected to the sixth interface; wherein both the fifth interface and the sixth interface are interfaces capable of carrying small-granularity services, or both the fifth interface and the sixth interface are interfaces capable of carrying large-granularity services. Since the first network device not only reports the topology resources related to this device but also reports the topology resources related to other devices, the topology obtained by the controller is more complete and accurate, which helps to improve the accuracy of the controller in calculating large-granularity channels or small-granularity channels.

[0112] In a possible implementation, the first network device obtains topology resource information, including: the first network device receives the topology resource information flooded through the Interior Gateway Protocol (IGP). Since the topology resource information is flooded in the form of IGP flooding, the first network device can obtain the topology resource information corresponding to all devices in the network. Therefore, after the first network device reports the topology resource information, the controller can obtain the entire network topology. In addition, by using the method of flooding and centralized reporting, it is not necessary to require each device to establish a connection with the controller, and the number of connections that the controller needs to establish is small, so the overhead of the controller is small. Moreover, it can be compatible with general routing protocols and topology reporting protocols, which is convenient for protocol extension.

[0113] In a possible implementation, in response to detecting a change in topological resources, the first network device sends topological resource information to the controller, including at least one of the following: The first network device obtains the current state of the first interface, compares the current state of the first interface with the historical state of the first interface, and if the current state of the first interface is different from the historical state of the first interface, sends the topological resource information to the controller. The first network device obtains the current available resources of the first interface, compares the current available resources of the first interface with the historical available resources of the first interface, and if the current available resources of the first interface are different from the historical available resources of the first interface, sends the topological resource information to the controller. When the device detects that the state of the interface carrying large-granularity services or small-granularity services changes from the up state to the down state, it reports the topological resource information, thereby reducing the probability of the down-state interface participating in large-granularity path calculation or small-granularity path calculation, and further reducing the risk of transmission interruption of large-granularity services or small-granularity services caused by the down-state interface in the large-granularity path or small-granularity path. When the device detects that the state of the interface carrying large-granularity services or small-granularity services changes from the down state to the up state, it reports the topological resource information, and this topological resource information can indicate that the interface is in the up state, enabling the newly added up-state interfaces in the network to have a certain probability of participating in large-granularity path calculation or small-granularity path calculation, and improving the resource utilization rate of the interfaces that change to the up state. Since the topological resource information is reported when the resources change, it helps the resources allocated for the large-granularity channels or small-granularity channels to be more matched with the current actual resource occupancy of the network devices.

[0114] In a possible implementation, the first topology resource information includes first link information. For this case, the first network device may receive a second network device identifier and a second target interface identifier sent by a second network device. The second network device identifier is used to identify the second network device, and the second target interface identifier is used to identify a second target interface of the second network device for communicating with the first network device. Further, the first network device may obtain the first link information according to the first network device identifier, the first target interface identifier, the second network device identifier, and the second target interface identifier. The second network device identifier is used to identify the second network device, the second target interface identifier is used to identify a second target interface of the second network device for communicating with the first network device, and the first link information is used to indicate a first link between the first target interface and the second target interface. The first link is a link carrying large-granularity services or a link carrying small-granularity services. In other words, the first network device may obtain the first link information through interaction with the second network device and further send the first link information to the controller, thereby realizing automatic discovery and automatic reporting of link information.

[0115] In a possible implementation, the second network device may carry the foregoing second network device identifier and second target interface identifier in a first Link Layer Discovery Protocol (LLDP) message and send it to the first network device. In a specific example, the first LLDP message may include a second TLV, and the second TLV is used to carry the second network device identifier and the second target interface identifier. Correspondingly, the first network device may receive the first LLDP message sent by the second network device and parse the first LLDP message, so as to obtain the second network device identifier and the second target interface identifier from the parsed second TLV.

[0116] In a possible implementation, the second TLV may include a first sub-TLV and a second sub-TLV. The first sub-TLV is used to carry the second network device identifier, and the second sub-TLV is used to carry the second target interface identifier. After the first network node parses the first TLV, it may obtain the second target device identifier from the first sub-TLV and obtain the second target interface identifier from the second sub-TLV.

[0117] In a possible implementation, the second TLV may be an existing TLV in the LLDP message. For this case, it is possible to avoid extending new TLVs based on LLDP. As a specific example, the second TLV may be a vendor TLV. In a possible implementation, if the first link is a link carrying large granularity services, then: the first target interface identifier may be the first FlexE group identifier corresponding to the first network device, and the first FlexE group identifier is used to identify the first FlexE group corresponding to the first network device. Correspondingly, the second target interface identifier may be the second FlexE group identifier corresponding to the second network device, and the second FlexE group identifier is used to identify the second FlexE group corresponding to the second network device.

[0118] In a possible implementation, if the first link is a link carrying large granularity services. Then, in a specific example, the first link is a link between the first physical interface of the first network device and the second physical interface of the second network device. For this case:

[0119] In an example, the second network device may send the foregoing first LLDP message to the first network device through the overhead (OH) channel corresponding to the first link. Correspondingly, the first network device may receive the first LLDP message through the OH channel corresponding to the first link. The OH channel corresponding to the first link is used to carry the link information of the first link. Among them, the OH channel corresponding to the first link can be used to carry the link information of the first link, but not the link information of other links. Once the first link fails, the OH channel corresponding to the first link becomes unavailable. Correspondingly, the first network device cannot receive the first LLDP message sent by the second network device. In other words, if the first network device can receive the first LLDP message, it means that the first link is fault-free. Therefore, by using this method, the link information of the faulty link can be naturally not discovered, and the link information received by the first network device is the link information of the fault-free link. Among them, the link information of the first link may include at least one of the second network device identifier, the first target interface identifier, the second network device identifier, and the second target interface identifier.

[0120] In another example, the second network device may send the first LLDP packet to the first network device through a general OH channel. Among them, the link information of multiple links carrying large granularity services between the first network device and the second network device is all transmitted through the general OH channel. In other words, the general OH channel is no longer uniquely bound to a certain link carrying large granularity services. For this case, the first network device may receive the first LLDP packet through the general OH channel, so as to obtain the first network device identifier and the first target interface identifier.

[0121] In a possible implementation manner, considering that it is precisely because the general OH channel is no longer uniquely bound to a certain link, therefore, in order to enable the first network device to determine which link the received second network device identifier and the second target interface identifier specifically correspond to, the foregoing first LLDP packet may further include the identifier of the second physical interface. In this way, the first network device can determine that the second network device identifier and the second target interface identifier are for the link corresponding to the second physical interface based on the identifier of the second physical interface.

[0122] In a possible implementation manner, if the second network device sends the first LLDP packet to the first network device through the general OH channel, then when the first network device receives the first LLDP packet, it only indicates that the second physical interface of the second network device is fault-free, but does not indicate that the first link is fault-free. For this case, before the first network device combines the second network device identifier and the second target interface identifier, and its own first network device identifier and the first target interface identifier to obtain the first link information, it may first determine whether the first link is faulty. Specifically, as described above, if the first LLDP packet is sent to the first network device through the general OH channel, and the first LLDP packet includes the identifier of the second physical interface, then the first network device may determine the first physical interface connected to the second physical interface according to the identifier of the second physical interface. Further, the first network device may determine whether the first physical interface is faulty. Correspondingly, the first network device may determine whether the first link is faulty according to whether the first physical interface is faulty. For example, if the first physical interface is faulty, it is determined that the first link is faulty; if the first physical interface is fault-free, it is determined that the first link is fault-free. After the first network device determines that the first link is fault-free, it combines the second network device identifier and the second target interface identifier, and its own first network device identifier and the first interface identifier to obtain the first link information.

[0123] In a possible implementation, the second network device may further determine the link attributes of the first link, so as to further send the link attributes of the first link and the first link information to the controller. Among them, the link attributes of the first link are also part of the foregoing first topology resource information. If the first link is a link carrying large-granularity services, the link attributes of the first link may include the identifier of the first physical interface, the identifier of the second physical interface, the additional attributes of the first physical interface, and the additional attributes of the second physical interface. Among them, the additional attributes of the first physical interface include at least one attribute of the first physical interface. Similarly, the additional attributes of the second physical interface include at least one attribute of the second physical interface.

[0124] In a possible implementation, if any physical interface is referred to as a target physical interface, the additional attributes of the target physical interface may include the large-granularity capability supported by the target physical interface, the configured bandwidth of the target physical interface, the remaining bandwidth of the target physical interface, and the available time slots of the target physical interface. Among them: The configured bandwidth of the target physical interface can be understood as the total bandwidth of the target physical interface; the remaining bandwidth of the target physical interface refers to the bandwidth that has not been occupied by services or reserved for specific services; the available time slots of the target physical interface refer to the time slots that have not been allocated to services. The large-granularity capability supported by the target physical interface refers to the capability related to carrying large-granularity services.

[0125] In a possible implementation, the large-granularity capability supported by the target physical interface may include: the particle carrying capability supported by the target physical interface, the cross-physical layer (PHY) bundling capability, the dynamic large-granularity channel capability, the static large-granularity channel capability, and the large-granularity time slot following capability. Among them: The particle carrying capability supported by the target physical interface is used to indicate the bandwidth granularity corresponding to the time slots carrying large-granularity services. The cross-PHY bundling capability is used to indicate the capability of bundling and using the time slots corresponding to different PHYs included in the FlexE group. The dynamic large-granularity channel capability is used to indicate whether it can participate in the calculation of the dynamic end-to-end path. Among them, if the target physical interface has the dynamic large-granularity channel capability, it means that the target physical interface supports participating in the calculation of the dynamic end-to-end path. The dynamic end-to-end path mentioned here refers to the path carrying large-granularity services. The static large-granularity channel capability indicates whether a static end-to-end path can be established through static configuration. Among them, if the target physical interface has the static large-granularity channel capability, it means that the target physical interface can establish a static end-to-end path through static configuration. The static end-to-end path mentioned here refers to the path carrying small-granularity services. The large-granularity time slot following capability refers to automatically following the upstream large-granularity time slot configuration, so that communication can be established between the local end and the upstream.

[0126] In a possible implementation, the second network device may send the additional attributes of the second physical interface to the first network device. Correspondingly, the first network device may receive the additional attributes of the second physical interface sent by the second network device. In other words, the way for the first network device to obtain the additional attributes of the second physical interface is to receive the additional attributes of the second physical interface sent by the second network device.

[0127] In a possible implementation, the second network device may carry the additional attributes of the foregoing second physical interface in the foregoing first LLDP packet and send it to the first network device. For this case, through one LLDP packet, the second network device can send the second network device identifier, the second target interface identifier, and the additional attributes of the second physical interface to the second network device. In a possible implementation, the additional attributes of the second physical interface may be carried by the foregoing second TLV. In some scenarios, the second TLV may include a third sub-TLV, and the third sub-TLV is used to carry the large-granularity capabilities supported by the second physical interface. For example, the value field of the third sub-TLV may include indication bits corresponding to the foregoing large-granularity capabilities respectively.

[0128] In a possible implementation, if the large-granularity time slot following capability indicates that the target physical interface has the ability to automatically follow the upstream large-granularity time slot configuration, then this large-granularity time slot following capability can also be used to indicate the following method for the target physical interface to automatically follow the upstream large-granularity time slot configuration. The following methods include: following through data-plane packets and / or following through control-plane packets. Herein, following through data-plane packets means interacting with the upstream network device through data packets to achieve following the upstream time slot configuration; following through control-plane packets means interacting with the upstream network device through control packets to achieve following the upstream time slot configuration. In this way, the first network device can determine the following method for the second physical interface to automatically follow the upstream large-granularity time slot configuration. Correspondingly, in the time slot negotiation phase, the first network device can select a corresponding time slot negotiation method to negotiate time slots with the second network device.

[0129] In a possible implementation, in addition to including the third sub-TLV, the first TLV may further include a first bandwidth sub-TLV and a first time slot sub-TLV. The first bandwidth sub-TLV is used to carry the configured bandwidth of the second physical interface and the remaining bandwidth of the second physical interface; the first time slot sub-TLV can be used to carry the available time slots of the second physical interface. Of course, the configured bandwidth of the second physical interface and the remaining bandwidth of the second physical interface may also be carried by different bandwidth sub-TLVs respectively, and the embodiments of the present application do not make specific limitations.

[0130] In a possible implementation, when the first network device and the second network device are deployed with the large-granularity technology, the first FlexE group of the first network device may include multiple physical interfaces. For example, it may include the aforementioned first physical interface and the third physical interface. Correspondingly, the second FlexE group of the second network device may include multiple physical interfaces. For example, it may include the aforementioned second physical interface and the fourth physical interface. For this case, the link between the aforementioned first target interface and the second target interface may further include a second link between the third physical interface and the fourth physical interface. For this case, the second network device may further send a second LLDP message to the first network device, and the second LLDP message includes the second network device identifier and the second target interface identifier. Correspondingly, after receiving the second LLDP message, the first network device may obtain second link information based on the second network device identifier, the second target interface identifier, the local first network device identifier, and the first target interface identifier in the second LLDP message. This second link information is the same as the first link information and also includes a quadruple, namely: the first network device identifier, the first target interface identifier, the second network device identifier, and the second target interface identifier. In addition, the first network device may further determine the link attributes of the second link. Among them, the link attributes of the first link may include: the identifier of the third physical interface, the identifier of the fourth physical interface, the additional attributes of the third physical interface, and the additional attributes of the fourth physical interface. Specifically, the first network device may obtain the additional attributes of the third physical interface locally and receive the additional attributes of the fourth physical interface sent by the second network device.

[0131] In a possible implementation, after obtaining the first link information, the second link information, the link attributes of the first link, and the link attributes of the second link, the first network device may merge the first link information, the second link information, the link attributes of the first link, and the link attributes of the second link to obtain target link information and target link attributes. Among them, the target link information and the target link attributes both belong to the aforementioned first topology resource information. Or rather, the first topology resource information includes the target link information and the target link attributes. As mentioned above, the first link information and the second link information are the same. Therefore, the first link information and the second link information can be combined into one, that is: the target link information may be the first link information. Correspondingly, the target link attributes include the link attributes of the first link and the link attributes of the second link. Thus, the first network device may obtain the target link information and the target link attributes between the first FlexE group of the first network device and the second FlexE group of the second network device.

[0132] In a possible implementation, if the first link is a link for carrying small particle services, the first target interface may be the first client included in the first network device. Correspondingly, the first target interface identifier may be the first client identifier. Correspondingly, the second target interface may be the second client included in the second network device, and the second target interface identifier may be the second client identifier.

[0133] In a possible implementation, considering that the index of the first client is unique on the first network device and it can identify the first client, therefore, the first client identifier may be the index of the first client. Similarly, the second client identifier may be the index of the second client.

[0134] In a possible implementation, considering that the first network device may include multiple FlexE groups, each FlexE group may include multiple clients, each client may correspond to a transmission identifier, and the transmission identifier is unique within the FlexE group. The transmission identifiers of the clients included in different FlexE groups may be the same. Therefore, the combination of the FlexE group and the transmission identifier corresponding to the client is unique on the first network device. Therefore, in one example, the first client identifier may also be determined according to the transmission identifier of the first client and the identifier of the FlexE group to which the first client belongs. Similarly, the second client identifier may also be determined according to the transmission identifier of the second client and the identifier of the FlexE group to which the second client belongs.

[0135] In a possible implementation, considering that the client has interface attributes, the network device may assign an interface index (ifindex) to the clients it includes, and the ifindex is unique on the network device. Therefore, the first client identifier may be the interface index of the first client. Similarly, the second client identifier may be the interface index of the second client.

[0136] In a possible implementation, if the small particle technology is implemented by directly dividing time slots of a physical port, considering that the physical interface of the first client obtained by division is unique on the first network device, therefore, the first client identifier may be the identifier of the physical interface obtained by dividing the first client. Similarly, the second client identifier may be the identifier of the physical interface obtained by dividing the second client.

[0137] In a possible implementation, if the first link is a link carrying small particle services. Then in a specific example, the first link is a link between the first client of the first network device and the second client of the second network device. For this case:

[0138] In an example, the second network device may send a first LLDP message to the first network device through the general communication channel (GCC) corresponding to the first link. Correspondingly, the first network device may receive the first LLDP message through the GCC corresponding to the first link. In this scenario, the GCC corresponding to the first link can be used to carry the link information of the first link, rather than the link information of other links. Once the first link fails, the GCC corresponding to the first link becomes unavailable. Correspondingly, the first network device cannot receive the first LLDP message sent by the second network device. In other words, if the first network device can receive the first LLDP message, it means that the first link is fault-free. Therefore, in this way, the link information of the faulty link can be naturally not discovered, and the link information received by the first network device is the link information of the fault-free link.

[0139] In another example, there may be a general GCC between the first network device and the second network device, and the link information of multiple links carrying small particle services between the first network device and the second network device is transmitted through the general GCC. In this scenario, the general GCC is no longer uniquely bound to a link carrying small particle services. For this case, the second network device may send a first LLDP message to the first network device through the general GCC. Correspondingly, the first network device may receive the first LLDP message through the general GCC.

[0140] In a possible implementation, since the general GCC is no longer uniquely bound to a certain link, in order for the first network device to determine which link the received second network device identifier and the second target interface identifier specifically correspond to, the foregoing first LLDP packet may further include the transmission identifier of the second client. In this way, the first network device can determine, based on the transmission identifier of the second client, that the second network device identifier and the second target interface identifier correspond to the link associated with the second client. The transmission identifier of the second client is the same as the transmission identifier of the first client. Therefore, the first network device can determine the first client based on the transmission identifier of the second client, and further locate the first link as the link connected to the first client.

[0141] In a possible implementation, if the first network device can send the first LLDP packet to the second network device through the general GCC, then when the second network device receives the first LLDP packet, it only indicates that the first client of the first network device is fault-free, but does not indicate that the first link is fault-free. For this situation, before the second network device obtains the first link information by combining the first network device identifier and the first interface identifier, and its own second network device identifier and second interface identifier, it can first determine whether the first link is faulty. Specifically, as described above, if the first LLDP packet is sent to the second network device through the general GCC, the first LLDP packet includes the identifier of the first client, then the second network device can determine the second client connected to the first client based on the identifier of the first client. Further, the second network device can determine whether the second client is faulty, and further determine whether the second link is faulty. For example, if the second client is fault-free, the second network device can determine that the first link is fault-free; if the second client is faulty, the second network device can determine that the first link is faulty. After the second network device determines that the first link is fault-free, it can further obtain the first link information by combining the first network device identifier and the first interface identifier, and its own second network device identifier and second interface identifier.

[0142] In a possible implementation, the first network device may further determine the link attributes of the first link, so as to further send the link attributes of the first link and the first link information to the controller. Correspondingly, the controller may calculate an end-to-end path for the service based on the first link information and the link attributes of the first link. Wherein, the link attributes of the first link are part of the foregoing first topology resource information. In some embodiments, the first link is a link carrying small-granularity services. In this case, the link attributes of the first link may include the identifier of the first client, the identifier of the second client, the additional attributes of the first client, and the additional attributes of the second client. The additional attributes of the first client include at least one attribute of the first client. Similarly, the additional attributes of the second client include at least one attribute of the second client.

[0143] In a possible implementation, if any client is referred to as the target client, the target client may be the first client, or the second client, or the third client, or the fourth client. Then, the additional attributes of the target client include one or more of the following: the small-granularity capabilities supported by the target client, the configured bandwidth of the target client, the remaining bandwidth of the target client, and the available sub-slots of the target client. Wherein: the configured bandwidth of the target client can be understood as the total bandwidth of the target client; the remaining bandwidth of the target client refers to the bandwidth that has not been occupied by services or reserved for specific services; the available time slots of the target client refer to the time slots that have not been allocated to services; the small-granularity capabilities supported by the target client refer to the capabilities related to carrying small-granularity services.

[0144] In a possible implementation, the small-granularity capabilities supported by the target client include one or more of the following: whether the target client supports small-granularity technology, dynamic small-granularity channel capabilities, static small-granularity channel capabilities, and small-granularity time-slot following capabilities. Among them, the target client having the dynamic small-granularity channel capabilities indicates that the target client can participate in the calculation of the dynamic end-to-end path; the target client having the static small-granularity channel capabilities indicates that the target client can establish a static end-to-end path through static configuration. Both the dynamic end-to-end path and the static end-to-end path are paths carrying small-granularity services. The small-granularity time-slot following capabilities are used to indicate whether the target client has the ability to automatically follow the upstream small-granularity time-slot configuration.

[0145] In a possible implementation manner, the second network device may send the additional attributes of the second client to the first network device. In other words, the way for the first network device to obtain the additional attributes of the second client may be: receiving the additional attributes of the second client sent by the second network device.

[0146] In a possible implementation manner, the second network device may carry the additional attributes of the second client in the first LLDP packet and send it to the first network device. For this case, through one LLDP packet, the second network device can send the second network device identifier, the second target interface identifier, and the additional attributes of the second client to the first network device. As a specific example, the additional attributes of the second client may be carried by the first TLV.

[0147] In a specific example, the first TLV may include a fourth sub-TLV, and the fourth sub-TLV is used to carry the small particle capabilities supported by the second client. For example, the value field of the fourth sub-TLV may include indication bits corresponding to the foregoing various small particle capabilities respectively.

[0148] In a specific example, in addition to including the fourth sub-TLV, the first TLV may further include a second bandwidth sub-TLV and a second time slot sub-TLV. The second bandwidth sub-TLV is used to carry the configured bandwidth of the second client and the remaining bandwidth of the second client; the second time slot sub-TLV may be used to carry the available time slots of the second client. Of course, the configured bandwidth of the second client and the remaining bandwidth of the second client may also be carried by different bandwidth sub-TLVs respectively, and the embodiments of the present application do not make specific limitations.

[0149] In a possible implementation manner, the second network device may carry the additional attributes of the second client in an operation administration and maintenance (OAM) code block and send it to the first network device. For this case, the first network device may obtain the additional attributes of the second client by parsing the OAM code block.

[0150] In a possible implementation, if the small-granularity time slot following ability indicates that the target client has the ability to automatically follow the upstream small-granularity time slot configuration, then the small-granularity time slot following ability also indicates the following mode for the target client to automatically follow the upstream small-granularity time slot configuration. The following modes include: following through data-plane messages and / or following through control-plane messages. In this way, if the target client is the second client, the first network device can determine the following mode for the second client to automatically follow the upstream large-granularity time slot configuration. Correspondingly, in the time slot negotiation phase, the first network device can select the corresponding time slot negotiation method to negotiate time slots with the second network device.

[0151] Among them, for the specific implementation of the controller sending the first control protocol message to the first node and the controller sending the second control message to the second node, reference can be made to the relevant description of the first aspect above, and no repeated description will be given here. BRIEF DESCRIPTION OF THE DRAWINGS

[0152] Figure 1a Schematic diagram of an SPN architecture supporting small-granularity technology provided by an embodiment of the present application;

[0153] Figure 1b Schematic diagram of a network architecture provided by an embodiment of the present application;

[0154] Figure 1c Schematic diagram of a network structure provided by an embodiment of the present application;

[0155] Figure 1d Schematic diagram of static configuration information provided by an embodiment of the present application;

[0156] Figure 2 Schematic diagram of a flow of a path information processing method provided by an embodiment of the present application;

[0157] Figure 3a Schematic diagram of a structure of a CCI object provided by an embodiment of the present application;

[0158] Figure 3b Schematic diagram of a path establishment type capability sub-TLV provided by an embodiment of the present application;

[0159] Figure 3c Schematic diagram of a structure of a first vendor TLV provided by an embodiment of the present application;

[0160] Figure 3d Schematic diagram of a structure of a second vendor TLV provided by an embodiment of the present application;

[0161] Figure 4a Schematic diagram of an exemplary application scenario provided by an embodiment of the present application;

[0162] Figure 4b It is a schematic flowchart of a path information processing method provided by an embodiment of this application;

[0163] Figure 5a It is a schematic diagram of another exemplary application scenario provided by an embodiment of this application;

[0164] Figure 5b It is a schematic flowchart of a path information processing method provided by an embodiment of this application;

[0165] Figure 6a It is a schematic diagram of an exemplary application scenario provided by an embodiment of this application;

[0166] Figure 6b It is a schematic flowchart of a path information processing method provided by an embodiment of this application;

[0167] Figure 7a It is a schematic diagram of another exemplary application scenario provided by an embodiment of this application;

[0168] Figure 7b It is a schematic flowchart of a path information processing method provided by an embodiment of this application;

[0169] Figure 8a It is a schematic diagram of the structure of a path information processing device provided by an embodiment of this application;

[0170] Figure 8b It is a schematic diagram of the structure of another path information processing device provided by an embodiment of this application;

[0171] Figure 9 It is a schematic diagram of the structure of a path information processing device provided by an embodiment of this application;

[0172] Figure 10 It is a schematic diagram of the structure of another path information processing device provided by an embodiment of this application;

[0173] Figure 11 It is a schematic diagram of the structure of a communication system provided by an embodiment of this application;

[0174] Figure 12 It is a flowchart of a method for reporting topology resource information provided by an embodiment of this application;

[0175] Figure 13 It is a schematic diagram of a scenario for reporting topology resource information point by point provided by an embodiment of this application;

[0176] Figure 14 It is a schematic flowchart of another method for reporting topology resource information provided by an embodiment of this application;

[0177] Figure 15 A schematic diagram of a scenario for flooding and centrally reporting topology resource information provided by an embodiment of this application;

[0178] Figure 16 A schematic diagram of the process flow of another method for reporting topology resource information provided by an embodiment of this application;

[0179] Figure 17 A schematic diagram of the internal connectivity of a topology provided by an embodiment of this application;

[0180] Figure 18 A schematic diagram of the format of a protocol message provided by an embodiment of this application;

[0181] Figure 29a A schematic diagram of a FlexE group Index TLV provided by an embodiment of this application;

[0182] Figure 20 A schematic diagram of the format of a maximum link bandwidth TLV provided by an embodiment of this application;

[0183] Figure 21 A schematic diagram of the format of a maximum reservable link bandwidth TLV provided by an embodiment of this application;

[0184] Figure 22 A schematic diagram of the format of a time slot TLV provided by an embodiment of this application;

[0185] Figure 23 A schematic diagram of a slice TLV provided by an embodiment of this application;

[0186] Figure 24 A schematic diagram of the format of a link local unconnected identifier TLV provided by an embodiment of this application;

[0187] Figure 25 A schematic diagram of the format of an LS capability TLV provided by an embodiment of this application;

[0188] Figure 26 A schematic diagram of the format of an L2bundle TLV provided by an embodiment of this application;

[0189] Figure 27 Another schematic diagram of the format of an L2bundle TLV provided by an embodiment of this application;

[0190] Figure 28Schematic flowchart of an information processing method provided by an embodiment of this application.

[0191] Figure 29a Schematic diagram of the structure of a vendor TLV provided by an embodiment of this application;

[0192] Figure 29b Schematic diagram of an exemplary application scenario provided by an embodiment of this application;

[0193] Figure 29c Schematic diagram of the structure of a vendor TLV provided by an embodiment of this application;

[0194] Figure 29d Schematic diagram of another exemplary application scenario provided by an embodiment of this application;

[0195] Figure 29e Schematic diagram of an exemplary application scenario provided by an embodiment of this application;

[0196] Figure 29f Schematic diagram of another exemplary application scenario provided by an embodiment of this application;

[0197] Figure 29g Schematic diagram of the structure of a vendor TLV provided by an embodiment of this application;

[0198] Figure 29h Schematic diagram of an OAM code block provided by an embodiment of this application;

[0199] Figure 30a Schematic diagram of an exemplary application scenario provided by an embodiment of this application;

[0200] Figure 30b Schematic flowchart of an information processing method provided by an embodiment of this application;

[0201] Figure 30c Schematic flowchart of an information processing method provided by an embodiment of this application;

[0202] Figure 30d Schematic diagram of the structure of a vendor TLV provided by an embodiment of this application;

[0203] Figure 31a Schematic diagram of an exemplary application scenario provided by an embodiment of this application;

[0204] Figure 31b Schematic flowchart of an information processing method provided by an embodiment of this application;

[0205] Figure 31c Schematic flowchart of an information processing method provided by an embodiment of this application;

[0206] Figure 31d A schematic structural diagram of a manufacturer TLV provided by an embodiment of the present application;

[0207] Figure 32 A schematic diagram of the technical architecture of a communication system provided by an embodiment of the present application;

[0208] Figure 33 A schematic diagram of the technical architecture of a network device provided by an embodiment of the present application. Detailed implementation manners

[0209] An embodiment of the present application provides a path information processing method, which can improve the service quality provided for services.

[0210] Before introducing the path information processing method provided by the embodiment of the present application, first introduce the technologies and / or terms related to the present application.

[0211] The large-granularity technology and the small-granularity technology are two relative concepts. They correspond to different bandwidth granularities for carrying customer services. The large-granularity technology has a larger bandwidth granularity for carrying customer services, and the small-granularity service has a smaller bandwidth granularity for carrying customer services.

[0212] The large-granularity technology can correspond to different technical terms in different standards. Correspondingly, the small-granularity technology can correspond to different technical terms in different standards. As an example, the large-granularity technology can be called flexible ethernet (FlexE) technology; as another example, the large-granularity technology can be called metro transport network (MTN) technology. Correspondingly, the small-granularity technology can be called finegrained MTN (fgMTN) technology. As another example, the large-granularity technology can be called slicing packet network (SPN), and correspondingly, the small-granularity technology can be called SPN2.0 technology or fine grained unit (FGU) technology.

[0213] Next, introduce the technical terms related to the large-granularity technology and the small-granularity technology.

[0214] FlexE group: Each FlexE group includes one or more PHYs. When multiple PHYs are included, the multiple PHYs are physically independent. A network device applying FlexE technology can identify which PHYs are included in a FlexE group by the numbers of the PHYs to achieve logical bundling of multiple PHYs. For example, the number of each PHY can be identified by a number between 1 and 254, and 0 and 255 are reserved numbers. The number of a PHY can correspond to an interface on the network device. The same number needs to be used to identify the same PHY between two adjacent network devices. The numbers of each PHY included in a FlexE group do not have to be consecutive. Usually, there is one FlexE group between two network devices, but this application does not limit that there is only one FlexE group between two network devices, that is, there can also be multiple FlexE groups between two network devices. One PHY can be used to carry at least one client, and one client can be transmitted on at least one PHY. FlexE can support mapping and transmission of any number of different FlexE clients on any group of PHYs, so as to achieve functions such as PHY bundling, channelization, and sub-rate. Among them, in the MTN technology, the FlexE group can be called the MTN Section (MTNS) group.

[0215] FlexE client: Corresponds to various user interfaces or bandwidths of the network. The FlexE client represents the customer data stream transmitted on the specified time slots (one or more time slots) on the FlexE Group. Multiple FlexE clients can be carried on one FlexE Group, and one FlexE client can correspond to one to multiple user service data streams (which can also be called MAC clients). The FlexE client can be flexibly configured according to bandwidth requirements and supports Ethernet media access control (MAC) data streams of various rates (such as 10G, 40G, n*25G data streams, and even non-standard rate data streams). For example, the data stream can be transmitted to the FlexE shim layer in the form of 64B / 66B encoding. Customers sent through the same FlexE group need to share the same clock, and these customers need to be adapted according to the allocated time slot rate. In this application, the service data stream of the corresponding FlexE client can be transmitted through the FlexE client (which can also be called the FlexE client interface). The FlexE client interface is a logical interface. Each FlexE interface can be logically divided into one or more FlexE client interfaces. Each FlexE interface can be divided into multiple time slots in the time domain, and each FlexE client interface occupies at least one of the multiple time slots. Among them: 64 / 66B means that the data code block includes 66 bits. The first two bits of the 66 bits are synchronization bits, and the last 64 bits are data bits. In the Physical Coding Sublayer (PCS), the 64 / 66B can be extracted through the first two synchronization bits. Among them, in the MTN technology, the FlexE client can be called the MTN channel (MTN path, MTNP) or the MTNS client.

[0216] FlexE shim: As an additional logical layer inserted between the MAC and PHY (PCS) in the traditional Ethernet architecture, it is the core architecture for implementing the FlexE technology based on the time slot distribution mechanism. For the transmitting end, the main function of the FlexE shim is to encapsulate data into pre-divided time slots (slots). Then, according to the FlexE time slot table, each divided time slot is mapped to the PHY in the FlexE group for transmission. Among them, each time slot is mapped to a PHY in the FlexE group. Taking the 100GE PHY as an example, the FlexE Shim layer can divide each 100GE PHY in the FlexE Group into 20 data-bearing channels of time slots (slots), and the bandwidth corresponding to each slot is 5Gbps. Each time the PHY sends 1023 * 20 Slot of 64 / 66B data, a FlexE overhead (OH) will be inserted to inform the receiving end how to parse the received data.

[0217] Small-granularity services: In some embodiments, the slot corresponding to the large bandwidth can be further divided into multiple sub-slots for carrying customer services with smaller bandwidth requirements, and the above services are also called small-granularity services. For example, the above large bandwidth can be understood as the bandwidth corresponding to the service layer of the small-granularity service. For example, when the service layer of the small-granularity service is the MTN channel layer, the bandwidth of the MTN channel layer is 5Gbps. The slot corresponding to the large bandwidth of 5Gbps is further divided at a granularity of 10Mbps into 480 sub-slots, and these 480 sub-slots are used to carry small-granularity services. For example, the 1st sub-slot, the 3rd sub-slot, and the 5th sub-slot among these 480 sub-slots are used to carry small-granularity service 1. Another example is that when the service layer of the small-granularity service is the 10GE Ethernet physical layer, the corresponding large bandwidth is further divided into multiple sub-slots at a finer granularity for carrying small-granularity services. Thus, it can be seen that the bandwidth granularity of small-granularity is finer. For example, the bandwidth requirement of the power dedicated line service is 10Mbps. At this time, the small-granularity technology can be used to allocate a specified bandwidth for the power dedicated line service to carry the service traffic of the power dedicated line service, and the above power dedicated line service is a kind of small-granularity service.

[0218] Among them, when transmitting fine-grained services, for the sender, in one example, the FlexE shim can encapsulate data into pre-divided sub-slots for transmission according to the time slot configuration of the fine-grained services. For the receiver, the FlexE shim can restore the data received through the slot with a corresponding bandwidth of 5 Gbps into the original fine-grained service data according to the time slot configuration of the fine-grained services and continue the transmission. In another example, for the sender, the data can be encapsulated into the corresponding sub-slots for transmission by using the MTN path adaptation function. For the receiver, the data received through the slot with a corresponding bandwidth of 5 Gbps can be restored into the original fine-grained service data by using the MTN path adaptation function and continue the transmission. In one example, the fine-grained service data can be carried in the fine granularity unit (FGU) base frame. In one example, the fine granularity unit can also be referred to as the fine granularity basic unit (fgBU), and the two can be used interchangeably in the following description.

[0219] Regarding the FlexE OH insertion method and the structure of the overhead frame, in a specific implementation, the relevant description part of FlexE in the optical internetworking forum (OIF) can be referred to, and details are not described here.

[0220] Next, a possible SPN architecture supporting fine-grained technology is introduced. Refer to Figure 1a , which is a schematic diagram of an SPN architecture supporting fine-grained technology provided by an embodiment of this application.

[0221] As Figure 1a shown, the SPN architecture includes a slicing packet layer (SPL), a slicing channel layer (SCL), a slicing transport layer (STL), a software defined network (SDN) slice control plane integrating management and control, and an ultra-high-precision time and frequency synchronization technology.

[0222] The SCL includes an FGU layer, an MTN channel (MTN path, MTNP) layer, and an MTN section (MTN Section, MTNS) layer. The FGU layer provides an end-to-end deterministic low-latency N*10 Mbps granular hard slice channel for small granularity services. The FGU layer is an independent sub-layer and can be flexibly selected to be carried on the MTN channel layer or the Ethernet physical layer as needed. In other words, the service layer of the FGU layer can be either the MTN channel layer or the Ethernet physical layer.

[0223] Based on the original high-speed Ethernet physical layer interface, the STL has added a 10GE Ethernet physical layer interface. The 10GE Ethernet physical layer can be applied to customer-premises equipment (CPE) scenarios and directly carry the FGU layer.

[0224] Next, taking the MTN channel layer carrying small granularity services as an example, the MTNS and MTNP are introduced from the perspectives of the sending-side behavior and the receiving-side behavior.

[0225] First, the sending-side behavior and the receiving-side behavior of the MTNS are introduced.

[0226] In an example, taking 100GBASE-R PHY as an example, the MTNS provides a point-to-point connection, is responsible for time-slotting adjacent nodes connected by Ethernet PHYs, and provides functions such as binding, sub-rate, and channelization. The MTNS is bidirectional and symmetric. Here, an example is given for one data transmission direction for illustration.

[0227] On the sending side, the MTNS inserts a special O block into the 66B block sequence, inserts a D block after an interval of 1023*20 66B blocks, inserts a D block after every 1023*20 66B blocks, and a total of 7 D blocks need to be inserted. After inserting the 7th D block, after an interval of 1023*20 blocks, a special O block is inserted. In this way, a total of 8*(1023*20 + 1) blocks form an MTNS frame. The O block plus the aforementioned 7 D blocks constitute the overhead of the MTNS frame. The overhead carries some point-to-point link configuration information indicating the MTNS, such as time-slot configuration information, section layer group configuration information, and so on.

[0228] MTNS continuously sends data to the receiving end according to the above frame structure. The continuous MTNS frames are equivalent to a 66B code block stream, which is converted into bits, optical signals, or other analog signals such as electrical pulses according to the lower PHY layer protocol defined by the Institute of Electrical and Electronics Engineers (IEEE) 802.3 and sent out from the transmitting side device.

[0229] At the receiving end, first, according to the protocol of the Ethernet lower PHY layer, the received signal (such as bits, optical signals, or other analog signals such as electrical pulses) locks the frame header of the MTNS frame by identifying the O code block, and it can be known according to the fixed count that the next overhead code block appears after 1023 * 20 code blocks. Correspondingly, the receiving end can determine the positions of the data corresponding to each time slot in the received signal according to the O code block.

[0230] MTNS can only provide point-to-point connections, while MTNP is responsible for providing "end-to-end channel connections" from the network entrance to the network exit. MTNP provides end-to-end rigid hard pipe connections and provides operation, administration, maintenance, and protection (OAM&P) functions. A typical networking of MTNP can be referred to Figure 1b as shown Figure 1b which is a schematic diagram of a network architecture provided by an embodiment of this application.

[0231] Next, in combination with Figure 1b the sending-side behavior and receiving-side behavior of MTNP will be introduced.

[0232] As Figure 1b shown, an end-to-end MTNP is included between provider edge (PE) 1 and PE2, and a point-to-point MTNS is included between PE1 and PE2.

[0233] On the network to network interface (NNI) side of PE1, the MTNP layer obtains the customer signal from the MAC layer, and this customer signal can be a MAC frame. The MAC mentioned here can be the processing module of the MAC layer. After the MTNP layer obtains the MAC frame, it encodes the MAC frame into a sequence of 64 / 66B code blocks. Specifically, each MAC frame will be encoded into a sequence of 66B code blocks bounded by a start code block (S code block) and an end code block (i.e., T code block). A series of MAC frame sequences will be encoded into a series of 66B code block sequences. Then, PE1 can complete the MTNP OAM insertion in the MTNP. After PE1 completes the MTNP OAM insertion in the MTNP, it maps the 66B code block sequence containing the OAM code block to the pre-configured and specified MTNS time slot. Subsequently, PE1 sends the data out according to the behavior of the MTNS sending side described above.

[0234] In one example, if there is no valid MAC frame waiting to be sent, then the MTNP fills the 66B code block with I code blocks to ensure that there is always data being sent in the hard pipeline of the MTNP.

[0235] On the receiving side of the P node, first, according to the receiving side behavior of the MTNS described above, it identifies the MTNS frame. Subsequently, according to the pre-configuration, it recovers the MTNP data from the specified MTNS time slot. The P node then performs MTNP forwarding. It should be noted here that the essential difference between MTNP forwarding and IP forwarding and MAC bridge forwarding is that MTNP forwarding monopolizes the device forwarding resources and does not support statistical multiplexing. The same number of MTNS time slots need to be configured at both the entrance and the exit of the network node (such as the P node).

[0236] As described above, in some embodiments, the slot corresponding to the large bandwidth can be further divided into multiple sub-slots for carrying small-granularity services. For example, a slot with a corresponding bandwidth of 5 Gbps is further divided at a granularity of 10 Mbps into 480 sub-slots, and these 480 sub-slots are used to carry small-granularity services. In this case, the MTNFGU further divides 480 time slots of 10 Mbps in the 5-Gbps MTNP in a hierarchical manner. In this scenario, the MTNP and the MTN FGU can be decoupled, and at this time, the MTNP serves as the service layer of the MTN FGU. In an example, a fine-grained basic unit (fg-BU) is the basic unit for the FGU to carry information. The fg-BU may include FGU base frame overhead and FGU base frame payload. Among them, the FGU base frame overhead can be used to carry the time slot information of small granules, and the FGU base frame payload is used to carry the small-granularity service data. Among them, the time slot information of small granules can be the mapping relationship between sub-slots and sub-clients. The sub-client is similar to the FlexE client and also corresponds to various user interfaces or bandwidths of the network. The difference from the FlexE client is that the sub-client represents the client data stream transmitted on the sub-slot, and one sub-client can correspond to one or more sub-slots.

[0237] For the scenario of further dividing a slot with a corresponding bandwidth of 5 Gbps at a granularity of 10 Mbps, in an example, an FGU base frame may include 24 sub-time slots, each sub-time slot includes 65 bytes, and each sub-time slot can carry 8 code blocks of 65 bits. In other words, the aforementioned base frame payload may include 65 * 24 = 1560 bytes. 20 FGU base frames form a multiplexed frame, and 24 × 20 = 480 sub-time slots are provided within the multiplexed frame. For the NNI transmission side of PE1, the MTN FGU layer, like the MTNP, first encodes the MAC frame client signal into a 66B code block sequence and then inserts OAM code blocks. It should be noted at this time that the OAM code blocks inserted in the MTN FGU layer are the OAM code blocks of the small-granularity MTNP (fgMTNP), rather than the OAM code blocks of the MTNP. Subsequently, a series of 66B code block sequences containing fgMTNP OAM code blocks are mapped into the 10-Mbps time slots specified according to the pre-configuration in the fg-BU.

[0238] The fgBU sequence itself is actually a string of 66B code blocks, which can be equivalent to the customer signal of MTNP. After inserting the MTNP OAM code blocks, according to the behavior of the MTNP transmitting side described above, it is mapped into the time slots specified by MTNS.

[0239] On the receiving side of the P node, according to the behavior of the MTNP receiving side described above, the MTNP signal is restored, and then the OAM code blocks in the MTNP are extracted. After the receiving side of the P node restores the MTNP signal, the framing of fg-BU can be completed by searching for the S code blocks.

[0240] The P node performs fgMTNP forwarding. The fgMTNP forwarding is the same as the MTNP forwarding, both are TDM forwarding, exclusive device forwarding resources, and do not support statistical multiplexing. The P node will not terminate the OAM code blocks of fgMTNP.

[0241] The behavior of the transmitting side of the P node is the reverse process of the behavior of the receiving side of the P node, which will not be described in detail here. In addition, the behavior of the receiving side of the PE2 node is the reverse process of the behavior of the transmitting side of the PE1 node, which will not be described in detail this time.

[0242] Regarding Figure 1a For other content in the SPN architecture shown, reference can be made to the relevant descriptions in the China Mobile SPN small-granularity white paper, which will not be described in detail here.

[0243] Although in the above description, the MAC frame is encoded using the 64 / 66B encoding method, the above is only shown as a possible implementation method, and the encoding technology used to encode the MAC frame is not limited to the 64 / 66B described above. For example, the MAC frame can also be encoded using the 64 / 65B encoding method; another example is that the MAC frame can also be encoded using the 256 / 257B encoding method, etc., which will not be listed one by one here. Currently, if large-granularity technology is to be deployed in the network, the path carrying large-granularity services can be configured through static configuration. Correspondingly, if small-granularity technology is to be deployed in the network, the path carrying small-granularity services can be configured through static configuration.

[0244] Next, taking the small-granularity technology as an example, the current way of deploying small-granularity technology will be introduced.

[0245] Step 1: The controller can obtain the static physical layer topology.

[0246] Among them, the static network topology can be understood as the network topology reported by the node to the controller based on the configuration information obtained by the controller by sending the configuration information for obtaining the network topology to the node.

[0247] Step 2: The controller can calculate the end-to-end path for services based on the static physical layer topology. Refer to Figure 1c for understanding. Figure 1c This is a schematic diagram of a network structure provided by an embodiment of the present application. In one example, the calculated end-to-end path can be: PE1 - P1 - P2 - PE2.

[0248] Step 3: The controller decomposes the end-to-end path to obtain the static configuration information corresponding to each node in the end-to-end path. For example, the static configuration information corresponding to PE1, P1, P2, and PE2 can be obtained. For any node, its corresponding static configuration information can include the following three contents:

[0249] 1. Create east-west interface objects. Here, east-west includes eastward and westward, and eastward and westward are two relative concepts. For a node, if eastward corresponds to its upstream node, then westward can correspond to its downstream node. Among them, eastward corresponding to the upstream node can be understood as the eastward interface being used to communicate with the upstream node, and westward corresponding to the downstream node can be understood as the westward interface being used to communicate with the downstream node. Correspondingly, if eastward corresponds to its downstream node, then westward can correspond to its upstream node.

[0250] 2. Create a fine-grained channel (fg-channel) object, where fg-channel is a channel for carrying small-granularity services.

[0251] 3. Configure interface attributes, where the interface attributes can include attributes such as time slots, bandwidth, and the fg-client corresponding to the interface.

[0252] Regarding the static configuration information corresponding to each node, it can be understood in combination with Figure 1d for understanding. Figure 1d This is a schematic diagram of static configuration information provided by an embodiment of the present application. In Figure 1d , taking westward corresponding to the downstream node and eastward corresponding to the upstream node as an example for illustration. As Figure 1d shown, for the path PE1 - P1 - P2 - PE2, the channel between PE1 and P1 corresponds to client1, the channel between P1 and P2 corresponds to client2, and the channel between P2 and PE2 corresponds to client3. Then: the static configuration information corresponding to each node can be as Figure 1d shown, where the content after " / / " in the figure is the annotation part, which is used to explain the meaning of the corresponding static configuration information. Therefore, regarding the meaning of the static configuration information shown in Figure 1d , it will not be repeated here.

[0253] Step 4: The controller distributes the static configuration information corresponding to each node to the corresponding node step by step in multiple hops through the Network Configuration Protocol (NETCONF).

[0254] Regarding Step 4, it is illustrated by taking the path PE1-P1-P2-PE2 in Figure 1c as an example.

[0255] The controller first distributes the path information 1 of PE1 to the node PE1. The path information 1 includes the bandwidth information 1. After receiving the bandwidth information 1, the node PE1 can allocate the corresponding time slots from its available time slots. Suppose the time slots allocated by PE1 form the time slot list 1. Then: Further, the node PE1 can send the time slot list 1 to the controller, and the controller distributes the path information 2 including the time slot list 1 to the node P1. Among them, the node P1 can establish communication with the node PE1 using the path information 2.

[0256] In addition, the controller can also distribute the path information 3 to the node P1. The path information 3 includes the bandwidth information 1. After receiving the bandwidth information 1, the node P1 can allocate the corresponding time slots based on the bandwidth information 1 and the aforementioned time slot list 1, combined with its internal time slot cross-relationship and its available time slots. Suppose the time slots allocated by P1 form the time slot list 2. Further, the node P1 can send the time slot list 2 to the controller, and the controller distributes the path information 4 including the time slot list 2 to the node P2. Among them, the node P2 can establish communication with the node P1 using the path information 4. The time slot list 1 and the time slot list 2 satisfy the time slot cross-relationship inside the node P1, that is: the data stream received by the node P1 from the time slots corresponding to the time slot list 1 will be crossed to the time slots corresponding to the time slot list 2 and sent out.

[0257] Similarly, the controller can also send the path information 5 to node P2. The path information 5 includes the bandwidth information 1. After receiving the bandwidth information 5, node P2 can allocate corresponding time slots based on the bandwidth information 1, the aforementioned time slot list 2, the internal time slot cross-relationship of itself, and its available time slots. Suppose the time slots allocated by P2 form the time slot list 3. Then: Further, node P2 can send the time slot list 3 to the controller, and the controller will send the path information 6 including the time slot list 3 to node PE2. Among them, node PE2 can establish communication with node P2 using the path information 5. Among them, the time slot list 2 and the time slot list 3 satisfy the time slot cross-relationship inside node P2, that is: the data stream received by node P2 from the time slots corresponding to the aforementioned time slot list 2 will be crossed to the time slots corresponding to the time slot list 3 and sent out. Step 5: Each node processes the received static configuration information to obtain the corresponding forwarding table, so that the static configuration information takes effect, so as to process the traffic based on the forwarding table during the traffic forwarding phase. Among them, the processing of the static configuration information by the node includes the following 3 processes.

[0258] 1. Create objects. For example, create the aforementioned east-west interface object and fg-channel object.

[0259] 2. Hold the aforementioned interface attributes. Specifically, convert the interface attributes into configuration information and store them in the database (DB).

[0260] 3. The static configuration information takes effect. The interface attributes stored in the DB can be used as the forwarding table to guide traffic forwarding.

[0261] The method of deploying the large-granularity technology is similar to the method of deploying the small-granularity technology. The difference is that when deploying the large-granularity technology, the fg-channel object in the aforementioned step 3 is the MTN-channel object, and the MTN-channel is the channel for carrying large-granularity services. Correspondingly, the fg-client in the configuration interface attributes is the client. Similarly, in step 5, the object created by the node does not include the fg-channel object but includes the MTN-channel object.

[0262] In the above - mentioned manner, since the controller issues corresponding static configuration information to the node through NETCONF, the efficiency of service deployment is relatively low, resulting in the quality of service provided for the service not meeting the requirements. Among them, the relatively low efficiency of service sending can also be understood as the relatively low efficiency of the end - to - end path becoming effective, that is: from the controller calculating the end - to - end path to the end - to - end path actually being able to be used for forwarding service traffic, the time elapsed is relatively long, generally up to more than ten seconds. This is because NETCONF is based on text parsing, with low protocol processing efficiency. Moreover, the time taken to establish a NETCONF connection between the controller and the node is also relatively long. In addition, after the node parses the static configuration information issued by the controller based on NETCONF, it needs to operate the database (corresponding to steps 4 and 5 above), and the read - write speed of operating the database is slow and time - consuming.

[0263] In addition, in the above - mentioned manner, the reliability of the end - to - end path is relatively low. Because the NETCONF connection between the controller and the node may fail. Since after the NETCONF connection failure is recovered, the controller cannot determine whether the forwarding table effective on the node side is consistent with the static configuration information issued by the controller (that is: cannot determine whether the controller has successfully issued the static configuration information to the node), manual intervention is required.

[0264] Moreover, once the network topology changes, the controller cannot perceive it in time. Correspondingly, it cannot recalculate the end - to - end path for the service in time. In this way, there will be a phenomenon of packet loss in service traffic.

[0265] To solve or at least partially solve the above problems, the embodiments of the present application provide a path information processing method. Next, in combination with the accompanying drawings, the path information processing method provided by the embodiments of the present application will be introduced.

[0266] See Figure 2 , which is a schematic flowchart of a path information processing method provided by the embodiments of the present application.

[0267] Before introducing Figure 2 the method described above, it should be noted that in the embodiments of the present application, the controller may be a device running a network management system (NMS). The controller may be a functional module that implements control and / or management functions, or a physical entity running relevant functional modules. The above - mentioned physical entity may be, for example, a server installed with relevant software, and the relevant software is used to implement the functions of the control management entity. The embodiments of the present application do not make specific limitations. In one example, the controller may be a path computation element (PCE).

[0268] In the embodiments of the present application, both nodes and network devices can represent network elements in a network, and the two are different expression ways for the object of network elements. In one example, a network element interacting with a PCE can also be referred to as a path computation client (PCC).

[0269] Figure 2 The method shown may include the following S101-S105.

[0270] S101: The controller obtains a target end-to-end path, where the target end-to-end path is a path carrying large-granularity services or a path carrying small-granularity services, and the target end-to-end path includes multiple nodes, and the multiple nodes include a first node and a second node.

[0271] In one example, the controller can perform path calculation according to a static network topology, so as to calculate the target end-to-end path. Regarding the static network topology, reference can be made to the relevant description part above, and no repeated description will be made here.

[0272] In another example, the controller can perform path calculation according to a dynamic network topology, so as to calculate the target end-to-end path. The so-called dynamic network topology can be understood as the network topology reported by nodes to the controller through control protocol messages. Specifically, once a node senses that the link state has changed, it can report the changed network topology to the controller through control protocol messages. If the target end-to-end path is calculated by the controller based on the dynamic network topology, the controller can, in the case of a change in the network topology, promptly recalculate the target end-to-end path for the service based on the changed network topology, so that the service can be promptly switched to the target end-to-end path for transmission, realizing the fast reroute (FRR) function, which can effectively avoid packet loss of service traffic and effectively improve the service quality provided for the service. In the embodiments of the present application, the first node and the second node are any two different network nodes in the target end-to-end path. The first node and the second node can be adjacent nodes or non-adjacent nodes, and the embodiments of the present application do not make specific limitations.

[0273] In one example, after obtaining the target end-to-end path, the controller can further determine the path information corresponding to each node in the target end-to-end path. Further, the controller can send the path information corresponding to each node to the corresponding node by sending control protocol messages. Since nodes have a high parsing efficiency for control protocol messages, nodes can quickly update the forwarding table entries based on the received control protocol messages. Therefore, using this solution can improve the effective efficiency of the target end-to-end path, and correspondingly, can improve the service quality provided for the service.

[0274] In a specific example, the controller may execute S102 - S103 to send the first path information corresponding to the first node to the first node, and send the second path information corresponding to the second node to the second node.

[0275] In an example, if the target end - to - end path is calculated based on a dynamic network topology, before the controller executes S102 and S103, it may also determine the reused segments of the target end - to - end path and the initial end - to - end path. Here, the target end - to - end path and the initial end - to - end path are two end - to - end paths between the source node and the destination node, and the initial end - to - end path is the end - to - end path calculated by the controller last time. In other words, before the network topology changes, the service traffic is transmitted through the initial end - to - end path. After the network topology changes, the controller recalculates the path for the service, and the calculated path is the target end - to - end path. After the controller determines the target end - to - end path, it can compare the target end - to - end path with the initial end - to - end path to determine the reused segments of the target end - to - end path and the initial end - to - end path. The so - called reused segments can be understood as the same segments in the target end - to - end path and the initial end - to - end path. To reduce the interaction between the controller and the nodes and improve the effective - ness efficiency of the target end - to - end path, for the reused segments, the controller may no longer send the path information corresponding to the reused segments to the corresponding nodes. In other words, the controller may execute S102 when the aforementioned reused segments do not include the segment between the first node and the third node. Correspondingly, assuming that the second path information is used to enable the second node and the fourth node to establish communication, the controller may execute S103 when the aforementioned reused segments do not include the segment between the second node and the fourth node.

[0276] S102: The controller sends a first control protocol message to the first node, and the first control protocol message carries the first path information corresponding to the first node.

[0277] S103: The controller sends a second control protocol message to the second node, and the second control protocol message carries the second path information corresponding to the second node.

[0278] The controller can send the first path information corresponding to the first node to the first node by sending a first control protocol message to the first node, and the first control protocol message carries the first path information. Correspondingly, the controller can send the second path information corresponding to the second node to the second node by sending a second control protocol message to the second node, and the second control message carries the second path information.

[0279] In an embodiment of the present application, the third node is a downstream node of the first node in the target end-to-end path. For this case, the first path information may be the path information used by the first node to establish communication with the third node. In one example, the third node and the aforementioned second node may be the same node. In another example, the third node may be another node different from the aforementioned second node.

[0280] In an embodiment of the present application, the second path information may be the path information used by the second node to establish communication with its downstream node, or the path information used by the second node to establish communication with its upstream node. The embodiments of the present application do not make specific limitations.

[0281] The embodiments of the present application do not specifically limit the first control protocol message and the second control protocol message. The first control protocol message and the second control protocol message may be any type of control protocol message that supports interaction between the controller and the node. In a specific example, the first control protocol message and the second control protocol message may be PCEP messages. Specifically, the first control protocol message may be the first PCEP message, and the second control protocol message is the second PCEP message.

[0282] The manner in which the first PCEP message carries the first path information and the second PCEP message carries the second path information is the same. For ease of description, the target PCEP message is used to represent the first PCEP message or the second PCEP message, and the manner in which the target path information is carried in the target PCEP message is introduced to illustrate the manner in which the first path information is carried in the first PCEP message and the manner in which the second path information is carried in the second PCEP message. Among them, when the target path information is the first path information, the target PCEP message is the first PCEP message; when the target path information is the second path information, the target PCEP message is the second PCEP message.

[0283] In the embodiments of the present application, the target path information may be carried by corresponding fields in the target PCEP message. As an example, the available fields in the traditional PCEP message may be used to carry the target path information. As another example, the target PCEP message may include an extended object, which is used to carry the target path information. The embodiments of the present application do not specifically limit the extended object. As an example, the extended object may be a new extended object. In other words, a new extended object may be extended to carry the target path information. As another example, the existing extended object may also be reused. As a specific example, the existing CCI object may be reused to carry the target path information. The CCI object includes a first field, a second field, and a first TLV. The first field is used to carry the service layer interface index in the target path information, the second field is used to carry the flow identifier in the target path information, and the first TLV is used to carry the resource information in the target path information. As mentioned above, the resource information may be bandwidth information or time slot information. In an example, the type field of the first TLV may be used to indicate the type of the resource information. For example, when the value of the type field of the first TLV is 1, it indicates that the resource information is bandwidth information, and when the value of the type field of the first TLV is 2, it indicates that the resource information is time slot information.

[0284] Regarding the CCI object, it can be understood in combination with Figure 3a for understanding. Figure 3a FIG. is a schematic structural diagram of a CCI object provided by an embodiment of the present application.

[0285] As Figure 3a shown, the CCI object may include: a CC-ID field, a flow identifier field, a flags field, an O indication bit, a service layer interface index field, and an optional TLV field. Among them:

[0286] The CC-ID field is used to carry the CCI identifier assigned by the controller, which is unique within the controller, and the value range is 1 to 0xFFFFFFFE;

[0287] The flow identifier field corresponds to the aforementioned second field and is used to carry the flow identifier in the target path information;

[0288] The flags field is a reserved field;

[0289] The O indicator bit is used to indicate whether the target path information is the path information for establishing communication with the upstream node or the path information for establishing communication with the downstream node. In one example, when the target path information is the path information for establishing communication with the upstream node, the value of the O indicator bit is 1; when the target path information is the path information for establishing communication with the downstream node, the value of the O indicator bit is 0.

[0290] The optional TLV field may include one or more TLVs. In one example, the optional TLV field includes a first TLV, and the first TLV is used to carry the foregoing resource information.

[0291] As described above, the target end-to-end path may be a path for carrying small-granularity services or a path for carrying large-granularity services. In one example, the foregoing target PCEP message may further include indication information, and the indication information is used to indicate the path type corresponding to the target path information. The so-called path type corresponding to the target path information is the type of the foregoing target end-to-end path. Among them, the type of the target end-to-end path may be a path for carrying small-granularity services or a path for carrying large-granularity services. In this way, after receiving the first control protocol message, the first node may determine the path type corresponding to the received first path information based on the indication information. Correspondingly, after receiving the second control protocol message, the second node may determine the path type corresponding to the received second path information based on the indication information.

[0292] The embodiments of the present application do not specifically limit the carrying position of the indication information in the target PCEP message. In one example, the indication information may also be carried by an extended object in the target PCEP message. For example, it is carried by the foregoing CCI object. In a specific example, the target path information and the indication information may be carried in the same CCI object. For example, when the structure of the CCI object is as Figure 3a shown, the indication information may be carried by the flags field of the CCI object.

[0293] The embodiments of the present application do not specifically limit the order of sending the first control protocol message and the second control protocol message by the controller.

[0294] In one example, the controller may send the first control protocol message to the first node and the second control protocol message to the second node in a serial manner. Assuming that the first node is upstream of the second node, the so-called sending the first control protocol message to the first node and the second control protocol message to the second node in a serial manner can be understood as the controller first sending the first control protocol message to the first node. After the first node finishes processing the first control protocol message and returns the corresponding response message to the controller, the controller then sends the second control protocol message to the second node.

[0295] In another example, the controller may send the first control protocol message to the first node and the second control protocol message to the second node in a parallel manner. The so-called sending the first control protocol message to the first node and the second control protocol message to the second node in a parallel manner can be understood as the difference between the time when the controller sends the first control protocol message to the first node and the time when the controller sends the second control protocol message to the second node being close to or equal to 0. By using this method, compared with the aforementioned serial method, the upstream node and the downstream node can receive their respective path information almost simultaneously. Correspondingly, the effectiveness efficiency of the target end-to-end path can be improved. Correspondingly, the quality of service provided for the service can be improved. The reason why this application supports sending the path information corresponding to each node to each node in a parallel manner is that when the controller can control the time slot information of the node, the controller can allocate the corresponding time slot for the node. When the controller does not control the time slot information of the node, the nodes can determine the corresponding time slot through negotiation, without having to wait, as in the serial method, for the upstream node to allocate the corresponding time slot and send it to the controller before the controller sends the corresponding path information to the downstream node. Regarding the relevant content of the controller allocating time slots and the nodes negotiating time slots, reference can be made to the relevant descriptions below and will not be described in detail here.

[0296] Moreover, since the controller sends path information to the node through the control protocol message, once the control protocol fails (for example, the connection between the controller and the node is interrupted), without manual intervention, if the control protocol becomes effective again (the connection between the controller and the node is re-established), the controller will automatically trigger the re-transmission of the path information, thereby improving the reliability of the end-to-end path.

[0297] Both the first path information and the second path information may include multiple path parameters. The types of path parameters included in the first path information and the second path information are the same. The difference is that the values of the path parameters in the first path information and the values of the path parameters in the second path information may be different. For the convenience of description, the target path information is used to represent the first path information or the second path information, and the path parameters included in the first path information and the second path information are described.

[0298] The target path information may include three types of path parameters, namely: service layer interface index, flow identifier, and resource information, where:

[0299] The service layer may also be referred to as the transmission service layer. The transmission service layer may be composed of a transmission sub-layer and a control sub-layer. Among them, the transmission sub-layer can create a service transmission channel, and the control sub-layer is used to manage the state of the service transmission channel created by the transmission sub-layer and perform operations such as adding and deleting services. Among them, the service transmission channel may be a channel for transmitting small-granularity services, or a channel for transmitting large-granularity services.

[0300] The flow identifier corresponds to the user interface or bandwidth.

[0301] The resource information may be bandwidth information or time slot information. Among them, the bandwidth information may refer to a specific bandwidth value, and the time slot information may be a time slot list, which includes the numbers of the occupied time slots.

[0302] When the aforementioned target end-to-end path is a path for carrying large-granularity services, the service layer interface index is the large-granularity service layer interface identifier, where: the large-granularity service layer interface identifier may be a FlexE group index (FlexE group index, FlexE group idx). Among them, FlexE group idx is the node-local management identifier for the FlexE group, which is unique on the node. In other words, if the node corresponds to multiple FlexE groups, each FlexE group may correspond to a FlexE group idx respectively, and the FlexE group idx corresponding to any two FlexE groups are different. Correspondingly, the flow identifier may be a client ID, and the resource information corresponds to the large-granularity resource information. When the resource information is time slot information, the time slot information may be large-granularity time slot information. For example, the time slot information indicates the time slot numbers of the occupied large-granularity time slots.

[0303] When the foregoing target end-to-end path is a path carrying small-particle services, the service layer interface index is the small-particle service layer interface identifier, where: when the small-particle service layer is the MTN channel layer, the small-particle service layer interface identifier may be the client ID. When the small-particle service layer is the Ethernet physical layer, the small-particle service layer interface identifier may be the identifier of the 10GE Ethernet physical interface. Correspondingly, the flow identifier may be the fg-client ID, and the resource information corresponds to the small-particle resource information. When the resource information is time slot information, the time slot information may be small-particle time slot information (i.e., sub-time slot information). For example, the time slot information indicates the time slot number of the occupied small-particle time slot.

[0304] In one example, the target path information further includes a node identifier for identifying the node corresponding to the target path information. For example, when the target path information is the first path information, the node identifier is the identifier of the first node; when the target path information is the second path information, the node identifier is the identifier of the second node.

[0305] S104: The first node receives the first control protocol message sent by the controller and updates the forwarding table entry according to the first path information carried in the first control protocol message.

[0306] S105: The second node receives the second control protocol message sent by the controller and updates the forwarding table entry according to the second path information carried in the second control protocol message.

[0307] After the controller sends the first control protocol message to the first node, the first node can receive the first control protocol message, parse the first control protocol message to obtain the first path information, and update the local forwarding table entry based on the first path information. Similarly, after the controller sends the second control protocol message to the second node, the second node can receive the second control protocol message, parse the second control protocol message to obtain the second path information, and update the local forwarding table entry based on the second path information.

[0308] Since the first node and the second node have high parsing efficiency for the control protocol message, the first node can quickly update the forwarding table entry based on the first control protocol message. Correspondingly, the second node can also quickly update the forwarding table entry based on the second control protocol message. Therefore, using this solution, the effective efficiency of the target end-to-end path can be improved. Correspondingly, the service quality provided for the service can be improved.

[0309] Moreover, the forwarding table entry can be stored in the memory of the node rather than in the DB. The efficiency of the node operating on the inner layer is much higher than that of operating on the DB.

[0310] In one example, before sending the first control protocol message to the first node, or in other words, before determining the target end-to-end path, the controller can also notify the nodes of its own path establishment capabilities. Specifically, the controller can notify the nodes of the path types corresponding to its own end-to-end path calculation capabilities. The path types mentioned here can be the paths carrying large-granularity services or the paths carrying small-granularity services mentioned above. Taking the controller notifying the first node of its own path establishment capabilities as an example, the controller can send a third PCEP message to the first node. The third PCEP message includes an open object, and the open object includes a path establishment type capability sub-TLV. The path establishment type capability sub-TLV indicates that the controller has the ability of end-to-end path calculation, and the path establishment type capability sub-TLV also indicates the path types corresponding to the controller's ability of end-to-end path calculation. In one example, the path establishment type capability sub-TLV can be a PCE central controller (PCECC) capability sub-TLV. For this case, it can be combined with Figure 3b to understand the path establishment type capability sub-TLV. Figure 3b FIG. is a schematic diagram of a path establishment type capability sub-TLV provided by an embodiment of the present application. As Figure 3b shown, the path establishment type capability sub-TLV includes: a type field, a length field, a flags field, an M indication bit, a C indication bit, and an L indication bit. The flags field, the M indication bit, the C indication bit, and the L indication bit constitute the value field of the path establishment type capability sub-TLV. Among them:

[0311] The type field indicates that this TLV is a path establishment type capability sub-TLV;

[0312] The length field is used to indicate the length of the value field;

[0313] The C indication bit is the flag bit for the path carrying large-granularity services. The value of the C indication bit being 1 indicates that the path type corresponding to the controller's ability of end-to-end path calculation is the path carrying large-granularity services;

[0314] The M indication bit is the flag bit for the path carrying small-granularity services. The value of the M indication bit being 1 indicates that the path type corresponding to the controller's ability of end-to-end path calculation is the path carrying small-granularity services;

[0315] The L indication bit is: a label indication bit. This label indication bit is an existing indication bit in the PCECC capability sub-TLV and will not be elaborated here.

[0316] As described above, the resource information in the first path information can be bandwidth information or time slot information. In the embodiments of the present application, the controller can determine whether the resource information in the first path information is bandwidth information or time slot information according to the capabilities of the third node. In a specific example, before determining the target end-to-end path, the controller can receive the first capability indication information sent by the third node, and the first capability indication information is used to indicate whether the third node has the ability to automatically follow the upstream time slot configuration. The so-called ability to automatically follow the upstream time slot configuration means obtaining the local time slot configuration according to the time slot configuration of the upstream node, so as to enable itself to establish communication with the upstream node. Correspondingly, the controller can determine whether the resource information in the first path information is bandwidth information or time slot information according to the first capability indication information.

[0317] In the embodiments of the present application, the third node can send the first capability indication information to the controller by sending a control protocol message. As a specific example, the third node can send a third control protocol message to the controller, and the third control protocol message includes the first capability indication information. The first capability indication information can be carried by any available field in the third control protocol message. In a specific example, the third control protocol message can include a capability TLV, and the first capability indication information can be carried in the capability TLV. In an example, in addition to carrying the first capability indication information, the capability TLV can also carry other aspects of capability information. Regarding the structure of the capability TLV, reference can be made to the relevant description part below, and details are not described here.

[0318] The embodiments of the present application do not specifically limit the third control protocol message, and the third control protocol message can be any control protocol message that a node can use to report information to the controller. In a specific example, the third control protocol message can be a BGP-LS message or a PCEP-LS message.

[0319] In an example, if the first capability indication information indicates that the third node has the ability to automatically follow the upstream time slot configuration, the resource information in the first path information can be bandwidth information. In this way, the first node can automatically allocate corresponding time slots according to the bandwidth information. Correspondingly, the third node can obtain its own implementation configuration information according to the time slots allocated by the first node, so as to establish communication with the first node.

[0320] In yet another example, if the first capability indication information indicates that the third node does not have the ability to automatically follow the upstream time slot configuration, the resource information in the first path information is time slot information. For this case, the controller may also send the time slot information included in the first path information to the third node, so that the third node can establish communication with the first node based on the received time slot information. For example, the controller may send a fourth control protocol message to the third node, and the fourth control protocol message includes third path information, and the third path information is used to enable the third node to establish communication with the first node, and the third path information includes the time slot information included in the foregoing first path information. The fourth control protocol message may be a PCEP message, for example, and the third path information may be carried by the CCI object in the fourth control protocol message. Regarding the CCI object, reference may be made to the relevant description part above, and no repeated description is made here.

[0321] As described above, if the third node does not have the ability to automatically follow the upstream time slot configuration, the resource information in the first path information is time slot information. In one example, the time slot information may be determined according to the time slot occupancy of the first node and the third node. For this case, before determining the target end-to-end path, the controller may also receive the time slot occupancy information sent by the first node and the third node. For the first node and the third node, the time slot occupancy information sent to the controller can be used to indicate the numbers of the time slots that have been occupied and / or have not been occupied by itself. In this way, the controller can determine the time slot information in the foregoing first path information based on the received time slot occupancy information. For example, select the time slots that match the user's required bandwidth from the unoccupied time slots, so as to obtain the time slot information in the foregoing first path information.

[0322] In one example, the foregoing resource information may also be specified by the user. For example, the user specifies that the foregoing resource information is bandwidth information. For this case, if the third node does not have the ability to automatically follow the upstream time slot configuration, after determining the target end-to-end path, the controller may also output corresponding indication information indicating that the path between the first node and the third node is unavailable.

[0323] As described above, the third node may report the first capability indication information to the controller. In the embodiments of the present application, in addition to reporting the first capability indication information to the controller, the third node may also announce the first capability indication information to other nodes in the network. In a specific example, the third node may announce the first capability indication information to the first node through a first LLDP message. In other words, the first node may receive the first LLDP message sent by the third node, and the first LLDP message includes the first capability indication information. The embodiments of the present application do not specifically limit the manner in which the first capability indication information is carried in the first LLDP message. In a specific example, the first LLDP message may include a first Organization TLV, which is used to carry the first capability indication information. Specifically, the first Organization TLV may include a first sub-TLV, and the first sub-TLV is used to carry the first capability indication information. In this way, after receiving the first LLDP message, the first node may parse the first LLDP message and determine whether the third node has the ability to automatically follow the upstream time slot configuration according to the first sub-TLV in the parsed first Organization TLV.

[0324] In an example, when the third node has the ability to automatically follow the upstream time slot configuration, the foregoing first sub-TLV is further used to indicate the following manner in which the third node automatically follows the upstream time slot configuration. The following manner includes: following through data plane messages and / or following through control plane messages. Among them, following through data plane messages means interacting with the upstream node through data messages to achieve following the upstream time slot configuration; following through control plane messages means interacting with the upstream node through control messages to achieve following the upstream time slot configuration.

[0325] In an example, the first sub-TLV may include a first indication bit corresponding to following through data plane messages and a second indication bit corresponding to following through control plane messages. If the first indication bit is set (for example, the value is 1), it means that the third node supports the manner of following through data plane messages to automatically follow the upstream time slot configuration. If the second indication bit is set (for example, the value is 1), it means that the third node supports the manner of following through control plane messages to automatically follow the upstream time slot configuration.

[0326] In one example, the first vendor TLV can also be used to indicate the path type corresponding to the foregoing first capability indication information. In a specific example, the first vendor TLV may further include a second sub-TLV, and this second sub-TLV indicates the service type supported by the third node for bearer. It is not difficult to understand that the service type supported by the third node for bearer is the path type corresponding to the first capability indication information. Among them, the service type supported by the third node for bearer may be large-granularity service or small-granularity service. Correspondingly, if the service type supported by the third node for bearer is a large-granularity service, the path type corresponding to the first capability indication information is the path for bearing large-granularity services.

[0327] Regarding the first vendor TLV, its structure can be referred to Figure 3c for understanding. Figure 3c FIG. is a schematic structural diagram of a first vendor TLV provided by an embodiment of the present application. As Figure 3c shown, the first vendor TLV includes: a type field (whose value is 127), a length field, an organizationally unique identifier (OUI) field, and a sub-TLV field. In the embodiment of the present application, its sub-TLV field includes a first sub-TLV and a second sub-TLV. The value field of the first sub-TLV is used to carry the foregoing first capability indication information, and the value field of the second sub-TLV is used to carry the path type corresponding to the foregoing first capability indication information. Among them, for any one of the first sub-TLV and the second sub-TLV, the length of its value field may be fixed. In this case, this sub-TLV may not include a length field. Of course, the length of the value field of this sub-TLV may also be flexibly defined. In this case, the length of the value field is indicated by the length field of this sub-TLV.

[0328] In one example, if the first capability indication information indicates that the third node has the ability to automatically follow the upstream time slot configuration, after receiving the first path information, the first node may obtain the time slot configuration information of the first node according to the resource information in the first path information. As an example, if the resource information in the first path information is time slot information, the first node may obtain the time slot configuration information of the first node according to the time slot information in the first path information, where the time slot configuration information of the first node may include the correspondence between the time slot list and the flow identifier. As another example, if the resource information in the first path information is bandwidth information, the first node may automatically allocate time slots matching the bandwidth indicated by the bandwidth information according to the bandwidth information and the time slots not yet occupied by itself, so as to obtain the time slot configuration information. After obtaining the time slot configuration information of the first node, the first node may further negotiate time slots with the third node, so that the third node obtains the time slot configuration information of the first node, and the third node further performs local configuration based on the time slot configuration information of the first node. Specifically, the third node may obtain the time slot configuration information of the first node and obtain its own time slot configuration information based on the time slot configuration information of the first node, so that the first node and the third node can communicate normally.

[0329] In one example, the first node may negotiate time slots with the third node according to the following mode supported by the third node for automatically following the upstream time slots. In a specific example, if the following mode for the third node to automatically follow the upstream time slot configuration includes following through control plane messages, the first node may negotiate time slots with the third node by interacting control messages with the third node. As a possible implementation manner, the first node may send a second LLDP message to the second node, and the second LLDP message carries the time slot configuration information of the first node. The embodiments of the present application do not specifically limit the carrying manner of the time slot configuration information of the first node in the second LLDP message. As a specific example, the second LLDP message may include a second vendor TLV, and the second vendor TLV includes a third sub-TLV, and the third sub-TLV carries the time slot configuration information of the first node. Correspondingly, after receiving the second LLDP message, the third node may parse the second LLDP message to obtain the third sub-TLV in the second vendor TLV, and further perform local time slot configuration through the time slot configuration information carried in the third sub-TLV.

[0330] Regarding the second vendor TLV, its structure may be referred to Figure 3d for understanding. Figure 3dA schematic structural diagram of a second manufacturer's TLV provided by an embodiment of the present application. As Figure 3d shown, the second manufacturer's TLV includes: a type field, a length field, an OUI field, and a third sub-TLV field. In an embodiment of the present application, the third sub-TLV field includes a type field, a flow identifier field, and a time slot list field. Among them, the flow identifier field is used to carry a flow identifier, and the time slot list field is used to carry the aforementioned time slot list.

[0331] In yet another specific example, if the following method of the third node automatically following the upstream time slot configuration includes following through a data plane message, the first node can negotiate time slots with the third node by interacting with the third node through data messages. For the specific implementation of time slot negotiation through the interaction of data messages, reference can be made to the relevant content in OIF-FLEXE-02.1 and the "Technical Requirements for Fine-Grained Bearer in Slice Packet Networks" of the China Communications Standards Association (CCSA), which will not be described in detail here. Among them, OIF-FLEXE-02.1 describes how to negotiate time slots through the interaction of data messages in large-granularity technologies; the "Technical Requirements for Fine-Grained Bearer in Slice Packet Networks" of CCSA describes how to negotiate time slots through the interaction of data messages in small-granularity technologies.

[0332] The path information processing method provided by the embodiments of the present application has been introduced above. Next, the solutions provided by the embodiments of the present application will be introduced in combination with possible application scenarios.

[0333] See Figure 4a , Figure 4a An exemplary application scenario diagram provided by an embodiment of the present application. As Figure 4a shown, PE1, P1, and PE2 enable the function of carrying small-granularity services. PE1, P1, and PE2 can interact with the controller. Among them, P1 has the ability to automatically follow the upstream time slot through a control plane message, and PE2 has the ability to automatically follow the upstream time slot through a data plane message. Client1 of PE1 is used to establish communication with client2 of P1, and client3 of P1 is used to establish communication with client4 of PE2. Regarding the path information sent by the controller to each node, as Figure 4a shown, next, the interaction process of PE1, P1, and PE2 will be introduced in combination with Figure 4b This is a schematic flow diagram of a path information processing method provided by an embodiment of the present application. Figure 4b The method shown may include the following S201-S213. Figure 4b shown, may include the following S201-S213.

[0334] S201: P1 notifies PE1 of its time slot following ability.

[0335] S202: P1 notifies the controller of its time slot following ability.

[0336] S203: PE2 notifies P1 of its time slot following ability.

[0337] S204: PE2 notifies the controller of its time slot following ability.

[0338] S205: The controller calculates the end-to-end path PE1 - P1 - PE2 for small granularity services.

[0339] S206: The controller sends the corresponding path information 1 to PE1. The path information 1 includes: the node identifier of PE1, the small granularity service layer interface identifier client1, the small granularity flow identifier fg - client1, and resource information 1, where the resource information 1 is bandwidth information 1.

[0340] In an example, PE1 can also report its time slot occupancy information to the controller. For this case, the resource information 1 in the path information 1 mentioned in S206 can also be the time slot list 1 allocated by the controller based on the time slot occupancy information of PE1, where the bandwidth occupied by the time slots included in the time slot list 1 is the bandwidth indicated by the bandwidth information 1.

[0341] S207: The controller sends the corresponding path information 2 and path information 3 to P1. Among them, the path information 2 is the path information for P1 to establish communication with PE1, and the path information 2 includes: the node identifier of P1, the small granularity service layer interface identifier client2, and the small granularity flow identifier fg - client1; the path information 3 is the path information for P1 to establish communication with PE2, and the path information 3 includes: the node identifier of P1, the small granularity service layer interface identifier client3, the small granularity flow identifier fg - client2, and resource information 2, where the resource information 2 is bandwidth information 1.

[0342] In an example, P1 can also report its time slot occupancy information to the controller. For this case, the resource information 2 in the path information 3 mentioned in S207 can also be the time slot list 2 allocated by the controller based on the time slot occupancy information of P1, where the bandwidth occupied by the time slots included in the time slot list 2 is the bandwidth indicated by the bandwidth information 1.

[0343] S208: The controller sends the corresponding path information 4 to PE2. The path information 4 includes: the node identifier of PE2, the small granularity service layer interface identifier client4, and the small granularity flow identifier fg - client2.

[0344] In the embodiments of the present application, the controller may adopt a parallel distribution method to distribute the path information corresponding to each of the three nodes, namely PE1, P1, and PE2, to the corresponding nodes. Among them, the path information corresponding to each node may be carried by a control protocol message, such as a PCEP message. Regarding the carrying manner of the path information in the PCEP message, reference may be made to the relevant description part of the above embodiments, and no repeated description will be made here.

[0345] S209: After PE1 receives path information 1, it allocates sub-slots corresponding to the bandwidth indicated by the bandwidth information 1 from its available sub-slots to obtain a time slot list 1, and obtains time slot configuration information 1 according to the time slot list 1.

[0346] The time slot configuration information 1 may include the correspondence between fg-client1 and the time slot list 1.

[0347] S210: PE1 sends a time slot negotiation message 1 to P1, and the time slot negotiation message 1 includes the aforementioned time slot configuration information 1.

[0348] The time slot negotiation message 1 may be a control message. Specifically, it may be an LLDP message. Regarding the carrying manner of the time slot configuration information 1 in the LLDP message, reference may be made to the relevant description part above, and no repeated description will be made here.

[0349] S211: After P1 receives the time slot negotiation message 1, it obtains the time slot configuration information 1 and performs local time slot configuration based on the time slot configuration information 1, so that communication can be established between P1 and PE1.

[0350] S212: After P1 receives path information 3, it allocates sub-slots corresponding to the bandwidth indicated by the bandwidth information 1 from its available sub-slots to obtain a time slot list 2, and obtains time slot configuration information 2 according to the time slot list 2.

[0351] The time slot configuration information 2 may include the correspondence between fg-client2 and the time slot list 2.

[0352] S213: P1 and PE2 perform time slot negotiation by exchanging data messages, so that PE2 performs local time slot configuration based on the time slot configuration information 2, so that communication can be established between P1 and PE2.

[0353] See Figure 5a , Figure 5a which is another schematic diagram of an exemplary application scenario provided by the embodiments of the present application. As Figure 5aAs shown, PE1, P1, and PE2 enable the function of carrying small particle services. PE1, P1, and PE2 can interact with the controller. Among them, neither P1 nor PE2 has the ability to automatically follow the upstream time slot. Client1 of PE1 is used to establish communication with client2 of P1, and client3 of P1 is used to establish communication with client4 of PE2. Regarding the path information sent by the controller to each node as Figure 5a shown, next, in combination with Figure 5b introduce the interaction process of PE1, P1, and PE2, Figure 5b is a schematic flowchart of a path information processing method provided by an embodiment of this application. Figure 5b The method shown can include the following S301 - S309.

[0354] S301: P1 notifies PE1 of its own time slot following ability.

[0355] S302: P1 notifies the controller of its own time slot following ability and reports its own time slot occupancy information to the controller.

[0356] S303: PE2 notifies P1 of its own time slot following ability.

[0357] S304: PE2 notifies the controller of its own time slot following ability and reports its own time slot occupancy information to the controller.

[0358] S305: PE1 reports its own time slot occupancy information to the controller.

[0359] S306: The controller calculates the end - to - end path PE1 - P1 - PE2 for small particle services.

[0360] S307: The controller sends the corresponding path information 1 to PE1. The path information 1 includes: the node identifier of PE1, the small particle service layer interface identifier client1, the small particle flow identifier fg - client1, and resource information 1, where the resource information 1 is the time slot list 1.

[0361] PE1 can establish communication with P1 based on the path information 1.

[0362] S308: The controller sends the corresponding path information 2 and path information 3 to P1. Among them, path information 2 is the path information for P1 to establish communication with PE1, and path information 2 includes: the node identifier of P1, the small particle service layer interface identifier client2, the small particle flow identifier fg-client1, and the time slot list 1; path information 3 is the path information for P1 to establish communication with PE2, and path information 3 includes: the node identifier of P1, the small particle service layer interface identifier client3, the small particle flow identifier fg-client2, and resource information 2, where resource information 2 is the time slot list 2.

[0363] P1 can establish communication with PE1 based on path information 2 and establish communication with PE2 based on path information 3.

[0364] S309: The controller sends the corresponding path information 4 to PE2. The path information 4 includes: the node identifier of PE2, the small particle service layer interface identifier client4, the small particle flow identifier fg-client2, and the time slot list 2.

[0365] In the embodiment of the present application, the controller can adopt a parallel sending method to send the path information corresponding to each of the three nodes, namely PE1, P1, and PE2, to the corresponding nodes. Among them, the path information corresponding to each node can be carried by a control protocol message, such as a PCEP message. Regarding the carrying method of path information in the PCEP message, reference can be made to the relevant description part of the above embodiment, and no repeated description will be made here.

[0366] PE2 can establish communication with P2 based on path information 4.

[0367] See Figure 6a , Figure 6a which is an exemplary application scenario diagram provided by the embodiment of the present application. As Figure 6a shown, PE1, P1, and PE2 enable the function of carrying large particle services. PE1, P1, and PE2 can interact with the controller. Among them, P1 has the ability to automatically follow the upstream time slots through control plane messages, and PE2 has the ability to automatically follow the upstream time slots through data plane messages. The FlexE group1 of PE1 is used to establish communication with the FlexE group 2 of P1, and the FlexE group3 of P1 is used to establish communication with the FlexE group4 of PE2. Regarding the path information sent by the controller to each node, as Figure 6a shown, next, the interaction process of PE1, P1, and PE2 will be introduced in combination with Figure 6b which is a flowchart of a path information processing method provided by the embodiment of the present application. Figure 6b which is a flowchart of a path information processing method provided by the embodiment of the present application. Figure 6bThe method shown may include S401 - S413 as follows.

[0368] S401: P1 notifies PE1 of its own time - slot following ability.

[0369] S402: P1 notifies the controller of its own time - slot following ability.

[0370] S403: PE2 notifies P1 of its own time - slot following ability.

[0371] S404: PE2 notifies the controller of its own time - slot following ability.

[0372] S405: The controller calculates the end - to - end path PE1 - P1 - PE2 for large - granularity services.

[0373] S406: The controller sends the corresponding path information 1 to PE1. The path information 1 includes: the node identifier of PE1, the large - granularity service layer interface identifier FlexE group1, the large - granularity flow identifier client1, and resource information 1, where the resource information 1 is bandwidth information 1.

[0374] In one example, PE1 can also report its own time - slot occupancy information to the controller. For this case, the resource information 1 in the path information 1 mentioned in S406 can also be the time - slot list 1 allocated by the controller based on the time - slot occupancy information of PE1, where the bandwidth occupied by the time - slots included in the time - slot list 1 is the bandwidth indicated by the bandwidth information 1.

[0375] S407: The controller sends the corresponding path information 2 and path information 3 to P1. Among them, the path information 2 is the path information for P1 to establish communication with PE1, and the path information 2 includes: the node identifier of P1, the large - granularity service layer interface identifier FlexEgroup2, and the large - granularity flow identifier client1; the path information 3 is the path information for P1 to establish communication with PE2, and the path information 3 includes: the node identifier of P1, the large - granularity service layer interface identifier FlexE group3, the large - granularity flow identifier client2, and resource information 2, where the resource information 2 is bandwidth information 1.

[0376] In one example, P1 can also report its own time - slot occupancy information to the controller. For this case, the resource information 2 in the path information 3 mentioned in S207 can also be the time - slot list 2 allocated by the controller based on the time - slot occupancy information of P1, where the bandwidth occupied by the time - slots included in the time - slot list 2 is the bandwidth indicated by the bandwidth information 1.

[0377] S408: The controller sends the corresponding path information 4 to PE2. The path information 4 includes: the node identifier of PE2, the large-granularity service layer interface identifier FlexE group4, and the large-granularity flow identifier client2.

[0378] In the embodiments of the present application, the controller may adopt a parallel sending method to send the path information corresponding to each of the three nodes, namely PE1, P1, and PE2, to the corresponding nodes. Among them, the path information corresponding to each node can be carried by a control protocol message, such as a PCEP message. Regarding the carrying method of the path information in the PCEP message, reference can be made to the relevant description part of the above embodiments, and no repeated description will be given here.

[0379] S409: After receiving the path information 1, PE1 allocates sub-slots corresponding to the bandwidth indicated by the bandwidth information 1 from its available sub-slots to obtain a time slot list 1, and obtains time slot configuration information 1 according to the time slot list 1.

[0380] The time slot configuration information 1 may include the correspondence between client1 and the time slot list 1.

[0381] S410: PE1 sends a time slot negotiation message 1 to P1. The time slot negotiation message 1 includes the aforementioned time slot configuration information 1.

[0382] The time slot negotiation message 1 may be a control message. Specifically, it may be an LLDP message. Regarding the carrying method of the time slot configuration information 1 in the LLDP message, reference can be made to the relevant description part above, and no repeated description will be given here.

[0383] S411: After receiving the time slot negotiation message 1, P1 obtains the time slot configuration information 1 and performs local time slot configuration based on the time slot configuration information 1, so that communication can be established between P1 and PE1.

[0384] S412: After receiving the path information 3, P1 allocates sub-slots corresponding to the bandwidth indicated by the bandwidth information 1 from its available sub-slots to obtain a time slot list 2, and obtains time slot configuration information 2 according to the time slot list 2.

[0385] The time slot configuration information 2 may include the correspondence between client2 and the time slot list 2.

[0386] S413: P1 and PE2 perform time slot negotiation by exchanging data messages, so that PE2 performs local time slot configuration based on the time slot configuration information 2, so that communication can be established between P1 and PE2.

[0387] See Figure 7a , Figure 7aThis is another schematic diagram of an exemplary application scenario provided by an embodiment of the present application. As Figure 7a shown, PE1, P1, and PE2 enable the function of carrying large-granularity services. PE1, P1, and PE2 can interact with the controller. Among them, neither P1 nor PE2 has the ability to automatically follow the upstream time slot. The FlexE group1 of PE1 is used to establish communication with the FlexE group2 of P1, and the FlexE group3 of P1 is used to establish communication with the FlexE group4 of PE2. Regarding the path information sent by the controller to each node, as Figure 7a shown, next, in combination with Figure 7b this, the interaction process of PE1, P1, and PE2 will be introduced. Figure 7b This is a schematic flowchart of a path information processing method provided by an embodiment of the present application. Figure 7b The method shown can include the following S501-S509.

[0388] S501: P1 notifies PE1 of its own time slot following ability.

[0389] S502: P1 notifies the controller of its own time slot following ability and reports its own time slot occupancy information to the controller.

[0390] S503: PE2 notifies P1 of its own time slot following ability.

[0391] S504: PE2 notifies the controller of its own time slot following ability and reports its own time slot occupancy information to the controller.

[0392] S505: PE1 reports its own time slot occupancy information to the controller.

[0393] S506: The controller calculates the end-to-end path PE1-P1-PE2 for the large-granularity service.

[0394] S507: The controller sends the corresponding path information 1 to PE1. The path information 1 includes: the node identifier of PE1, the large-granularity service layer interface identifier FlexE group, the large-granularity flow identifier client1, and resource information 1, where the resource information 1 is the time slot list 1.

[0395] PE1 can establish communication with P1 based on the path information 1.

[0396] S508: The controller sends the corresponding path information 2 and path information 3 to P1. Among them, path information 2 is the path information for P1 to establish communication with PE1, and path information 2 includes: the node identifier of P1, the large-granularity service layer interface identifier FlexEgroup2, the large-granularity flow identifier client1, and time slot list 1; path information 3 is the path information for P1 to establish communication with PE2, and path information 3 includes: the node identifier of P1, the large-granularity service layer interface identifier FlexE group3, the large-granularity flow identifier client2, and resource information 2, where resource information 2 is time slot list 2.

[0397] P1 can establish communication with PE1 based on path information 2 and establish communication with PE2 based on path information 3.

[0398] S509: The controller sends the corresponding path information 4 to PE2. The path information 4 includes: the node identifier of PE2, the large-granularity service layer interface identifier FlexE group4, the large-granularity flow identifier client2, and time slot list 2.

[0399] In the embodiments of the present application, the controller can use the parallel sending method to send the path information corresponding to each of the three nodes, namely PE1, P1, and PE2, to the corresponding nodes. Among them, the path information corresponding to each node can be carried by a control protocol message, such as a PCEP message. Regarding the carrying method of path information in the PCEP message, reference can be made to the relevant description part of the above embodiments, and no repeated description will be made here.

[0400] PE2 can establish communication with P2 based on path information 4.

[0401] Based on the path information processing method provided in the above embodiments, the embodiments of the present application also provide a corresponding device. Next, the device will be introduced in conjunction with the accompanying drawings.

[0402] See Figure 8a , this figure is a schematic structural diagram of a path information processing device provided by the embodiments of the present application. Figure 8a The path information processing device 810 shown can be applied to the controller provided in the above method embodiments and is used to execute the path information processing method executed by the controller provided in the above method embodiments.

[0403] As Figure 8a shown, the path information processing device 810 includes: a processing unit 811 and a sending unit 812.

[0404] A processing unit 811, configured to obtain a target end-to-end path, where the target end-to-end path is a path carrying large-granularity services or a path carrying small-granularity services, the target end-to-end path includes a plurality of nodes, and the plurality of nodes include a first node and a second node;

[0405] A sending unit 812, configured to send a first control protocol message to the first node, where the first control protocol message carries first path information corresponding to the first node, and send a second control protocol message to the second node, where the second control protocol message carries second path information corresponding to the second node.

[0406] In a possible implementation manner, the sending unit 812 is configured to: send the first control protocol message to the first node and send the second control protocol message to the second node in a parallel manner.

[0407] In a possible implementation manner, the target path information includes: a service layer interface index, a flow identifier, and resource information, where the resource information includes bandwidth information or time slot information, and the target path information is the first path information or the second path information.

[0408] In a possible implementation manner, if the target end-to-end path is a path carrying large-granularity services, then the service layer interface index is a large-granularity service layer interface identifier, the flow identifier is a large-granularity flow identifier, and the time slot information is large-granularity time slot information.

[0409] In a possible implementation manner, if the target end-to-end path is a path carrying small-granularity services, then the service layer interface index is a small-granularity service layer interface identifier, the flow identifier is a small-granularity flow identifier, and the time slot information is sub-time slot information.

[0410] In a possible implementation manner, the apparatus further includes: a receiving unit, configured to receive first capability indication information sent by a third node, where the first capability indication information indicates whether the third node has the ability to automatically follow the upstream time slot configuration, the third node is the next-hop node of the first node in the target end-to-end path, and the first path information is used to enable the first node to establish communication with the third node.

[0411] In a possible implementation manner, the receiving unit is configured to: receive a third control protocol message sent by the third node, where the first capability indication information is included in the third control protocol message.

[0412] In a possible implementation manner, the third control protocol message includes a capability type length value TLV, and the capability TLV carries the first capability indication information.

[0413] In a possible implementation, the third control protocol message includes: a Border Gateway Protocol Link State (BGP-LS) message or a Path Computation Element Protocol Link State (PCEP-LS) message.

[0414] In a possible implementation, if the first capability indication information indicates that the third node does not have the ability to automatically follow the upstream time slot configuration, the resource information in the first path information is time slot information, and the sending unit 812 is further configured to: send the time slot information included in the first path information to the third node.

[0415] In a possible implementation, the receiving unit is further configured to: receive the time slot occupancy information sent by the first node and the third node, where the time slot occupancy information is used to enable the controller to determine the time slot information included in the first path information.

[0416] In a possible implementation, the first control protocol message is a first PCEP message, and the second control protocol message is a second PCEP message.

[0417] In a possible implementation, the target PCEP message includes an extended object, where the extended object is used to carry the target path information. When the target path information is the first path information, the target PCEP message is the first PCEP message; when the target path information is the second path information, the target PCEP message is the second PCEP message.

[0418] In a possible implementation, the extended object is a Central Controller Indication (CCI) object. The CCI object includes: a first field, a second field, and a first Type-Length-Value (TLV). The first TLV is used to carry the resource information in the target path information, the first field is used to carry the service layer interface index in the target path information, and the second field is used to carry the flow identifier in the target path information.

[0419] In a possible implementation, the target PCEP message is used to carry the target path information, and the target PCEP message includes indication information, where the indication information indicates the path type corresponding to the target path information. When the target path information is the first path information, the target PCEP message is the first PCEP message; when the target path information is the second path information, the target PCEP message is the second PCEP message.

[0420] In a possible implementation, the sending unit 812 is further configured to: before sending the first control protocol message to the first node, send a third PCEP message to the first node, where the third PCEP message includes an open object, and the open object includes a path establishment type capability sub-TLV, and the path establishment type capability sub-TLV indicates that the controller has the capability of end-to-end path calculation, and the path establishment type capability sub-TLV further indicates the path type corresponding to the controller's capability of end-to-end path calculation, and the path type is a path for carrying large-granularity services or a path for carrying small-granularity services.

[0421] In a possible implementation, the processing unit 811 is configured to: calculate the target end-to-end path according to the dynamic network topology.

[0422] In a possible implementation, the processing unit 811 is further configured to: before the sending unit 812 sends the first control protocol message to the first node, determine the multiplexing section of the target end-to-end path and the initial end-to-end path, where the target end-to-end path and the initial end-to-end path are two end-to-end paths between the source node and the destination node, and the initial end-to-end path is the end-to-end path calculated by the controller last time; the sending unit 812 is specifically configured to: when the multiplexing section does not include the section between the first node and the third node, send the first control protocol message to the first node.

[0423] See Figure 8b , which is a schematic structural diagram of another path information processing device provided by an embodiment of the present application. Figure 8b The path information processing device 820 shown can be applied to the first node provided in the above method embodiment, and is used to execute the path information processing method executed by the first node provided in the above method embodiment.

[0424] As Figure 8b shown, the path information processing device 820 includes: a receiving unit 821 and a processing unit 822.

[0425] The receiving unit 821 is configured to receive a first control protocol message sent by the controller, where the first control protocol message carries first path information, and the first path information is the path information corresponding to the first node in the target end-to-end path, the target end-to-end path includes the first node, and the target end-to-end path is a path for carrying large-granularity services or a path for carrying small-granularity services;

[0426] The processing unit 822 is configured to update the forwarding table entry according to the first path information.

[0427] In a possible implementation, the first path information includes: a service layer interface index, a flow identifier, and resource information, where the resource information includes bandwidth information or time slot information.

[0428] In a possible implementation, if the target end-to-end path is a path for carrying large-granularity services, then the service layer interface index is a large-granularity service layer interface identifier, the flow identifier is a large-granularity flow identifier, and the time slot information is large-granularity time slot information.

[0429] In a possible implementation, if the target end-to-end path is a path for carrying small-granularity services, then the service layer interface index is a small-granularity service layer interface identifier, the flow identifier is a small-granularity flow identifier, and the time slot information is sub-time slot information.

[0430] In a possible implementation, the receiving unit 821 is further configured to: receive first capability indication information sent by a third node, where the first capability indication information indicates whether the third node has the ability to automatically follow the upstream time slot configuration, the third node is the next-hop node of the first node in the target end-to-end path, and the first path information is used to enable the first node to establish communication with the third node.

[0431] In a possible implementation, the receiving unit 821 is configured to: receive a first Link Layer Discovery Protocol (LLDP) packet sent by the third node, where the first LLDP packet includes a first vendor type-length-value (TLV), and the vendor type-length-value TLV includes a first sub-TLV, and the first sub-TLV carries the first capability indication information.

[0432] In a possible implementation, if the first capability indication information indicates that the third node has the ability to automatically follow the upstream time slot configuration, then the first sub-TLV further indicates the following manner in which the third node automatically follows the upstream time slot configuration, and the following manner includes: following through data-plane packets and / or following through control-plane packets.

[0433] In a possible implementation, the first vendor TLV further includes a second sub-TLV, and the second sub-TLV indicates that the third node supports carrying large-granularity services or supports carrying small-granularity services.

[0434] In a possible implementation, if the first capability indication information indicates that the third node does not have the ability to automatically follow the upstream time slot configuration, then the resource information in the first path information is time slot information, and the apparatus further includes: a sending unit, configured to send time slot occupancy information to a controller, and the time slot occupancy information is used to enable the controller to determine the time slot information.

[0435] In a possible implementation, if the first capability indication information indicates that the third node has the ability to automatically follow the upstream time slot configuration, the processing unit 822 is further configured to: negotiate time slots with the third node, so that the third node obtains the time slot configuration information of the first node and performs local configuration based on the time slot configuration information.

[0436] In a possible implementation, if the resource information in the first path information is time slot information, the time slot configuration information is obtained according to the time slot information.

[0437] In a possible implementation, if the resource information in the first path information is bandwidth information, the time slot configuration information is obtained by the first node allocating time slots based on the bandwidth information.

[0438] In a possible implementation, the processing unit 822 is specifically configured to: send a second LLDP message to the third node, where the second LLDP message includes a second vendor TLV, the second vendor TLV includes a third sub-TLV, and the third sub-TLV carries the time slot configuration information.

[0439] In a possible implementation, the sending the second LLDP message to the third node includes: when it is determined that the following mode in which the third node automatically follows the upstream time slot configuration includes following through a control plane message, sending the second LLDP message to the third node.

[0440] In a possible implementation, the receiving unit 821 is configured to: receive a first path computation element communication protocol PCEP message sent by the controller.

[0441] In a possible implementation, the first PCEP message includes an extended object, and the extended object is used to carry the first path information.

[0442] In a possible implementation, the extended object is a central controller indication CCI object, and the CCI object includes: a first field, a second field, and a first type length value TLV. The first TLV is used to carry the resource information in the first path information, the first field is used to carry the service layer interface index in the first path information, and the second field is used to carry the flow identifier in the first path information.

[0443] In a possible implementation, the first PCEP message includes indication information, and the indication information indicates the path type corresponding to the first path information.

[0444] In a possible implementation, the receiving unit 821 is further configured to receive a second PCEP message sent by the controller before receiving a control protocol message sent by the controller. The second PCEP message includes an open object, and the open object includes a path establishment type capability sub-TLV. The path establishment type capability sub-TLV indicates that the controller has the capability of end-to-end path calculation. The path establishment type capability sub-TLV includes a fourth sub-TLV, and the fourth sub-TLV indicates the path type corresponding to the controller's capability of end-to-end path calculation. The path type is a path for carrying large granularity services or a path for carrying small granularity services.

[0445] See Figure 9 , which is a schematic structural diagram of a path information processing device provided by an embodiment of the present application. Figure 9 The path information processing device 900 shown includes a processing circuit 910 and an interface circuit 920. The processing circuit 910 and the interface circuit 920 are coupled to each other. It can be understood that the interface circuit 920 can be a transceiver or an input / output interface. Optionally, the path information processing device 900 may further include a memory for storing instructions executed by the processing circuit or storing input data required for the processing circuit 910 to run instructions or storing data generated after the processing circuit 910 runs instructions. In one example, the interface circuit 920 is configured to perform the transceiver operations executed by the controller provided in the above method embodiments, and the processing circuit 910 is configured to perform other operations executed by the controller except for the transceiver operations. In another example, the interface circuit 920 is configured to perform the transceiver operations executed by the first node provided in the above method embodiments, and the processing circuit 910 is configured to perform other operations executed by the first node except for the transceiver operations.

[0446] See Figure 10 , which is a schematic structural diagram of another path information processing device provided by an embodiment of the present application. Figure 10The path information processing device 1000 shown includes a processor 1010 and a communication interface 1020. The processor 1010 and the communication interface 1020 are coupled to each other. It can be understood that the communication interface 1020 can be a transceiver or an input / output interface. Optionally, the communication device 1000 may further include a memory 1030 for storing instructions executed by the processor 1010 or storing input data required for the processor 1010 to run instructions or storing data generated after the processor 1010 runs instructions. In one example, the communication interface 1020 is used to perform the transceiver operations executed by the controller provided in the above method embodiments, and the processor 1010 is used to perform other operations executed by the controller except for the transceiver operations. In another example, the communication interface 1020 is used to perform the transceiver operations executed by the first node provided in the above method embodiments, and the processor 1010 is used to perform other operations executed by the first node except for the transceiver operations.

[0447] The embodiment of the present application also provides a communication system (i.e., a path information processing system). Using this communication system, when a device detects a change in topological resources, it actively reports the topological resource information to the controller, which helps the controller to perceive the dynamic changes of topological resources in real time and supports the dynamic path calculation function implemented by the controller. Moreover, after the controller calculates the target end-to-end path, it sends the corresponding path information to the first node and the second node on the target end-to-end path through control protocol messages. Since the first node and the second node have a high parsing efficiency for the control protocol messages, the first node can quickly update the forwarding table entries based on the first control protocol message. Correspondingly, the second node can also quickly update the forwarding table entries based on the second control protocol message. Therefore, using this communication system can improve the effective efficiency of the target end-to-end path, and correspondingly, can improve the service quality provided for the service.

[0448] The communication system provided by the embodiment of the present application may include network devices and a controller. The network devices include a first network device, a second network device, a first node, and a second node.

[0449] The first network device is used to send first topological resource information to the controller in response to detecting a change in topological resources. The first topological resource information includes the identifier of the first interface, the identifier of the second interface, the resource information of the first interface, the identifier of the first network device, and the identifier of the second network device. The first network device includes the first interface, the second network device includes the second interface, and the first interface is connected to the second interface; wherein, both the first interface and the second interface are interfaces capable of carrying small-granularity services, or both the first interface and the second interface are interfaces capable of carrying large-granularity services;

[0450] The controller is configured to determine a target end - to - end path based on the first topology resource information. The target end - to - end path is a path for carrying large - granularity services or a path for carrying small - granularity services. The target end - to - end path includes multiple nodes, and the multiple nodes include a first node and a second node;

[0451] The controller is further configured to send a first control protocol message to the first node, where the first control protocol message carries first path information corresponding to the first node;

[0452] The controller is further configured to send a second control protocol message to the second node, where the second control protocol message carries second path information corresponding to the second node.

[0453] In the following description, the identifier of the first network device may also be referred to as the first network device identifier, and the two can be used interchangeably. Correspondingly, the identifier of the second network device may also be referred to as the second network device identifier, and the two can be used interchangeably.

[0454] In addition, when the first interface and the second interface are interfaces for carrying large - granularity services, the first interface and the second interface are physical interfaces. For example, the first interface is the first physical interface and the second interface is the second physical interface. When the first interface and the second interface are interfaces for carrying small - granularity services, the first interface and the second interface are clients. For example, the first interface is the first client and the second interface is the second client.

[0455] In a possible implementation, the first network device and the first node may be the same network device.

[0456] In a possible implementation, the second network device and the second node may be the same network device.

[0457] In a possible implementation, the first network device and the first node may be different network devices.

[0458] In a possible implementation, the second network device and the second node may be different network devices.

[0459] Next, the operations performed by each object (the controller and the network devices) in this communication system will be described separately.

[0460] See Figure 11 , which is a schematic structural diagram of a communication system provided by an embodiment of the present application.

[0461] In an embodiment of the present application, the topology resource information can be obtained by means of the interaction of control protocol messages between network devices. Next, the interaction method between network devices will be introduced. Among them, the first topology resource information mentioned above includes the first link information and the attribute information of the first link.

[0462] Reference Figure 11 , Figure 11 shows a schematic diagram of a network system 20 for carrying large-granularity services and / or small-granularity services provided by an embodiment of the present application. Figure 11 The shown network system 20 includes a plurality of network devices 210 and a controller 220.

[0463] The network device 210 is used to forward large-granularity service data and / or small-granularity service data. The network device 210 is also referred to as a node, a network element, a forwarding device, or a switching device. For example, the network device 210 is a router, a switch, a firewall, or a security gateway. In some embodiments, the plurality of network devices 210 includes a plurality of PE devices and a plurality of P devices, such as device PE1 and device PE2, and devices P1 to P6 in the figure.

[0464] In some embodiments, the plurality of network devices 210 are located in the same IGP domain. The plurality of network devices 210 belong to the same autonomous system (AS). For example, an IGP neighbor relationship is established between any two of the network devices 210, such as device PE1, device PE2, device P1, device P2, device P3, and device P4. The network devices 210 advertise their topology resource information to each other based on IGP. In other embodiments, the plurality of network devices 210 belong to different ASs. The network devices 210 advertise their topology resource information to each other based on BGP.

[0465] In some embodiments, each of the plurality of network devices 210 includes one or more FlexE physical interfaces, a plurality of FlexE group interfaces, and one or more FlexE client interfaces obtained by slot division based on the FlexE physical interfaces, and the FlexE client interfaces of different devices are connected. The plurality of FlexE physical interfaces of the same device can form a FlexE group.

[0466] For example, reference Figure 11, the FlexE physical interface 1 of device P4 is connected to the FlexE physical interface 1 of device P5 through a link. The FlexE physical interface 2 of device P4 is connected to the FlexE physical interface 2 of device P5 through a link. For example, the FlexE physical interface 1 and the FlexE physical interface 2 of device P4 form FlexE group1. Time slot slicing is performed based on the bandwidth resources of the FlexE physical interface 1 and the bandwidth resources of the FlexE physical interface 2 to obtain FlexE client interface 0, FlexE client interface 1, and FlexE client interface 2. For example, the time slots occupied by the FlexE physical interface 1 are divided into 20 time slots, FlexE client interface 0 occupies 18 time slots, FlexE client interface 1 occupies 1 time slot, and FlexE client interface 2 occupies 1 time slot.

[0467] The controller 220 is used to determine the path for carrying large granularity services (hereinafter referred to as large granularity path calculation) or / and determine the path for carrying small granularity services (hereinafter referred to as small granularity path calculation). The controller 220 can be a device running a network management system (NMS). The controller 220 can be a functional module that implements control and / or management functions, or a physical entity running relevant functional modules. The above physical entity can be, for example, a server installed with relevant software, and the relevant software is used to implement the functions of the control management entity. The embodiments of the present application do not make specific limitations.

[0468] The network device 210 communicates with the controller 220 based on a control protocol or a management protocol. For example, the network device 210 includes a Path calculation client (PCC), the controller 220 includes a path computation element (PCE), a PCEP-LS session is established between the network device 210 and the controller 220, and the network device 210 and the controller 220 communicate based on the PCEP-LS protocol. Another example is that a BGP-LS session is established between the network device 210 and the controller 220, and the network device 210 and the controller 220 communicate based on the BGP-LS protocol.

[0469] In Figure 11 In the scenario shown, in order to support the controller 220 to implement the functions of large granularity path calculation or / and small granularity path calculation, the network device 210 can perform dynamic collection and dynamic reporting of the topology, so as to provide a relatively real-time and accurate basis for the controller 220 to perform dynamic path calculation. Among them, the main difference between the large granularity path calculation scenario and the small granularity path calculation scenario lies in the basis of path calculation, that is, the topology involved in reporting and path calculation is different.

[0470] For example, in a scenario of large-granularity routing calculation, the device dynamically reports the FlexE topology, enabling the controller 220 to determine the FlexE-Channel based on the reported FlexE topology. Among them, the FlexE topology includes the FlexE physical interfaces in the device, the connection relationships between FlexE physical interfaces of different devices, and the resource information of the FlexE physical interfaces. Optionally, the FlexE topology further includes the FlexE groups in the device and the connection relationships between FlexE groups of different devices.

[0471] For another example, in a scenario of small-granularity routing calculation, the device dynamically reports the MTN large-granularity topology, enabling the controller 220 to determine the Fg-Channel (also known as the small-granularity path) based on the reported MTN large-granularity topology. The MTN large-granularity topology includes FlexE client interfaces, the connection relationships between FlexE client interfaces of different devices, and the resource information of the FlexE client interfaces.

[0472] In some embodiments, whether to report the FlexE topology or the MTN large-granularity topology is determined based on service requirements. For example, if the service needs to be carried over a small-granularity path, the MTN large-granularity topology is reported; if the service needs to be carried over a large-granularity path, the FlexE topology is reported; if a part of the service needs to be carried over a small-granularity path while another part of the service needs to be carried over a large-granularity path, both the FlexE topology and the MTN large-granularity topology are reported simultaneously. The topology types reported in this embodiment are not limited.

[0473] The method flow of the embodiments of the present application is illustrated below by way of example.

[0474] Att Figure 12 is a flowchart of a method for reporting topology resource information provided by an embodiment of the present application. Att Figure 12 The method shown is executed through the interaction between a network device and a controller.

[0475] Att Figure 12 Some embodiments of the method shown involve multiple network devices. To distinguish different network devices, "the first network device" and "the second network device" are used to distinguish and describe multiple different network devices. To distinguish different interfaces, "the first interface" and "the second interface" are used to distinguish and describe multiple different interfaces. To distinguish different links, "the first link" and "the second link" are used to distinguish and describe multiple different links. For example, the first network device includes the first interface, the second network device includes the second interface, and the first interface is connected to the second interface through the first link. The first link is a point-to-point link between devices. The first link is, for example, a link carrying large-granularity services or a link carrying small-granularity services.

[0476] Since the topology reporting processes performed by different network devices are similar, for the convenience of readers' understanding and concise description, the Figure 12 illustrated process focuses on how the first network device reports the topology related to its own end to the controller as an example. The topology reporting processes of other network devices except the first network device can all refer to the topology reporting process performed by the first network device.

[0477] Regarding the relationship between network devices, links, and end-to-end paths, a link can be a small segment in an end-to-end path, and an end-to-end path includes at least one-hop link. A network device can be a node through which an end-to-end path passes.

[0478] The Figure 12 illustrated method can be applied to Figure 11 the network system 20 shown in the figure. For example, in the Figure 12 illustrated method, the first network device is Figure 11 any one of the network devices PE1, PE2, P1, P2 to P6 in the network system shown in the figure. Taking the first network device as device P4 as an example, the second network device is, for example, device P5.

[0479] The Figure 12 illustrated method includes the following steps S310 to S370.

[0480] Step S310, the first network device collects topology resource information.

[0481] The topology resource information is used to indicate the connection relationship between the interfaces of network devices participating in end-to-end path calculation and the resources of the interfaces. The topology resource information is also called slice topology information. The topology resource information includes at least one of FlexE topology or / and MTN large-granularity topology. The topology resource information is equivalent to the input data for path calculation or the basis for path calculation.

[0482] The term "topological resource" can be expressed differently in different scenarios. For example, in the scenario of large-granularity path calculation, topological resource information can also be referred to as FlexE topology, FlexE physical interface topology, FlexE group topology, or topological resource information for large-granularity path calculation. Topological resource information is used to indicate the connection relationship between the FlexE physical interfaces of network devices participating in FlexE channel calculation and the resources possessed by the FlexE physical interfaces. Optionally, topological resource information is also used to indicate the connection relationship between the FlexE groups of network devices participating in FlexE channel calculation and the resources possessed by the FlexE groups. In the scenario of small-granularity path calculation, topological resource information is used to indicate the connection relationship between the FlexE clients of each network device participating in small-granularity path calculation and the available resources possessed by the FlexE clients. Topological resource information is also referred to as MTN large-granularity topology or topological resource information for small-granularity path calculation.

[0483] In some embodiments, topological resource information can also be referred to as link information. For example, topological resource information includes the identifier of the local interface, the identifier of the peer interface connected to the local interface through a link, the identifier of the local device, and the identifier of the peer device. The combination of the identifier of the local interface, the identifier of the peer interface, the identifier of the local device, and the identifier of the peer device is equivalent to the identifier of the link and can uniquely identify a link in a network (such as an AS or an IGP domain). Since the reported topological resource information includes the identifier of the local interface and the identifier of the peer interface, it is equivalent to reporting the connection relationship between the local interface and the peer interface, or reporting the identifier of the link between the local interface and the peer interface, which facilitates the controller to determine the reachable path between devices based on the connection relationship between the interfaces. Since the reported topological resource information includes the identifier of the local device and the identifier of the peer device, it is convenient for the controller to perceive which device the device reporting the topology is connected to.

[0484] For example, from the perspective of the first network device, the topological resource information collected by the first network device includes the information of the first link. The information of the first link includes the identifier of the first interface, the identifier of the second interface, the identifier of the first network device, and the identifier of the second network device.

[0485] The first network device is a specific example of the local device. The identifier of the first network device is used to identify the first network device (local device). For example, the identifier of the first network device is the network address of the first network device. For example, the identifier of the first network device is the IP address of the first network device. For example, the identifier of the first network device is the IP address of the first network device used to establish an IGP neighbor relationship with the second network device. The identifier of the first network device is equivalent to the parent information of the identifier of the first interface.

[0486] The first interface is a specific example of the local interface. The identifier of the first interface is used to uniquely identify the first interface. The identifier of the first interface is also referred to as the identifier of the first link locally at the first network device (link local identifier, refer to RFC4202) or the local interface identifier (Local Interface ID, refer to RFC8510). Exemplarily, both the first interface and the second interface include FlexE physical ports, and the identifier of the first interface includes the PHY number of the first interface. The identifier of the second interface includes the PHY number of the second interface. Also, for example, both the first interface and the second interface include the identifier of the FlexE client interface, the identifier of the first interface includes the FlexE client ID of the first interface, and the identifier of the second interface includes the FlexE client ID of the second interface. Also, for example, the identifier of the first interface includes the FlexE client index of the first interface, and the identifier of the second interface includes the FlexE client index of the second interface.

[0487] The second network device is a specific example of the peer device. The identifier of the second network device is used to identify the second network device (peer device). For example, the identifier of the second network device is the network address of the second network device. For example, the identifier of the second network device is the IP address of the second network device. For example, the identifier of the second network device is the IP address of the second network device used to establish an IGP neighbor relationship with the first network device. The identifier of the second network device is equivalent to the parent information of the identifier of the second interface.

[0488] The second interface is a specific example of the peer interface. The second interface and the first interface are equivalent to the two endpoints used by the two devices at both ends to transmit service data. The identifier of the second interface is used to uniquely identify the second interface. The identifier of the second interface is equivalent to the identifier of the first link locally at the second network device (remote local identifier).

[0489] Exemplarily, in the scenario of large-granularity path calculation, the topology resource information includes the identifier of the local FlexE physical port and the identifier of the peer FlexE physical port. Since the reported topology resource information includes the identifiers of the FlexE physical ports of the two devices at both ends, it is convenient for the controller to know which pair of FlexE physical ports has a connection relationship. For example, both the first interface and the second interface include FlexE physical ports. The topology resource information includes the identifier of the FlexE physical port in the local device acting as the first interface and the identifier of the FlexE physical port of the peer device acting as the second interface.

[0490] In some embodiments, when the identifier of the local FlexE physical port is the same as the identifier of the peer FlexE physical port connected thereto, the network device may also report the identifier of the local FlexE physical port without reporting the identifier of the peer FlexE physical port.

[0491] In some embodiments, both the first interface and the second interface are interfaces capable of carrying small-granularity services. Exemplarily, both the first interface and the second interface are FlexE physical ports. Alternatively, both the first interface and the second interface are FlexE client interfaces.

[0492] Exemplarily, in a small-granularity routing scenario, the topology resource information includes the identifier of the local FlexE client interface and the identifier of the peer FlexE client interface. The identifier of the local FlexE client interface and the identifier of the peer FlexE client interface are used to identify the connection relationship of a pair of FlexE clients. For example, the first interface of the first network device is FlexE client interface A, and the second interface of the second network device is FlexE client interface B, and FlexE client interface A is communicatively connected to FlexE client interface B. The topology resource information reported by the first network device includes the identifier of FlexE client interface A and the identifier of FlexE client interface B. For example, in the Figure 11 scenario shown in the figure, FlexE client 0 of device P4 is connected to FlexE client 0 of device P5, and the topology resource information reported by device P4 includes the identifier of device P4, the identifier of FlexE client 0 in device P4, the identifier of device P5, and the identifier of FlexE client 0 in device P5.

[0493] In some embodiments, when the identifier of the local FlexE client interface is the same as the identifier of the peer FlexE client interface connected thereto, the network device reports the identifier of the local FlexE client interface without reporting the identifier of the peer FlexE client interface, and the controller determines that the two FlexE client interfaces have a connection relationship based on the fact that the two FlexE client interfaces in the two network devices have the same identifier. This method helps to reduce the overhead caused by reporting because the amount of topology resource information reported is smaller.

[0494] In some embodiments, the topology resource information collected by the network device further includes the identifier of the local FlexE group and the identifier of the peer FlexE group. For example, the first network device includes a first FlexE group, and the second network device includes a second FlexE group. The first FlexE group is communicatively connected to the second FlexE group. The first FlexE group includes a first interface, and the second FlexE group includes a second interface. The first interface is communicatively connected to the second interface. On the basis of including the identifier of the first interface and the identifier of the second interface, the topology resource information collected by the first network device further includes the identifier of the first FlexE group and the identifier of the second FlexE group.

[0495] For example, in the scenario of large-granularity path calculation, on the basis of including the identifier of the local first FlexE physical interface and the identifier of the peer second FlexE physical interface, the topology resource information collected by the first network device further includes the identifier of the first FlexE group to which the first FlexE physical interface belongs and the identifier of the second FlexE group to which the second FlexE physical interface belongs. For example, in the scenario of small-granularity path calculation, on the basis of including the identifier of the local first FlexE client and the identifier of the peer second FlexE client, the topology resource information collected by the first network device further includes the identifier of the first FlexE group to which the first FlexE client belongs and the identifier of the second FlexE group to which the second FlexE client belongs.

[0496] By collecting and reporting the identifier of the local FlexE group and the identifier of the peer FlexE group, on the one hand, it supports the controller to calculate routes across FlexE physical interfaces within the same FlexE group based on the identifier of the FlexE group. On the other hand, considering that the identifiers of FlexE clients or FlexE physical interfaces in different FlexE groups may be repeated, while the identifiers of FlexE client interfaces or FlexE physical interfaces within the same FlexE group are unique. In other words, the combination of the identifier of the interface and the identifier of the FlexE group to which the interface belongs can uniquely identify an interface in the network device. Therefore, by reporting the identifier of the interface itself and the identifier of the FlexE group to which the interface belongs, the controller can distinguish different interfaces based on the identifier of the FlexE group and the identifier of the interface, making the identifier of the interface unique at the device level and reducing the probability of the controller confusing different interfaces. For example, an interface capable of carrying large-granularity services can be uniquely identified by including the combination of the identifier of a FlexE group and the identifier of a FlexE physical interface (PHY), and an interface capable of carrying small-granularity services can be uniquely identified by including the combination of the identifier of a FlexE group and the identifier of a FlexE client interface.

[0497] In some embodiments, the topology resource information collected by the network device includes the identifiers of multiple interfaces within the same local FlexE group, the resource information of these multiple interfaces, and the identifiers of the multiple peer interfaces corresponding to these multiple interfaces, so as to be able to notify the connection relationships of multiple pairs of interfaces within the FlexE group to the controller at the same time, making the topology resource information perceived by the controller more complete and comprehensive. In an exemplary scenario, the first FlexE group in the first network device includes not only the above-mentioned first interface but also the third interface. The second FlexE group in the second network device includes not only the above-mentioned second interface but also the fourth interface. The third interface is connected to the fourth interface. The first FlexE group is communicatively connected to the second FlexE group. In this scenario, the topology resource information obtained and reported by the first network device may include not only the identifier of the first interface, the identifier of the second interface, the resource information of the first interface, the identifier of the first network device, and the identifier of the second network device, but also further include the identifier of the third interface, the identifier of the fourth interface, and the resource information of the third interface. Among them, both the third interface and the fourth interface are interfaces capable of carrying small-granularity services, or both the third interface and the fourth interface are physical interfaces capable of carrying large-granularity services.

[0498] For example, in the scenario of large-granularity routing calculation, when there are multiple FlexE physical ports in the same FlexE group, in some embodiments, the network device obtains and reports the identifiers of multiple FlexE physical ports in its local FlexE group, the resource information of the multiple FlexE physical ports, and the identifiers of the multiple peer FlexE physical ports corresponding to the multiple FlexE physical ports, so as to simultaneously notify the controller of the connection relationships of multiple pairs of FlexE physical ports in the FlexE group. For example, FlexE group1 in network device A includes FlexE physical port 1 and FlexE physical port 2. FlexE physical port 1 has an available bandwidth of 10G, and FlexE physical port 2 has an available bandwidth of 20G. Network device A obtains and reports the identifier of FlexE physical port 1, the available bandwidth of 10G, the identifier of FlexE physical port 2, and 20G. FlexE physical port 1 and FlexE physical port 2 are specific examples of the first interface and the third interface.

[0499] For example, in the scenario of small-granularity routing calculation, when there are multiple FlexE client interfaces in the same FlexE group, in some embodiments, multiple FlexE client interfaces in the FlexE group of the local network device can be connected point-to-point to each FlexE client interface in the FlexE group of the peer network device. The network device obtains and reports the identifiers of multiple FlexE client interfaces in the FlexE group, the resource information of the multiple FlexE client interfaces, and the identifiers of the multiple peer FlexE client interfaces corresponding to the multiple FlexE client interfaces, so as to notify the controller of the connection relationships of each pair of FlexE clients in the FlexE group. For example, FlexE group1 in network device A includes FlexE client interface 1 and FlexE client interface 2. FlexE client interface 1 has an available bandwidth of 50M, and FlexE client interface 2 has an available bandwidth of 40M. Network device A obtains and reports the identifier of FlexE client interface 1, the available bandwidth of 50M, the identifier of FlexE client interface 2, and 40M. FlexE client interface 1 and FlexE client interface 2 are specific examples of the first interface and the third interface.

[0500] In some embodiments, the topology resource information collected by the network device includes the identifier of each interface among all the interfaces within the same FlexE group at the local end, the resource information of each interface, and the identifiers of multiple peer interfaces corresponding to each of these interfaces. In some other embodiments, the topology resource information collected by the network device includes the identifiers of some of the interfaces among all the interfaces within the same FlexE group at the local end, the resource information of some of the interfaces, and the identifiers of multiple peer interfaces corresponding to some of the interfaces. The number of interface information reported by the network device can be determined based on configurations, service requirements, or other factors, and this embodiment does not limit the number of interface information reported by the network device.

[0501] In some other embodiments, the first network device may also report the identifier of the local FlexE physical interface and the identifier of the peer FlexE physical interface, without reporting the identifier of the local FlexE group and the identifier of the peer FlexE group. For example, the controller directly divides large-granularity interfaces or small-granularity interfaces based on the same FlexE physical interface, which is equivalent to a single FlexE physical interface serving as a container for large-granularity services or small-granularity services.

[0502] In some further embodiments, when the identifier of the local FlexE group is the same as the identifier of the peer FlexE group it is connected to, the network device may also report the identifier of the local FlexE group without reporting the identifier of the peer FlexE group.

[0503] In some further embodiments, when the identifier of the FlexE client can uniquely identify a FlexE client in the local network device, for example, when the identifiers of any two FlexE clients of the first network device are different, the network device may also not report the identifier of the local FlexE group and directly report the FlexE client ID as the identifier of the local interface.

[0504] Regarding the implementation method for obtaining the identifier of the peer device and the identifier of the peer interface, in some embodiments, the first network device performs signaling interaction with the second network device based on the neighbor discovery mechanism in the link state protocol. During the signaling interaction, the first network device sends the interface identifier (identifier of the first interface) of the local device and the identifier of the local device (identifier of the first network device) to the second network device, and receives the interface identifier (identifier of the second interface) of the peer device and the identifier of the peer device (identifier of the second network device) from the second network device. The link state protocol is, for example, LLDP or LMP.

[0505] In some embodiments, the topology resource information collected by the network device includes the resource information of the local interface. For example, in the small-granularity path calculation scenario, the resource information of the local interface is the resource information of the FlexE client acting as the container for the small-granularity service. For another example, in the large-granularity path calculation scenario, the resource information of the local interface is the resource information of the FlexE physical interface or FlexE group acting as the container for the large-granularity service.

[0506] For example, the resource information of the link collected and reported by the network device includes at least one of the bandwidth information of the local interface or / and the time slot information of the local interface. For example, the topology resource information reported by the first network device includes the resource information of the first interface. The resource information of the first interface is used to indicate the available resource amount of the first interface. For example, the resource information of the first interface includes at least one of the remaining resource amount of the first interface, the occupied resource amount of the first interface, or the maximum available resource amount configured for the first interface.

[0507] In some embodiments, when performing topology collection, the network device also collects the bandwidth information of the local interface so that when reporting the topology subsequently, it reports the topology resource information including the bandwidth information of the local interface. For example, the topology resource information obtained by the first network device includes the bandwidth information of the first interface.

[0508] Regarding the bandwidth information collected and sent by the network device, in some embodiments, the bandwidth information of the interface collected and reported by the network device includes the maximum link bandwidth, the available bandwidth of the interface, the maximum reservable link bandwidth, or the occupied bandwidth of the interface.

[0509] The maximum bandwidth of the interface refers to the maximum bandwidth that the interface can use in total. In an exemplary scenario, the network device reports the maximum bandwidth of the interface when collecting the bandwidth for the first time, and after the controller performs path calculation, subtracts the bandwidth allocated for the path from the maximum bandwidth of the interface to obtain the available bandwidth of the interface.

[0510] The available bandwidth of an interface is also known as the remaining bandwidth of the interface or the bandwidth that has not been occupied. The available bandwidth of an interface is the remaining bandwidth obtained by subtracting the occupied bandwidth from the maximum bandwidth of the interface. Since the available bandwidth of the interface is obtained and sent, it is convenient for the controller to allocate part or all of the bandwidth from the available bandwidth of the interface to the end-to-end forwarding path during path calculation, which is applicable to the bandwidth-based path calculation mode. For example, by obtaining and sending the bandwidth information of a large-granularity interface, it is convenient for the controller to allocate part of the bandwidth from the available bandwidth of the large-granularity interface to a small-granularity path. Another example is that by obtaining and sending the bandwidth information of a FlexE physical interface, it is convenient for the controller to allocate part of the bandwidth from the available bandwidth of the FlexE physical interface to a large-granularity path during path calculation. Further, since the bandwidth information has a relatively small data volume compared to other types of interface resource information, obtaining and reporting the bandwidth information of the interface helps to reduce the transmission overhead generated by reporting topology resource information and also facilitates the controller to perform bandwidth management based on the received bandwidth information of each interface.

[0511] The maximum reservable bandwidth of an interface is the maximum bandwidth that the configured interface is allowed to use. In scenarios where a quota is configured for the interface and the interface is allowed to use only a specific bandwidth at most, it is convenient for the controller to allocate part or all of the bandwidth from the maximum reservable bandwidth of the interface to the end-to-end forwarding path during path calculation.

[0512] In some embodiments, when a network device performs topology collection, it also collects the time slot information of its local interfaces, so that when reporting the topology later, it reports the topology resource information including the time slot information of its local interfaces. For example, the first network device includes a first interface. The first network device obtains the identifier of the first interface, the identifier of the second interface, the time slot information of the first interface, the identifier of the first network device, and the identifier of the second network device, and then sends the identifier of the first interface, the identifier of the second interface, the time slot information of the first interface, the identifier of the first network device, and the identifier of the second network device to the controller.

[0513] Since the slot information of the interface is obtained and sent, it is convenient for the controller to calculate routes based on the slot information of the interface, which is more suitable for the slot-based route calculation mode. For example, by obtaining and sending the slot information of the FlexE client interface, it is convenient for the controller to calculate small-granularity paths based on the slot information of the FlexE client interface when calculating routes. For example, by obtaining and sending the slot information of the FlexE physical interface, it is convenient for the controller to calculate large-granularity paths based on the slot information of the FlexE physical interface when calculating routes. Further, since end-to-end forwarding paths such as large-granularity paths or small-granularity paths are all created based on the reserved slots of each interface, by obtaining and reporting topological resource information including slot information, the route calculation results sent by the controller based on the topological resource information can include the slot information of each target interface passed through in the path, enabling each device to reserve slots at the target interface based on the slot information sent by the controller to create an end-to-end forwarding path, without each device calculating the slot information based on the bandwidth information at its own end to reserve slots at the target interface, thus saving the processing overhead generated by the device calculating the slot information based on the bandwidth information.

[0514] In some embodiments, when the network device performs topology collection, it also collects the bandwidth information of its own interface and the slot information of its own interface, so as to report topological resource information including the bandwidth information of its own interface during subsequent topology reporting. For example, the first network device includes a first interface, and the topological resource information obtained by the first network device includes the bandwidth information of the first interface and the slot information of the first interface. Subsequently, when reporting the topology, the slot information of the first interface and the bandwidth information of the first interface are sent. Since the bandwidth information and the slot information are reported together, it helps the controller obtain a more accurate route calculation result by combining the bandwidth information and the slot information.

[0515] In some embodiments, when the network device performs topology collection, it also collects the bandwidth information of the peer interface, so as to report topological resource information including the bandwidth information of its own interface and the bandwidth information of the peer interface during subsequent topology reporting. For example, the first network device includes a first interface, and the second interface of the second network device is connected to the first interface. The first network device obtains the identifier of the first interface, the identifier of the second interface, the bandwidth information of the first interface, the bandwidth information of the second interface, the identifier of the first network device, and the identifier of the second network device. Subsequently, the identifier of the first interface, the identifier of the second interface, the bandwidth information of the first interface, the bandwidth information of the second interface, the identifier of the first network device, and the identifier of the second network device are sent to the controller. Alternatively, considering that the bandwidth information of the own interface and the bandwidth information of the peer interface are usually equal, or the peer will also send the bandwidth information of the interface to the controller, the step of obtaining and reporting the bandwidth information of the peer interface is omitted, and the bandwidth information of the own interface is obtained and reported.

[0516] In some embodiments, when the network device performs topology collection, it also collects the timeslot information of the peer interface, so that when reporting the topology subsequently, it reports the topology resource information including the timeslot information of the local interface and the timeslot information of the peer interface. For example, the first network device includes a first interface, the second interface of the second network device is connected to the first interface, the topology resource information obtained by the first network device includes the timeslot information of the first interface, the first network device obtains the identifier of the first interface, the identifier of the second interface, the timeslot information of the first interface, the timeslot information of the second interface, the identifier of the first network device, and the identifier of the second network device, and subsequently sends the identifier of the first interface, the identifier of the second interface, the timeslot information of the first interface, the timeslot information of the second interface, the identifier of the first network device, and the identifier of the second network device to the controller. Alternatively, considering that the timeslot information of the local interface and the timeslot information of the peer interface are usually equal, or the peer also sends the bandwidth information of the interface to the controller, the steps of obtaining and reporting the timeslot information of the peer interface are omitted, and the timeslot information of the local interface is obtained and reported.

[0517] In some embodiments, the timeslot information of the local interface (such as the first interface) collected and reported by the first network device includes the slot state. The slot state of the local interface (such as the first interface) is used to indicate whether the timeslot is occupied or available. The timeslot being available is also referred to as the timeslot being in an idle state or a remaining timeslot. By collecting and reporting the slot state, it is clear which timeslots are available and which are occupied among the several timeslots occupied by the interface, enabling the controller to further allocate timeslots from the available timeslots for the paths to be calculated, reducing the risk of resource contention caused by further allocating timeslots from the occupied timeslots.

[0518] In some embodiments, the time slot status is represented in the form of a bit string mask. The bit string mask includes a series of bits. Each bit in the bit string mask corresponds to a time slot. The value of each bit in the bit string mask is used to identify whether the corresponding time slot is available. For example, the length of the bit string mask represents the total number of time slots of the interface. The length of the bit string mask is, for example, the number of bits in the bit string mask. The sequential position of the bit in the bit string mask matches the number of the time slot corresponding to the bit. For example, if the bit string mask contains a total of n bits, it means the interface has n time slots. The i-th bit in the bit string mask represents that the corresponding time slot number is i, where i is 0 or a positive integer. The value of the i-th bit in the bit string mask represents whether the time slot corresponding to the i-th bit is available. For example, if the value of the i-th bit in the bit string mask is 0, it means the i-th time slot is available, and if the i-th bit is 1, it means the i-th time slot is occupied. The number of bits with a value of 0 in the bit string mask represents the number of available time slots of the interface. The number of bits with a value of 1 in the bit string mask represents the number of occupied time slots of the interface. For example, the time slot status of the first interface is the bit string mask 11010001, which means the first interface has a total of 8 time slots, and the 1st, 2nd, 4th, and 8th time slots are occupied, while the 3rd, 5th, 6th, and 7th time slots are available.

[0519] By representing the time slot status in the form of a bit string mask, the time slot status can not only represent whether the time slot is available, but also implicitly represent the number of time slots and the time slot numbers. In other words, when the device reports the time slot status of an interface in the form of a bit string mask, the controller can determine how many time slots the interface has based on the length of the bit string mask, and determine whether each time slot of the interface is available based on the values of the individual bits in the bit string mask, without the device separately sending the number of time slots the interface has and the time slot numbers corresponding to the interface, thereby further improving the efficiency of the device reporting time slot information.

[0520] In some embodiments, the slot information of the local interface (the first interface) collected and reported by the network device includes the slot granularity. The slot granularity (slot size) is also referred to as the slot size. The slot granularity is used to indicate the bandwidth occupied by a slot. The unit of the slot granularity is, for example, Mbps. For example, in the large-granularity path calculation scenario, the slot granularity is 1, indicating that the bandwidth occupied by a slot is 1024 Mbps (1 Gbps). Another example is that the slot granularity is 5 * 1024, indicating that the bandwidth amount occupied by a slot is 5 * 1024 Mbps (5 Gbps). Another example is that in the small-granularity path calculation scenario, the slot granularity is 10, indicating that the bandwidth amount occupied by a slot is 10 Mbps. In some embodiments, the slot granularity is the granularity of the slot slicing supported by the local interface. For example, in the large-granularity path calculation scenario, the slot granularity is the slot granularity of the local FlexE physical port supporting slot slicing. For example, the slot granularity that the local FlexE physical port supports for slicing is 5G or 1G, and the slot granularity is 5 * 1024 Mbps or 1024 Mbps. Another example is that in the small-granularity path calculation scenario, the slot granularity is the slot granularity of the local FlexE client supporting slot slicing. For example, the slot granularity that the local FlexE client supports for slicing is 10 Mbps, and the slot granularity is 10 Mbps. By reporting the slot granularity, it is convenient for the controller to determine the number of slots to be allocated based on the slot granularity.

[0521] In some other embodiments, the slot information collected and reported by the network device further includes the total number of slots of the interface, the available number of slots of the interface, the total number of occupied slots of the interface, the identifier of the available slots (slot number), and / or the identifier of the occupied slots. This embodiment does not limit whether to send the number of slots of the interface and the identifier of the slots.

[0522] By collecting and reporting the slot granularity, it is convenient for the controller to determine the number of slots to be allocated for each interface passed by the path based on the slot granularity.

[0523] Whether to send the bandwidth information or the slot information is determined based on the resource collection mode of the device, for example. For example, the resource collection mode of the first network device includes the bandwidth mode. The first network device obtains the bandwidth information of the first interface and sends the bandwidth information of the first interface when reporting the topology later. Another example is that the resource collection mode of the first network device includes the slot mode. The first network device obtains the slot information of the first interface and sends the slot information of the first interface when reporting the topology later. For example, the resource collection mode of the first network device includes the bandwidth mode and the slot mode. The first network device obtains the slot information and the bandwidth information of the first interface and sends the slot information and the bandwidth information of the first interface when reporting the topology later.

[0524] The resource collection mode is used to indicate whether to collect bandwidth information or / and time slot information when collecting topology resource information. The resource collection mode includes a bandwidth mode and a time slot mode. The bandwidth mode is used to indicate collecting bandwidth information when collecting topology resource information. The time slot mode is used to indicate collecting time slot information when collecting topology resource information.

[0525] Regarding the method for determining the resource collection mode, that is, the method for selecting whether to report bandwidth or report time slots, in some embodiments, the resource collection mode is pre-configured on the first network device. In some other embodiments, the first network device determines the resource collection mode based on its own time slot negotiation capability. For example, if the first network device supports time slot negotiation, the first network device determines the resource collection mode as the bandwidth mode or / and the time slot mode; if the first network device does not support time slot negotiation, the first network device determines the resource collection mode as the time slot mode. In still some other embodiments, the controller and the first network device interact through signaling to determine the resource collection mode in a negotiated manner.

[0526] In some embodiments, considering that the controller may receive multiple types of network resource topologies, for example, simultaneously receive a resource topology for large-granularity path calculation and a resource topology for small-granularity path calculation, regarding how to help the controller distinguish different types of network resource topologies, in some embodiments of the present application, when the network device reports topology resource information, a topology type identifier is carried in the topology resource information. The topology type identifier is used to indicate whether the topology resource information (such as the first link) is for large-granularity path calculation or small-granularity path calculation. In other words, the topology type identifier is used to indicate determining a path for carrying large-granularity services or determining a path for carrying large-granularity services based on the topology resource information (such as the first link). There are many ways to express the topology type identifier, and examples of the expression methods of the topology type identifier are given below.

[0527] Exemplarily, the topology type identifier includes a first topology type identifier or a second topology type identifier. The first topology type identifier is used to indicate determining a path for carrying small-granularity services based on the topology resource information, and the second topology type identifier is used to indicate determining a path for carrying large-granularity services based on the topology resource information. The scenarios of large-granularity path calculation and small-granularity path calculation can be distinguished through the first topology type identifier and the second topology type identifier.

[0528] Exemplarily, the topology type identifier includes a third topology type identifier or a fourth topology type identifier. The third topology type identifier is used to indicate that the type of the topology resource information is a FlexE client topology. The FlexE client topology refers to the network topology formed by the connection of FlexE client interfaces between network devices. Both the first interface and the second interface are FlexE client interfaces. Alternatively, the fourth topology type identifier is used to indicate that the type of the topology resource information is a FlexE physical interface topology. The FlexE physical interface topology refers to the network topology formed by the connection of FlexE physical interfaces between network devices. Optionally, the FlexE physical interface topology further includes the network topology formed by the connection of FlexE groups between network devices. Both the first interface and the second interface are FlexE physical interfaces. Regardless of which form the topology type identifier has among the above first topology type identifier to fourth topology type identifier, it can trigger the controller to execute the task of calculating a large-granularity path or a small-granularity path based on the topology resource information.

[0529] In the case where a network device includes multiple large-granularity interfaces or / and multiple FlexE physical interfaces, the topology type identifiers corresponding to different interfaces may be the same or different. For example, the first network device includes a first interface and a third interface. The first interface is a large-granularity interface, and the third interface is a FlexE physical interface. The topology resource information reported by the first network device includes a first topology type identifier corresponding to the first interface and a second topology type identifier corresponding to the third interface, enabling the controller to perform small-granularity path calculation based on the link connected to the first interface and perform large-granularity path calculation based on the link connected to the third interface. Another example is that both the first interface and the third interface are large-granularity interfaces. The topology resource information reported by the first network device includes a first topology type identifier corresponding to the first interface and a first topology type identifier corresponding to the third interface, enabling the controller to perform small-granularity path calculation based on the links connected to both the first interface and the third interface at the same time.

[0530] In some embodiments, the topology resource information collected by the network device further includes a slice identifier. The slice identifier is used to identify a network slice. The network slice includes a first interface. Another example is that the network slice includes a first link between the first interface and the second interface. The slice identifier (slicing identifier, slice ID) is used to identify a network slice. The role of the slice identifier in this embodiment is equivalent to a kind of path calculation constraint condition or a topology attribute. The first network device reports the slice identifier of the network slice to which the first interface belongs, thereby instructing the controller to perform path calculation within the scope of the network slice corresponding to the slice identifier, or to instruct the controller to use the resources within the network slice corresponding to the slice identifier for path calculation, rather than using the resources of other network slices outside the network slice corresponding to the slice identifier.

[0531] Regarding the manner in which a network device obtains a slice identifier, in some embodiments, the identifier of the network slice to which an interface belongs is pre-configured on each interface in the network device, thereby indicating which network slice each interface belongs to. For example, the slice identifier of the network slice to which the first interface of the first network device belongs is pre-configured on the first interface of the first network device. The first network device reads the configuration information of the first interface to obtain the slice identifier of the network slice to which the first interface belongs. When the first network device reports topology resource information to the controller, it reports the slice identifier of the network slice to which the first interface belongs.

[0532] In some embodiments, the topology resource information further includes a model identifier. For example, the model identifier is used to indicate that the topology resource information is related to FlexE (or, the model identifier is used to identify the FlexE model). Another example is that the model identifier is used to indicate that the topology resource information is used for SPN (or MTN) path calculation. Based on this, in the scenario where the device dynamically reports topologies for large-granularity or small-granularity path calculation in addition to reporting topologies such as the master-slave interface relationship topology and the packet forwarding network topology that are not related to FlexE (or not used for SPN path calculation), the controller can distinguish topology resource information for different purposes. In other embodiments, when the dynamically reported topologies are all used for SPN path calculation or are all related to FlexE, the topology resource information may not include a model identifier.

[0533] The model identifier and the topology type identifier can exist independently or be used in combination. In some embodiments where the model identifier and the topology type identifier are used in combination, when the network device reports topology resource information for small-granularity path calculation, the topology resource information includes both the model identifier and the first topology type identifier or the third topology type identifier. Another example is that when the network device reports topology resource information for large-granularity path calculation, the topology resource information includes both the model identifier and the second topology type identifier or the fourth topology type identifier.

[0534] Step S320, the first network device, in response to detecting a change in topology resources, sends topology resource information to the controller.

[0535] The change in topology resources includes at least one of a change in the state of an interface carrying large-granularity or small-granularity services or / and a change in the resources of an interface carrying large-granularity or small-granularity services.

[0536] A change in the interface state includes the interface switching from the up state to the down state or the interface switching from the down state to the up state. When the interface is in the down state, the interface cannot carry services.

[0537] In some embodiments, when the device detects that the status of an interface carrying large-granularity services or small-granularity services changes from the up state to the down state, it reports topology resource information, which can indicate that the interface is in the down state. Therefore, the probability of the interface in the down state participating in large-granularity path calculation or small-granularity path calculation is reduced, and further, the risk of transmission interruption of large-granularity services or small-granularity services caused by the interface in the down state in the large-granularity path or small-granularity path is reduced. In an example, when the controller senses that the status of the interface changes to the down state based on the topology resource information reported by the device, the controller deletes the interface that changes to the down state and the link connected to the interface from the FlexE physical interface topology or the large-granularity topology, thereby updating the topology. The controller recalculates the path based on the updated topology, so that the recalculated path bypasses the interface in the down state, thereby reducing the impact of the change of the interface in the device to the down state on the transmission of large-granularity services or small-granularity services.

[0538] In some embodiments, when the device detects that the status of an interface carrying large-granularity services or small-granularity services changes from the down state to the up state, it reports topology resource information, which can indicate that the interface is in the up state, so that there is a certain probability that the newly added interface in the up state in the network participates in large-granularity path calculation or small-granularity path calculation, and the resource utilization rate of the newly added interface that changes to the up state is improved. In an example, when the controller senses that the status of the interface changes to the up state based on the topology resource information reported by the device, the controller adds the interface that changes to the up state to the FlexE physical interface topology or the large-granularity topology, thereby updating the topology. The controller recalculates the path based on the updated topology, so as to obtain more large-granularity paths or small-granularity paths. Since more paths can be used to carry large-granularity services or small-granularity services, the load balancing of large-granularity services or small-granularity services is improved.

[0539] Exemplarily, the first network device obtains the current status of the first interface, compares the current status of the first interface with the historical status of the first interface. If the current status of the first interface is different from the historical status of the first interface, it sends topology resource information to the controller. For example, the status (historical status) of the first interface obtained last time is the down state, while the currently obtained first interface is in the up state. The first network device compares the currently obtained first interface with the status of the first interface obtained last time, and determines that the current status of the first interface is different from the historical status of the first interface based on the comparison result. Optionally, the first network device periodically collects the status of each interface carrying large-granularity services or small-granularity services at its own end at a predetermined time interval, and determines that the interface status has changed by comparing the status collected in this period with the status collected in the previous period for the same interface.

[0540] In some embodiments, a detection mechanism for interface status is enabled on the first network device. Once it detects a change in the status of an interface capable of carrying large-granularity services or small-granularity services, it will report topology resource information to the controller.

[0541] A change in interface status includes a change in the status of an interface within the local device that carries large-granularity services or small-granularity services. In some embodiments, a change in interface status also includes a change in the status of an interface of the peer device that carries large-granularity services or small-granularity services. Exemplarily, considering that the unavailability of the link between devices will also be caused after the status of the peer interface switches to the down state, the first network device detects the status of the second interface of the second network device based on the link layer protocol. If the current status of the second interface is different from the historical status of the second interface, the first network device sends topology resource information to the controller. Based on this, even when the peer device does not support the dynamic reporting of topology function, the controller can also be timely aware of the change in the interface status of the peer device.

[0542] A change in resources includes at least one of a change in bandwidth or / and a change in time slots. A change in bandwidth includes a change in at least one of the maximum bandwidth of the interface, the available bandwidth of the interface, or the maximum reservable bandwidth of the interface. For example, a change in bandwidth includes an increase or decrease in available bandwidth. Another example is that a change in bandwidth includes an increase or decrease in the occupied bandwidth. A change in time slots includes a change in at least one of the total number of time slots of the interface, the available number of time slots of the interface, the total number of occupied time slots of the interface, the identifier of the available time slots, and / or the identifier of the occupied time slots. For example, when it detects that the available time slots become fewer, more, or change from time slot A to time slot B, the first network device sends topology resource information to the controller. Another example is that when it detects that the occupied time slots become fewer, more, or change from time slot A to time slot B, the first network device sends topology resource information to the controller.

[0543] In an exemplary application scenario, in addition to carrying small-granularity services, the large-granularity interface is also used to carry some other services outside of small-granularity services, such as carrying packet forwarding services. Other services will also occupy the bandwidth of the large-granularity interface, resulting in a decrease in the available bandwidth of the large-granularity interface. Based on this, the first network device reports the reduced bandwidth of the large-granularity interface, enabling the controller to dynamically and real-time sense the available bandwidth of the large-granularity interface and meet the requirements of the controller's dynamic route calculation.

[0544] The first network device obtains the current available resources of the first interface, compares the current available resources of the first interface with the historical available resources of the first interface. If the current available resources of the first interface are different from the historical available resources of the first interface, it sends topology resource information to the controller.

[0545] In some embodiments, the first network device interacts with the controller based on a control protocol. For example, the first network device obtains a control protocol message, the control protocol message carries topology resource information, and the first network device s...

Claims

1. A path information processing method, characterized in that, Applied to a controller, the method includes: Obtain a target end-to-end path, where the target end-to-end path is a path carrying large-granularity services or a path carrying small-granularity services, the target end-to-end path includes multiple nodes, and the multiple nodes include a first node and a second node; Send a first control protocol message to the first node, where the first control protocol message carries first path information corresponding to the first node; Send a second control protocol message to the second node, where the second control protocol message carries second path information corresponding to the second node.

2. The method according to claim 1, characterized in that, The sending the first control protocol message to the first node and the second control message to the second node includes: Sending the first control protocol message to the first node and sending the second control protocol message to the second node in a parallel manner.

3. The method according to claim 1 or 2, characterized in that, The target path information includes: A service layer interface index, a flow identifier, and resource information, where the resource information includes bandwidth information or time slot information, and the target path information is the first path information or the second path information.

4. The method according to claim 3, wherein If the target end-to-end path is a path carrying large-granularity services, then the service layer interface index is a large-granularity service layer interface identifier, the flow identifier is a large-granularity flow identifier, and the time slot information is large-granularity time slot information; If the target end-to-end path is a path carrying small-granularity services, then the service layer interface index is a small-granularity service layer interface identifier, the flow identifier is a small-granularity flow identifier, and the time slot information is sub-time slot information.

5. The method according to any one of claims 1-4, characterized in that, The method further includes: Receiving first capability indication information sent by a third node, where the first capability indication information indicates whether the third node has the ability to automatically follow the upstream time slot configuration. The third node is the next-hop node of the first node in the target end-to-end path, and the first path information is used to enable the first node to establish communication with the third node.

6. The method according to claim 5, characterized in that The receiving the first capability indication information sent by the third node includes: Receiving a third control protocol message sent by the third node, where the third control protocol message includes the first capability indication information.

7. The method according to claim 6, wherein The third control protocol message includes a capability type length value TLV, and the capability TLV carries the first capability indication information.

8. The method according to claim 6 or 7, characterized in that The third control protocol message includes: A Border Gateway Protocol Link State (BGP-LS) message or a Path Computation Element Protocol Link State (PCEP-LS) message.

9. The method according to any one of claims 5-8, characterized in that, If the first capability indication information indicates that the third node does not have the ability to automatically follow the upstream time slot configuration, then the resource information in the first path information is time slot information, and the method further includes: Sending the time slot information included in the first path information to the third node.

10. The method according to claim 9, wherein The method further includes: Receiving time slot occupancy information sent by the first node and the third node, where the time slot occupancy information is used to enable the controller to determine the time slot information included in the first path information.

11. The method according to claim 2, wherein The first control protocol message is a first PCEP message, and the second control protocol message is a second PCEP message.

12. The method according to claim 11, wherein The target PCEP message includes an extended object, which is used to carry target path information. When the target path information is the first path information, the target PCEP message is the first PCEP message; when the target path information is the second path information, the target PCEP message is the second PCEP message.

13. The method according to claim 12, wherein The extended object is a Central Controller Indication (CCI) object. The CCI object includes: a first field, a second field, and a first TLV. The first TLV is used to carry resource information in the target path information, the first field is used to carry a service layer interface index in the target path information, and the second field is used to carry a flow identifier in the target path information.

14. The method according to any one of claims 11 - 13, characterized in that The target PCEP message is used to carry target path information, and the target PCEP message includes indication information, which indicates the path type corresponding to the target path information. When the target path information is the first path information, the target PCEP message is the first PCEP message; when the target path information is the second path information, the target PCEP message is the second PCEP message.

15. The method according to any one of claims 1 to 14, characterized in that, Before sending the first control protocol message to the first node, the method further includes: Sending a third PCEP message to the first node. The third PCEP message includes an open object, and the open object includes a path establishment type capability sub-TLV. The path establishment type capability sub-TLV indicates that the controller has the ability for end-to-end path calculation, and the path establishment type capability sub-TLV also indicates the path type corresponding to the controller's ability for end-to-end path calculation. The path type is a path for carrying large-granularity services or a path for carrying small-granularity services.

16. The method according to any one of claims 1 to 15, characterized in that, The obtaining of the target end-to-end path includes: Calculating the target end-to-end path according to the dynamic network topology.

17. The method according to claim 16, wherein Before sending the first control protocol message to the first node, the method further includes: Determining a multiplexing section of the target end-to-end path and the initial end-to-end path. The target end-to-end path and the initial end-to-end path are two end-to-end paths between a source node and a destination node, and the initial end-to-end path is the end-to-end path calculated by the controller last time. The sending of the first control protocol message to the first node includes: When the multiplexing section does not include the section between the first node and the third node, sending the first control protocol message to the first node.

18. A path information processing method, characterized in that, Applied to the first node, the method includes: Receiving a first control protocol message sent by the controller. The first control protocol message carries first path information, which is the path information corresponding to the first node in the target end-to-end path. The target end-to-end path includes the first node, and the target end-to-end path is a path for carrying large-granularity services or a path for carrying small-granularity services. Update the forwarding table entry according to the first path information.

19. The method according to claim 18, characterized in that, The first path information includes: a service layer interface index, a flow identifier, and resource information, where the resource information includes bandwidth information or time slot information.

20. The method according to claim 19, wherein if the target end-to-end path is a path for carrying large-granularity services, the service layer interface index is a large-granularity service layer interface identifier, the flow identifier is a large-granularity flow identifier, and the time slot information is large-granularity time slot information; if the target end-to-end path is a path for carrying small-granularity services, the service layer interface index is a small-granularity service layer interface identifier, the flow identifier is a small-granularity flow identifier, and the time slot information is sub-time slot information.

21. The method according to any one of claims 18-20, characterized in that The method further includes: receiving first capability indication information sent by a third node, where the first capability indication information indicates whether the third node has the ability to automatically follow the upstream time slot configuration, the third node is the next-hop node of the first node in the target end-to-end path, and the first path information is used to enable the first node to establish communication with the third node.

22. The method according to claim 21, wherein The receiving the first capability indication information sent by the third node includes: receiving a first Link Layer Discovery Protocol (LLDP) packet sent by the third node, where the first LLDP packet includes a first vendor TLV, and the vendor type length value (TLV) includes a first sub-TLV, and the first sub-TLV carries the first capability indication information.

23. The method according to claim 22, characterized in that, If the first capability indication information indicates that the third node has the ability to automatically follow the upstream time slot configuration, the first sub-TLV further indicates the following mode of the third node automatically following the upstream time slot configuration, and the following mode includes: following through data plane packets and / or following through control plane packets.

24. The method according to claim 22 or 23, characterized in that, The first vendor TLV further includes a second sub-TLV, and the second sub-TLV indicates that the third node supports carrying large-granularity services or supports carrying small-granularity services.

25. The method according to any one of claims 21-24, characterized in that, If the first capability indication information indicates that the third node does not have the ability to automatically follow the upstream time slot configuration, the resource information in the first path information is time slot information, and the method further includes: sending time slot occupancy information to a controller, where the time slot occupancy information is used to enable the controller to determine the time slot information.

26. The method according to any one of claims 22-24, characterized in that If the first capability indication information indicates that the third node has the ability to automatically follow the upstream time slot configuration, the method further includes: performing time slot negotiation with the third node so that the third node obtains the time slot configuration information of the first node and performs local configuration based on the time slot configuration information.

27. The method according to claim 26, wherein if the resource information in the first path information is time slot information, the time slot configuration information is obtained according to the time slot information; if the resource information in the first path information is bandwidth information, the time slot configuration information is obtained by the first node allocating time slots based on the bandwidth information.

28. The method according to claim 26 or 27, characterized in that, The performing time slot negotiation with the third node so that the third node obtains the time slot configuration information of the first node includes: Send a second LLDP packet to the third node, where the second LLDP packet includes a second vendor TLV, and the second vendor TLV includes a third sub-TLV that carries the time slot configuration information.

29. The method according to claim 28, wherein The sending the second LLDP packet to the third node includes: When it is determined that the follow-up mode in which the third node automatically follows the upstream time slot configuration includes following through a control plane packet, send the second LLDP packet to the third node.

30. A path information processing device, characterized in that, including: A communication interface and a processor, and based on the communication interface and the processor, the communication device executes the method according to any one of claims 1-29.

31. A path information processing system, characterized in that, The system includes a network device and a controller, and the network device includes a first network device, a second network device, a first node, and a second node: The first network device is configured to send first topology resource information to the controller in response to detecting a change in topology resources. The first topology resource information includes the identifier of a first interface, the identifier of a second interface, the resource information of the first interface, the identifier of the first network device, and the identifier of the second network device. The first network device includes the first interface, the second network device includes the second interface, and the first interface is connected to the second interface; wherein, both the first interface and the second interface are interfaces capable of carrying small-granularity services, or both the first interface and the second interface are interfaces capable of carrying large-granularity services; The controller is configured to determine a target end-to-end path based on the first topology resource information. The target end-to-end path is a path for carrying large-granularity services or a path for carrying small-granularity services, and the target end-to-end path includes multiple nodes, and the multiple nodes include the first node and the second node; The controller is further configured to send a first control protocol packet to the first node, and the first control protocol packet carries first path information corresponding to the first node; The controller is further configured to send a second control protocol packet to the second node, and the second control protocol packet carries second path information corresponding to the second node.

32. The system according to claim 31, characterized in that, The resource information of the first interface includes at least one of the bandwidth information of the first interface or / and the time slot information of the first interface.

33. The system according to claim 32, wherein The time slot information of the first interface includes a time slot granularity and a time slot status. The time slot granularity is used to indicate the bandwidth occupied by a time slot, and the time slot status is used to indicate whether the time slot is occupied or available.

34. The system according to any one of claims 31-33, wherein The first network device is further configured to: send interface capability information of the first interface to the controller, and the interface capability information includes large-granularity capability information or small-granularity capability information. The large-granularity capability information is used to indicate the ability of the first interface to carry large-granularity services, and the small-granularity capability information is used to indicate the ability of the first interface to carry small-granularity services.

35. The system according to claim 34, wherein The large-granularity capability information includes whether it supports carrying large-granularity services with a predetermined time-slot granularity, whether it supports cross-physical-port (PHY) bundling, whether it supports carrying large-granularity dynamic paths or whether it supports carrying large-granularity static paths. The large-granularity dynamic path is a path for carrying large-granularity services established based on a control protocol, and the large-granularity static path is a path for carrying large-granularity services established based on a management-plane protocol; The small-granularity capability information includes whether it supports carrying small-granularity services, whether it supports establishing small-granularity dynamic paths or whether it supports establishing small-granularity static paths. The small-granularity dynamic path is a path for carrying large-granularity services established based on a control protocol, and the small-granularity static path is a path for carrying large-granularity services established based on a management-plane protocol.

36. The system according to any one of claims 31-35, wherein The first network device is further configured to: send the device capability information of the first network device to the controller, where the device capability information includes at least one of time-slot negotiation capability information, topology collection mode, or / and path distribution mode. The time-slot negotiation capability information is used to indicate whether the first network device supports time-slot negotiation. The topology collection mode is used to indicate whether the first network device supports topology collection for large-granularity path calculation or topology collection for small-granularity path calculation. The path distribution mode is used to indicate that the mode adopted when distributing paths based on the first topology resource information is a bandwidth mode or a time-slot mode.

37. The system according to any one of claims 31-36, characterized in that The first network device sending the first topology resource information to the controller includes: The first network device obtains a third control protocol message, and the third control protocol message carries the first topology resource information; The first network device sends the third control protocol message to the controller; Correspondingly, the controller receiving the first topology resource information from the first network device includes: The controller receives the third control protocol message, and the third control protocol message carries the first topology resource information.

38. The system according to any one of claims 31-37, characterized in that, The first network device is configured to: Obtain the current state of the first interface, compare the current state of the first interface with the historical state of the first interface. If the current state of the first interface is different from the historical state of the first interface, send the first topology resource information to the controller; or Obtain the current available resources of the first interface, compare the current available resources of the first interface with the historical available resources of the first interface. If the current available resources of the first interface are different from the historical available resources of the first interface, send the first topology resource information to the controller.

39. The system according to any one of claims 31-38, wherein The controller is further configured to: receive second topology resource information from a third network device, where the second topology resource information includes an identifier of the third network device, an identifier of a fourth network device, an identifier of a fifth interface, an identifier of a sixth interface, and resource information of the fifth interface. The third network device includes the fifth interface, the fourth network device includes the sixth interface, and the fifth interface is connected to the sixth interface. Accordingly, the controller is configured to determine a target end-to-end path based on the topology resource information, including: the controller determines the target end-to-end path based on the first topology resource information and the second topology resource information. Wherein, both the fifth interface and the sixth interface are interfaces capable of carrying small-granularity services, or both the fifth interface and the sixth interface are interfaces capable of carrying large-granularity services.

40. The system according to any one of claims 31-39, wherein The first network device is further configured to obtain the first link information in the first topology resource information by the following method: Receive a second network device identifier and a second target interface identifier sent by a second network device, where the second network device identifier is used to identify the second network device, and the second target interface identifier is used to identify a second target interface of the second network device for communicating with the first network device. The first network device is further configured to: obtain first link information according to the first network device identifier, the first target interface identifier, the second network device identifier, and the second target interface identifier. The second network device identifier is used to identify the second network device, the second target interface identifier is used to identify a second target interface of the second network device for communicating with the first network device, and the first link information is used to indicate a first link between the first target interface and the second target interface. The first link is a link carrying large-granularity services or a link carrying small-granularity services.