Topology resource information reporting method and device

By actively reporting topological resource information through network equipment, the problem of difficult to perceive dynamic changes in topological resources in communication networks is solved, the dynamic computing of the controller is realized, and the transmission quality of service traffic is improved.

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

Patent Information

Application Number
CN202410110361.5
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 perceive dynamic changes in topological resources in real time, resulting in the controller being unable to implement dynamic computing paths, and the bandwidth requirements affecting service traffic cannot be effectively met.

Method used

When a network device detects a change in topological resources, it actively reports topological resource information to the controller, including interface identifiers, resource information, etc., and the controller performs dynamic calculations based on this information.

Benefits of technology

Real-time perception of topological resources by the controller is realized, the calculation accuracy of large and small particles channels is improved, and the risk of service transmission failure caused by insufficient bandwidth or insufficient time slots is reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120378347A_ABST
    Figure CN120378347A_ABST
Patent Text Reader

Abstract

The invention provides a topology resource information reporting method and device, and the method comprises the steps: responding to the detection of the change of a topology resource, first network equipment transmits the topology resource information to a controller, the topology resource information comprises an identifier of the first interface, an identifier of the second interface, resource information of the first interface, an identifier of the first network equipment and an identifier of the second network equipment, the first network equipment comprises the first interface, the second network equipment comprises a second interface, and the first interface is connected with the second interface. As the equipment actively reports the topology resource information to the controller when detecting that the topology resources change, the controller can obtain the dynamically changing topology resources, and the dynamic path calculation requirement of the controller is met.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communications, and in particular, to a method and apparatus for reporting topology resource 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, to improve the service quality provided for services and rationally utilize network resources, Flexible Ethernet (FlexE) technology can be applied to transmit service traffic. FlexE technology has advantages such as flexible bandwidth allocation on demand, and its application is becoming more and more widespread. Moreover, to rationally utilize the bandwidth resources of FlexE, the time slots (slots) corresponding to the large bandwidth in FlexE or the bandwidth carried by physical ports can also be divided into multiple sub-time slots (sub-slots), and the multiple sub-time slots obtained by division are used to carry customer services with smaller bandwidth requirements. Among them, the customer services carried by sub-time slots can also be referred to as "small-granularity services". In addition, the technology of using sub-time slots to carry customer services can also be referred to as "small-granularity technology".

[0003] If the controller determines the large-granularity path or the small-granularity path, the controller needs to obtain topology resources. Summary of the Invention

[0004] The present application provides a method and apparatus for reporting topology resource information. Since the device actively reports topology resource information to the controller when detecting that the topology resources have changed, the controller can obtain the dynamically changing topology resources, thereby meeting the requirements of the controller for dynamic path calculation.

[0005] In a first aspect, a method for reporting topology resource information is provided. The method includes: in response to detecting that the topology resources have changed, a first network device sends topology resource information to a controller, where the 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 a 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.

[0006] 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. The first interface is a specific example of the local interface. 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). The second interface is a specific example of the peer interface. Exemplarily, the first interface is an interface in the first network device that can carry small-granularity services, and the second interface is an interface in the second network device that can carry small-granularity services. Also, for example, the first interface is an interface in the first network device that can carry large-granularity services, and the second interface is an interface in the second network device that can carry large-granularity services. Also, for example, both the first interface and the second interface are FlexE physical ports. The combination of the four parameters, namely, 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, is equivalent to the identifier of the link and can uniquely identify a link in the network participating in large-granularity path calculation or small-granularity path calculation. Exemplarily, in the large-granularity path calculation scenario, the topology resource information includes the identifier of the local FlexE physical port and the identifier of the peer FlexE physical port. 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.

[0007] Based on the method provided in the first aspect, since the device actively reports the topology resource information to the controller when detecting a change in the topology resources, it helps the controller to perceive the dynamic changes of the topology resources in real time and supports the dynamic path calculation function implemented by the controller. For example, since the network device actively reports the large-granularity topology resource information to the controller when detecting a change in the large-granularity topology resources, it helps the controller to perceive the dynamic changes of the large-granularity topology resources in real time and supports the controller to implement the function of dynamically calculating small-granularity channels. Also, for example, since the network device actively reports the FlexE topology resource information to the controller when detecting a change in the FlexE topology resources, it helps the controller to perceive the dynamic changes of the FlexE topology resources in real time and supports the controller to implement the function of dynamically calculating large-granularity channels.

[0008] In a possible implementation manner, 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.

[0009] 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. This is applicable to the mode of calculating large-granularity channels or small-granularity channels based on bandwidth, and it is convenient for the controller to allocate bandwidth or recalculate the route for the 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 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.

[0010] 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. This is applicable to the mode of calculating large-granularity channels or small-granularity channels based on time slots, and it is convenient for the controller to allocate time slots or recalculate the route for the 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 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.

[0011] In a possible implementation manner, the time-slot information of the first interface includes at least one of time-slot granularity and time-slot status.

[0012] 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 the large-granularity channels or small-granularity channels.

[0013] 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 contention caused by further allocating time slots from the occupied time slots.

[0014] In a possible implementation manner, the topology resource information further includes the identifier of the first Flexible Ethernet group (FlexE group) and the identifier of the second FlexE group. The first FlexE group includes the first interface, 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.

[0015] 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.

[0016] 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, the second FlexE group further includes the fourth interface, and the third interface is connected to the fourth interface;

[0017] 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.

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

[0019] 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 determining a path for carrying large-granularity services based on the topology resource information, and both the first interface and the second interface are FlexE client interfaces, or 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 determining a path for carrying large-granularity services based on the topology resource information, and both the first interface and the second interface are FlexE physical interfaces.

[0020] Considering that the controller may receive various types of network resource topologies, for example, receiving the resource topology for large-granularity path calculation and the resource topology for small-granularity path calculation simultaneously, by reporting the topology type identifier, it is convenient for the controller to distinguish different types of network resource topologies and accurately distinguish the resource topology for large-granularity path calculation from the resource topology for small-granularity path calculation.

[0021] In a possible implementation, the topology resource information further includes cross-reachability information, which 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 the 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 the small-granularity path calculation scenario, the cross-reachability information is used to indicate the cross relationship between different FlexE physical interfaces inside the device.

[0022] By reporting the cross-reachability information inside the device to the controller, the controller can perceive the reachability between different interfaces inside the device, and the controller can use the cross-reachability information inside the device as a factor for path calculation. The controller determines a path that is reachable between devices and cross-reachable inside the device, which to a certain extent helps to solve the problem that the controller cannot perceive the internal reachability of the device, resulting in the calculated path being unreachable inside the device and causing the failure of business data transmission.

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

[0024] In another 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.

[0025] In a possible implementation, the first network device sends the 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.

[0026] The network device reports to the controller the information about the ability of the interface to carry large-granularity services or small-granularity services, enabling the controller to use the information about the ability of the interface to carry large-granularity services or small-granularity services as a routing factor for routing calculation. Therefore, it 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 calculation 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.

[0027] In a possible implementation manner, the large-granularity ability 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 the control protocol, and the large-granularity static path is a path for carrying large-granularity services established based on the management plane protocol.

[0028] The network device reports to the controller the information about the ability of the interface to support cross-PHY bundling, enabling the controller to bundle and allocate the time slots of multiple interfaces within the same FlexE group in the devices that support cross-PHY bundling for use by large-granularity channels or small-granularity channels when allocating time slots, thereby improving the available bandwidth of the large-granularity channels or small-granularity channels.

[0029] The small-granularity ability 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 the control protocol, and the small-granularity static path is a path for carrying large-granularity services established based on the management plane protocol.

[0030] The network device reports to the controller the ability of the interface to support establishing small-granularity dynamic paths or the ability to support establishing small-granularity static paths. The controller can decide whether the interface is used to establish small-granularity dynamic paths or small-granularity static paths 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.

[0031] In a possible implementation, a first network device sends device capability information of the first network device to a controller. 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 small-granularity path calculation. The path distribution mode is used to indicate whether the mode adopted when distributing paths based on topology resource information is the bandwidth mode or the time slot mode.

[0032] By reporting to the controller the capability information indicating whether it supports time slot negotiation, the network device facilitates the controller's decision on using 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.

[0033] 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 a first interface.

[0034] 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 for path calculation. This reduces the risk of resource competition between large-granularity channels or small-granularity channels and the 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.

[0035] 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.

[0036] By reporting an identifier indicating FlexE, in the scenario where, in addition to dynamically reporting the topology for large-granularity path calculation or small-granularity path calculation, the master-slave interface relationship topology, packet forwarding network topology, etc., which are irrelevant to FlexE, are also reported simultaneously, the controller can distinguish topology resource information for different purposes, which helps to achieve the isolation of different network topologies.

[0037] In a possible implementation, the first network device sends topology resource information to the controller, including: the first network device obtains a control protocol message, the control protocol message carries the topology resource information; the first network device sends the control protocol message to the controller.

[0038] Since network devices have high parsing efficiency for control protocol messages, network devices can usually generate and send control protocol messages relatively quickly, thereby increasing the speed of reporting topology resource information.

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

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

[0041] In a possible implementation, the control protocol message carries a type length value (TLV), and the TLV carries topology resource information.

[0042] Since the topology is sent by using TLV to carry topology resource information, the controller can obtain the topology resource information by parsing the TLV. Compared with the method of using the data serialization language (YAML ain't markup language, YAML) model in the Network Configuration Protocol (NETCONF) protocol to carry topology resource information, there is no need for the controller to use text parsing to obtain the topology resource information. Therefore, it helps to solve the problem of low efficiency in processing protocol messages caused by using text parsing to obtain topology resource information.

[0043] 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, and 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.

[0044] Since different dimensions of topology resource information are carried by different TLVs, it helps the controller to identify and distinguish different topology resource information based on the types of different TLVs.

[0045] In a possible implementation, the link attribute TLVs include a bandwidth TLV, a time slot TLV, a first TLV, and a slice TLV. The bandwidth TLV carries the bandwidth information of a first interface, the time slot TLV carries the time slot information of the first interface, the first TLV carries cross-reachability information, and the slice TLV carries a slice identifier.

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

[0047] 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;

[0048] 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.

[0049] 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 based on calculating large-granularity channels or small-granularity channels.

[0050] 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).

[0051] Since the topology resource information is flooded in the way 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 adopting the way 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 required by the controller 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.

[0052] In a possible implementation, in response to detecting a change in topological resources, a first network device sends topological resource information to a controller, including at least one of the following: The first network device obtains the current state of a 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.

[0053] When the device detects that the state of an 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 that the down-state interface participates in large-granularity path calculation or small-granularity path calculation, and further reducing the risk that the large-granularity path or small-granularity path passing through the down-state interface causes the transmission interruption of large-granularity services or small-granularity services. When the device detects that the state of an 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, so that the newly added up-state interface in the network has a certain probability of participating in large-granularity path calculation or small-granularity path calculation, improving the resource utilization rate of the interface that changes to the up state. Since the topological resource information is reported when the resources change, it helps the resources allocated for the large-granularity channel or small-granularity channel to be more matched with the current actual resource occupancy of the network device.

[0054] In a second aspect, a method for processing topological resource information is provided. The method includes:

[0055] The controller receives first topological resource information from a first network device. The first topological 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 a 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. The controller determines a path based on the first topological resource information. Among them, both the first interface and the second interface are interfaces capable of carrying small-granularity services, and the path is used to carry small-granularity services, or both the first interface and the second interface are interfaces capable of carrying large-granularity services, and the path is used to carry large-granularity services.

[0056] Since the controller performs large-granularity path calculation or small-granularity path calculation based on the topological resources dynamically reported by the device, the accuracy of the calculated large-granularity channel or small-granularity channel is improved, and further the transmission quality of large-granularity services or small-granularity services is improved.

[0057] In a possible implementation, the method further includes:

[0058] The controller receives second topology resource information from a third network device. The second topology resource information includes the identifier of the third network device, the identifier of the fourth network device, the identifier of the fifth interface, the identifier of the 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. Correspondingly, the controller determines a path based on the first topology resource information, including: The controller determines a 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.

[0059] In a possible implementation, the first topology resource information further includes the identifier of the third network device, the identifier of the fourth network device, the identifier of the fifth interface, the identifier of the 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;

[0060] 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.

[0061] In a possible implementation, the first topology resource information further includes a topology type identifier. The controller determines a path based on the first topology resource information, including:

[0062] If the topology type identifier is used to indicate that the type of the first topology resource information is a Flexible Ethernet Client (FlexEclient) topology, or the topology type identifier is used to indicate determining a path for carrying large-granularity services based on the first topology resource information, determine a small-granularity path based on the first topology resource information, or,

[0063] If the topology type identifier is used to indicate that the type of the first topology resource information is a Flexible Ethernet (FlexE) physical interface topology, or the topology type identifier is used to indicate determining a path for carrying large-granularity services based on the first topology resource information, determine a large-granularity path based on the first topology resource information.

[0064] In a possible implementation, the topology resource information further includes cross-reachability information. The cross-reachability information is used to indicate the cross-relationship between different interfaces within the first network device. The controller determines a path based on the first topology resource information, including:

[0065] The controller determines a path that is reachable between devices and reachable within devices based on the first topology resource information.

[0066] In a possible implementation, the method further includes:

[0067] The controller receives interface capability information from a first interface of a first network device. The interface capability information includes large-granule capability information or small-granule capability information. The large-granule capability information is used to indicate the ability of the first interface to carry large-granule services, and the small-granule capability information is used to indicate the ability of the first interface to carry small-granule services.

[0068] The controller determines a path based on first topology resource information, including:

[0069] The controller determines a path based on the first topology resource information and the interface capability information of the first interface.

[0070] In a possible implementation, the large-granule capability information includes whether it supports carrying large-granule services with a predetermined time-slot granularity, whether it supports cross-physical-port (PHY) bundling, whether it supports carrying large-granule dynamic paths, or whether it supports carrying large-granule static paths. A large-granule dynamic path is a path for carrying large-granule services established based on a control protocol, and a large-granule static path is a path for carrying large-granule services established based on a management-plane protocol.

[0071] The small-granule capability information includes whether it supports carrying small-granule services, whether it supports establishing small-granule dynamic paths, or whether it supports establishing small-granule static paths. A small-granule dynamic path is a path for carrying large-granule services established based on a control protocol, and a small-granule static path is a path for carrying large-granule services established based on a management-plane protocol.

[0072] In a possible implementation, the method further includes:

[0073] The controller receives device capability information from the first network device. 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-granule path calculation or topology collection for small-granule path calculation. The path distribution mode is used to indicate that the mode adopted when distributing a path based on topology resource information is a bandwidth mode or a time-slot mode.

[0074] The controller determines a path based on the first topology resource information, including:

[0075] The controller determines a path based on the first topology resource information and the device capability information of the first network device.

[0076] 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.

[0077] 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.

[0078] In a possible implementation, the first topology resource information is sent when the first network device detects a change in the topology resource.

[0079] In a possible implementation, the controller receiving the first topology resource information from the first network device includes:

[0080] The controller receives a control protocol message, and the control protocol message carries the first topology resource information.

[0081] In a possible implementation, the control protocol message carries a type length value (TLV), and the TLV carries the topology resource information.

[0082] In a possible implementation, the TLV includes a capability TLV, a link identifier TLV, and 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.

[0083] 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 the slice identifier.

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

[0085] In a third aspect, an embodiment of the present application provides a communication device disposed in the first network device. The device includes:

[0086] A detection unit, configured to detect whether a topology resource changes;

[0087] A sending unit, configured to, in response to the detection unit detecting a change in the topology resource, send topology resource information to the controller. The topology 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.

[0088] Among them, 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.

[0089] In a possible implementation manner, 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.

[0090] In a possible implementation manner, the time - slot information of the first interface includes a time - slot granularity and a time - slot state. The time - slot granularity is used to indicate the bandwidth occupied by a time - slot, and the time - slot state is used to indicate whether the time - slot is occupied or available.

[0091] In a possible implementation manner, the topology resource information further includes the identifier of the first Flexible Ethernet group (FlexE group) and the identifier of the second FlexE group. The first FlexE group includes the first interface, 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.

[0092] In a possible implementation manner, 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, the second FlexE group further includes the fourth interface, and the third interface is connected to the fourth interface;

[0093] 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.

[0094] In a possible implementation manner, the topology resource information further includes a topology type identifier;

[0095] 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 based on the topology resource information. Both the first interface and the second interface are FlexE client interfaces, or,

[0096] 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 based on the topology resource information. Both the first interface and the second interface are FlexE physical interfaces.

[0097] 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.

[0098] In a possible implementation, the cross-reachability information includes the identifier of the third interface in the first network device, and the third interface is cross-unreachable with the first interface; or,

[0099] 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.

[0100] In a possible implementation, the sending unit is further configured to send the 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 capability of the first interface to carry large-granularity services, and the small-granularity capability information is used to indicate the capability of the first interface to carry small-granularity services.

[0101] 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; 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.

[0102] In a possible implementation, the sending unit is further configured to send the device capability information of the first network device to the controller, and 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 topology resource information is the bandwidth mode or the time-slot mode.

[0103] In a possible implementation, the topology resource information further includes a slice identifier, and the slice identifier is used to identify a network slice, and the network slice includes the first interface.

[0104] In a possible implementation, the topology resource information further includes a model identifier, and the model identifier is used to identify that the topology resource information is related to FlexE.

[0105] In a possible implementation, a sending unit is configured to obtain a control protocol message, where the control protocol message carries topology resource information; and send the control protocol message to a controller.

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

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

[0108] In a possible implementation, the TLV includes a Capability TLV, a Link Identifier TLV, or a Link Attribute TLV. The Capability TLV carries device capability information of a first network device. The Link Identifier TLV carries an identifier of a first interface and an identifier of a second interface. The Link Attribute TLV carries resource information of the first interface, interface capability information of the first interface, and cross-reachability information.

[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 bandwidth information of the first interface. The Time Slot TLV carries time slot information of the first interface. The First TLV carries 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; or,

[0111] the control protocol message further carries a protocol identifier field, and the protocol identifier field or a flag field carries the topology type identifier, and both the protocol identifier field and the flag field are encapsulated outside the TLV.

[0112] In a possible implementation, the topology resource information further includes an identifier of a 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. The fifth interface is connected to the sixth interface;

[0113] 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.

[0114] In a possible implementation, the apparatus further includes: a receiving unit, configured to receive topology resource information flooded through an Interior Gateway Protocol (IGP).

[0115] In a possible implementation, the sending unit is configured to perform at least one of the following:

[0116] Obtain the current state of the first interface, compare 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, send topology resource information to the controller; or,

[0117] Obtain the available resources of the first interface currently, compare the available resources of the first interface currently with the available resources of the first interface historically, and if the available resources of the first interface currently are different from the available resources of the first interface historically, send topology resource information to the controller.

[0118] Fourthly, an embodiment of the present application provides a controller, and the controller includes:

[0119] A receiving unit, configured to receive first topology resource information from a first network device, where 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 a 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;

[0120] A path calculation unit, configured to determine a path based on the first topology resource information;

[0121] Wherein, both the first interface and the second interface are interfaces capable of carrying small-granularity services, and the path is used to carry small-granularity services, or both the first interface and the second interface are interfaces capable of carrying large-granularity services, and the path is used to carry large-granularity services.

[0122] In a possible implementation manner, the receiving unit 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 the 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;

[0123] Correspondingly, the path calculation unit is configured to determine a path based on the first topology resource information and the second topology resource information;

[0124] 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.

[0125] In a possible implementation manner, the first topology resource information further includes an identifier of the third network device, an identifier of the 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;

[0126] Among them, both the fifth interface and the sixth interface are interfaces capable of carrying small particle services, or both the fifth interface and the sixth interface are interfaces capable of carrying large particle services.

[0127] In a possible implementation, the first topology resource information further includes a topology type identifier. The path calculation unit is configured to, if the topology type identifier is used to indicate that the type of the first 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 particle services determined based on the first topology resource information, determine a small particle path based on the first topology resource information. Or, if the topology type identifier is used to indicate that the type of the first topology resource information is a Flexible Ethernet (FlexE) physical interface topology, or the topology type identifier is used to indicate a path for carrying large particle services determined based on the first topology resource information, determine a large particle path based on the first topology resource information.

[0128] In a possible implementation, the topology resource information further includes cross-reachability information. The cross-reachability information is used to indicate the cross-relationship between different interfaces inside the first network device. The path calculation unit is configured to determine a path that is reachable between devices and reachable inside the device based on the first topology resource information.

[0129] In a possible implementation, the receiving unit is further configured to receive interface capability information from the first interface of the first network device. The interface capability information includes large particle capability information or small particle capability information. The large particle capability information is used to indicate the ability of the first interface to carry large particle services, and the small particle capability information is used to indicate the ability of the first interface to carry small particle services. The path calculation unit is configured to determine a path based on the first topology resource information and the interface capability information of the first interface.

[0130] In a possible implementation, the large particle capability information includes whether it supports carrying large particle services with a predetermined time slot granularity, whether it supports cross-physical port (PHY) bundling, whether it supports carrying large particle dynamic paths, or whether it supports carrying large particle static paths. A large particle dynamic path is a path for carrying large particle services established based on a control protocol, and a large particle static path is a path for carrying large particle services established based on a management plane protocol. The small particle capability information includes whether it supports carrying small particle services, whether it supports establishing small particle dynamic paths, or whether it supports establishing small particle static paths. A small particle dynamic path is a path for carrying large particle services established based on a control protocol, and a small particle static path is a path for carrying large particle services established based on a management plane protocol.

[0131] In a possible implementation, the receiving unit is further configured to receive device capability information from a first network device, 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 small-granularity path calculation. The path distribution mode is used to indicate that the mode adopted when distributing paths based on topology resource information is the bandwidth mode or the time slot mode;

[0132] The path calculation unit is configured to determine a path based on the first topology resource information and the device capability information of the first network device.

[0133] 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 a first interface.

[0134] 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.

[0135] In a possible implementation, the first topology resource information is sent when the first network device detects a change in the topology resource.

[0136] In a possible implementation, the receiving unit is configured to receive a control protocol message, and the control protocol message carries the first topology resource information.

[0137] In a possible implementation, the control protocol message carries a type length value (TLV), and the TLV carries the topology resource information.

[0138] In a possible implementation, the TLV includes a capability TLV, a link identifier TLV, and 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.

[0139] 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 the slice identifier.

[0140] In a possible implementation, the link identifier TLV further carries a topology type identifier; or,

[0141] The control protocol message also carries a protocol identification field. The protocol identification field or the flag field carries a topology type identification. Both the protocol identification field and the flag field are encapsulated in the outer layer of the TLV.

[0142] In a fifth aspect, an embodiment of the present application provides a communication device. The communication device is, for example, disposed on the first network device in the first aspect. The communication device includes: a communication interface and a processor. According to the communication interface and the processor, the communication device executes the method provided in the first aspect or any optional manner of the first aspect, or the method provided in the second aspect or any optional manner of the second aspect.

[0143] In a specific design, the above-mentioned communication device may be a chip. The above-mentioned 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 used to receive signals through the input circuit and transmit signals through the output circuit, so that any implementation manner in any aspect of the first aspect is implemented, or any implementation manner in any aspect of the second aspect is implemented.

[0144] In a sixth aspect, an embodiment of the present application provides a controller. The controller includes: a communication interface and a processor. According to the communication interface and the processor, the controller executes the method provided in the first aspect or any possible implementation manner of the first aspect.

[0145] In a specific design, the controller is, for example, a server, a personal computer, or other types of computing devices.

[0146] 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, executes the method provided in the above-mentioned first aspect or any possible implementation manner of the first aspect, or the method of the second aspect and any item of the second aspect.

[0147] In an eighth 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, executes the method provided in the above-mentioned first aspect or any possible implementation manner of the first aspect, or the method of the second aspect and any item of the second aspect.

[0148] In a ninth aspect, an embodiment of the present application provides a chip system, which may include a processor. The processor is coupled to a memory and can be used to execute any of the implementation manners in the first aspect above, or the processor is coupled to the memory and can be used to execute any of the implementation manners in the second aspect above. 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 instruction). The processor is used to call and run the computer program from the memory, so that a device equipped with the chip system executes the method provided in the first aspect or any possible implementation manner of the first aspect, or the method in the second aspect and any item of the second aspect.

[0149] In a tenth aspect, an embodiment of the present application provides a communication 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 used to receive a signal through the input circuit and transmit the signal through the output circuit, so that any implementation manner in the first aspect is implemented, or any implementation manner in the second aspect is implemented. In a specific implementation, the processing circuit includes operations performed by a Flexe shim layer.

[0150] In a specific implementation process, the above communication 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, and the input circuit and the output circuit may be the same circuit, which is used 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.

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

[0152] In an eleventh aspect, a communication system is provided.

[0153] In a possible implementation manner, the communication system includes a network device that executes the first aspect or any optional manner of the first aspect above and a controller of the second aspect or any optional manner of the second aspect above.

[0154] In a possible implementation, the communication system includes the communication device of the third aspect or any optional manner of the third aspect, and the controller of the fourth aspect or any optional manner of the fourth aspect.

[0155] In a possible implementation, the communication system includes the communication device of the fifth aspect or any optional manner of the fifth aspect, and the controller of the sixth aspect or any optional manner of the sixth aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0156] Figure 1a FIG. is a schematic diagram of an SPN architecture supporting small granule technology provided by an embodiment of the present application;

[0157] Figure 1b FIG. is a schematic diagram of a network architecture provided by an embodiment of the present application;

[0158] Figure 2 FIG. shows a schematic diagram of a network system carrying large granule services and / or small granule services provided by an embodiment of the present application;

[0159] Figure 3 FIG. is a flowchart of a method for reporting topology resource information provided by an embodiment of the present application;

[0160] Figure 4 FIG. is a schematic diagram of a scenario for reporting topology resource information point by point provided by an embodiment of the present application;

[0161] Figure 5 FIG. shows another schematic diagram of the process of a method for reporting topology resource information provided by an embodiment of the present application;

[0162] Figure 6 Shows Figure 2 FIG. is a schematic diagram of a scenario for flooding and centrally reporting topology resource information of the network system shown;

[0163] Figure 7 FIG. shows still another schematic diagram of the process of a method for reporting topology resource information provided by an embodiment of the present application;

[0164] Figure 8 FIG. shows a schematic diagram of the internal connectivity of a topology provided by an embodiment of the present application;

[0165] Figure 9 FIG. shows a schematic diagram of the format of a protocol message provided by an embodiment of the present application;

[0166] Figure 10 FIG. is a schematic diagram of a FlexE group Index TLV provided by an embodiment of the present application;

[0167] Figure 11It is a schematic diagram of the format of a maximum link bandwidth TLV provided by an embodiment of the present application;

[0168] Figure 12 It is a schematic diagram of the format of a maximum reservable link bandwidth TLV provided by an embodiment of the present application;

[0169] Figure 13 It shows a schematic diagram of the format of a time slot TLV provided by an embodiment of the present application;

[0170] Figure 14 It shows a schematic diagram of the format of a slice TLV provided by an embodiment of the present application;

[0171] Figure 15 It shows a schematic diagram of the format of a link local unconnected identifier TLV provided by an embodiment of the present application;

[0172] Figure 16 It is a schematic diagram of the format of an LS capability TLV provided by an embodiment of the present application;

[0173] Figure 17 It shows a schematic diagram of the format of an L2 bundle TLV provided by an embodiment of the present application;

[0174] Figure 18 It shows a schematic diagram of the format of another L2 bundle TLV provided by an embodiment of the present application;

[0175] Figure 19 It is a schematic diagram of the structure of a communication device provided by an embodiment of the present application;

[0176] Figure 20 It is a schematic diagram of the structure of a controller provided by an embodiment of the present application;

[0177] Figure 21 It is a schematic diagram of the structure of another communication device provided by an embodiment of the present application. Detailed implementation manners

[0178] An embodiment of the present application provides a method for reporting topology resource information. Since the device actively reports topology resource information to the controller when it detects a change in topology resources, it helps the controller to perceive the dynamic changes of topology resources in real time and supports the dynamic routing calculation function implemented by the controller.

[0179] Among them, the device dynamically reports topology resource information. For example, if the device detects a change in the topology resources of its own end or / and the link peer end, it reports the topology resource information.

[0180] In the embodiments of the present application, the reporting methods of topology resources include point-by-point reporting and flooding centralized reporting methods.

[0181] Point-by-point reporting of topology resources is a method in which each device participating in path calculation reports topology resources related to its own end. For example, each device participating in path calculation reports topology resource information related to its own end when it detects that the topology resources for large-granularity path calculation or / and small-granularity path calculation at its own end change. The controller performs topology splicing based on the topology resource information reported by each device, so as to obtain the spliced topology (which can be understood as the whole-network topology). The controller performs end-to-end path calculation based on the spliced topology. Considering that devices usually do not need to perceive topology resource information unrelated to their own ends in the network, by adopting the method of point-by-point reporting of topology resources, on the basis of supporting the controller to obtain the whole-network topology, it is not necessary to flood the topology resource information of all devices in the network, thereby reducing the resource amount occupied by devices caused by flooding and also saving the bandwidth overhead generated by devices transmitting topology resource information.

[0182] Flooding centralized reporting means that in the network participating in path calculation, each device floods its own topology resource information when it detects that the topology resources for large-granularity path calculation or / and small-granularity path calculation at its own end change, so that any device in the network can obtain the topology resource information of all devices in the network. One or two network devices connected to the controller in the network report the topology resource information of all devices in the network. When adopting the method of flooding centralized reporting, it is not necessary to require each device to be connected to the controller, and it can be compatible with general routing protocols and topology reporting protocols, which is convenient for protocol extension.

[0183] Whether adopting the point-by-point reporting method or the flooding centralized reporting method, the function of dynamically reporting topology resources can be realized.

[0184] The reporting method of topology resource information provided by the embodiments of the present application is mainly applied to scenarios of large-granularity path calculation or / and small-granularity path calculation. For the convenience of readers' understanding, before further introducing the technical details of the embodiments of the present application, the large-granularity technology, small-granularity technology, and other technologies and / or terms related to the embodiments of the present application are first introduced.

[0185] 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 is used for carrying customer services with a larger bandwidth granularity, and the small-granularity service is used for carrying customer services with a smaller bandwidth granularity.

[0186] Large-granule technology can correspond to different technical terms in different standards. Correspondingly, small-granule technology can also correspond to different technical terms in different standards. As an example, large-granule technology can be called flexible ethernet (FlexE) technology; as another example, large-granule technology can be called metro transport network (MTN) technology. Correspondingly, small-granule technology can be called fine-grained MTN (fgMTN) technology. As another example, large-granule technology can be called slicing packet network (SPN), and correspondingly, small-granule technology can be called SPN2.0 technology or fine-grained unit (FGU) technology. The path carrying large-granule services can also be simply referred to as the "large-granule path", "large-granule channel", or the "container for large-granule services". The term "path carrying small-granule services" can also be simply referred to as the "small-granule path", "small-granule channel", or the "container for small-granule services".

[0187] Some terms in the embodiments of this application can have multiple expressions.

[0188] The term "flexible ethernet (FlexE)" can also be called "slicing packet network (SPN)" or "metro transport network (MTN)".

[0189] The term "fine-grained multiplexing unit (fgMU)" can also be called "fine-grained basic unit (fgBU)"; the term "fgClient, fine-grained client" can also be called "sub-client".

[0190] The term "fine-grained calendar slot (fgCS)" can also be called "sub-slot"; the term "fine-grained MTN path (fgMTNP)" can also be called "fine-grained client".

[0191] The term "time slot cross-connection" can also be referred to as "slicing Ethernet crossconnect (SE-XC)", or "MTNP channel forwarding", or "FlexE cross", or "66B code block cross-connection".

[0192] The term "FlexE Client" can also be referred to as "large-granularity client", or "MTN path layer (MTNP)".

[0193] The term "FlexE" or "FlexE Shim" can also be referred to as "MTN Section layer (MTNS, also simply referred to as the section layer)".

[0194] The term "FlexE overhead" can also be referred to as "MTN Section overhead", or "section layer OAM", or "section layer overhead".

[0195] The term "FlexE shim-to-shim management channel" can also be referred to as "MTN Section management communication channel (MCC)", or "section layer management channel", or "FlexE section-to-section management channel".

[0196] The term "FlexE synchronization channel" can also be referred to as "MTN section synchronization messaging channel", or "section layer management channel", or "section layer synchronization channel".

[0197] Next, the related technical terms of large-granularity technology and small-granularity technology are introduced.

[0198] (1) Small-granularity services

[0199] In some embodiments, the slot corresponding to the large bandwidth can be further divided into multiple sub - slots for carrying customer services with relatively low bandwidth requirements, and such services are also referred to as small - granularity services. For example, the above - mentioned large bandwidth can be understood as the bandwidth corresponding to the service layer of small - granularity services. For instance, when the service layer of small - granularity services is the MTN channel layer and the bandwidth of the MTN channel layer is 5 Gbps, the slot corresponding to the large 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. For example, the 1st, 3rd, and 5th sub - slots among these 480 sub - slots are used to carry small - granularity service 1. Another example is when the service layer of small - granularity services 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 services is finer, and small - granularity services refer to services with relatively low bandwidth requirements. For example, the bandwidth requirement of a dedicated power line service is 10 Mbps. At this time, the small - granularity technology can be used to allocate a specified bandwidth for this dedicated power line service to carry the service traffic of the dedicated power line service, and the above - mentioned dedicated power line service is a kind of small - granularity service.

[0200] Among them, when transmitting fine-grained services, for the transmitting end, in one example, the FlexE shim can encapsulate data into pre-divided sub-slots for transmission according to the time slots configuration of the fine-grained services. For the receiving end, 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 slots configuration of the fine-grained services and continue the transmission. In another example, for the transmitting end, the data can be encapsulated into the corresponding sub-slots for transmission by using the MTN channel layer adaptation function (MTN path adaptation function). For the receiving end, 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 channel layer 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). In the following description, the two can be used interchangeably. Regarding the FlexE OH insertion method and the structure of the overhead frame, in a specific implementation, the relevant description of FlexE in the optical internetworking forum (OIF) can be referred to, and details are not provided here.

[0201] (2)FlexE client

[0202] The FlexE client is also known as the large-granularity client. In the MTN-related standard protocols, the FlexE client can also be referred to as the MTN path layer (MTNP). The 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 the 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. The 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 PCS layer, the 64 / 66B can be extracted through the first two synchronization bits.

[0203] (3) Identification of the FlexE client interface

[0204] Used to identify the FlexE client. For example, the identifier of the FlexE client interface is the FlexE client index. The FlexE client index is used to uniquely identify a FlexE client in a network device; or, the identifier of the FlexE client interface is the transmission identifier of the FlexE client interface. The transmission identifier of the FlexE client interface is also called the FlexE client ID. The FlexE client ID is used to uniquely identify a FlexE client within a FlexE group. The FlexE client ID is the identifier of the data stream and is carried in the calendar of the multi-frame overhead. Or, the identifier of the FlexE client interface is determined based on the transmission identifier of the FlexE client interface and the identifier of the FlexE group to which the FlexE client interface belongs; or, in the scenario of directly dividing the bandwidth resources of the FlexE physical interface into sub-slots, the identifier of the FlexE client interface is the identifier of the FlexE physical interface from which the FlexE client interface is obtained.

[0205] (4) FlexE Physical Interface

[0206] The FlexE physical interface refers to the physical interface that supports the FlexE technology. The FlexE physical interface is also called the PHY. The identifier of the FlexE physical interface is used to identify a FlexE physical interface. The identifier of the FlexE physical interface is, for example, the physical interface number (PHY number, also called the instance number, instance number). 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 is required 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.

[0207] (5) Flexible Ethernet Group Number (FlexE group number)

[0208] The identifier of a FlexE group is used to identify the FlexE group. For example, the identifier of a FlexE group is the FlexE group number or the FlexE group index. In some embodiments, the identifier of a FlexE group is used to uniquely identify the FlexE group within a network device. The identifiers of different FlexE groups in the same network device are different. The FlexE group number is usually carried in a fixed field of the overhead frame of each physical interface belonging to the FlexE group. Usually, the FlexE group numbers of two network devices docked based on the FlexE group are the same.

[0209] (6) Flexible Ethernet group (FlexE group)

[0210] Each FlexE group includes one or more PHYs. When there are multiple PHYs, the multiple PHYs are physically independent. A network device applying the FlexE technology can identify which PHYs are included in a FlexE group through the PHY numbers to achieve the logical bundling of multiple PHYs. 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 the 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.

[0211] (7) FlexE shim

[0212] The FlexE shim can also be referred to as the MTN Section layer (MTNS) in the MTN-related standard protocols. As an additional logical layer inserted between the MAC and PHY (PCS sub-layer) of 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-carrying channels of time slots (slots), and the bandwidth corresponding to each slot is 5Gbps. For every 1023 * 20 Slot of 64 / 66B data sent by the PHY, an overhead FlexE (OH) is inserted to inform the receiving end how to parse the received data.

[0213] (8) Cross-PHY bundling

[0214] Cross-PHY bundling can also be referred to as FlexE physical interface time slot bundling, which means bundling the time slots of different FlexE physical interfaces within the same FlexE group for use. For example, cross-PHY bundling is the ability to bundle the 5G time slots of two FlexE physical interfaces within the same FlexE group for use. Through cross-PHY bundling, more available bandwidth is obtained, enabling the establishment of a path with a larger bandwidth. Through cross-PHY bundling, the utilization of bandwidth is also made more flexible.

[0215] (9) Large-granularity interface

[0216] A large-granularity interface refers to an interface that can carry large-granularity services and can also be understood as the endpoint through which a large-granularity path passes. In some embodiments, the large-granularity interface is a logical interface. For example, the large-granularity interface is a FlexE client interface (also known as the interface of MTNP). The FlexE client interface is a kind of logical interface. The FlexE client interface is an interface obtained by dividing time slots based on the FlexE physical interfaces in the FlexE group. In some other embodiments, the large-granularity interface is a FlexE physical interface.

[0217] (10) Small-granularity interface

[0218] A small particle interface is an interface that can carry small particle services and can also be understood as an endpoint through which a small particle path passes. For example, the small particle interface is the fgClient interface or is also called the fgMTNP interface.

[0219] (11) Large particle path

[0220] A large particle path refers to a data transmission channel used to carry large particle services. A large particle path is also called a FlexE-Channel. A large particle path passes through a series of connected large particle interfaces (such as FlexE client interfaces), and a large particle path occupies some resources of each large particle interface. For example, a large particle path includes multiple segments of paths, and each segment of the path includes the connection relationship of a pair of large particle interfaces. For example, the head node of the large particle path is network device A, the intermediate node of the large particle path is network device B, and the tail node of the large particle path is network device C. The large particle path includes the path between network device A and network device B and the path between network device B and network device C. The path between network device A and network device B includes the connection relationship between FlexE client interface 1 in network device A and FlexE client interface 1 in network device B. The path between network device B and network device C includes the connection relationship between FlexE client interface 2 in network device B and FlexE client interface 2 in network device C.

[0221] (12) IGP

[0222] IGP is a dynamic routing protocol. IGP includes OSPF (Open Shortest Path First) and IS-IS (Intermedia System-Intermedia System). OSPF is an interior gateway protocol based on link state. Currently, OSPF Version 2 (RFC2328) is used for the IPv4 protocol; OSPF Version 3 (RFC2740) is used for the IPv6 protocol. IS-IS is a link state routing protocol. Each router generates an LSP, which contains the link state information of all interfaces enabled with the IS-IS protocol on this router. By establishing an IS-IS adjacency relationship with adjacent devices and updating the local device's LSDB with each other, the LSDB can be synchronized with the LSDBs of other devices in the entire IS-IS network. Then, the IS-IS route is calculated using the SPF algorithm based on the LSDB. If this IS-IS route is the optimal route to the destination address, this route will be downloaded to the IP routing table and used to guide the forwarding of packets.

[0223] (13) Flooding

[0224] Flooding is a way to send newly added or modified link state information to each network device within a domain, so that each network device within the domain can obtain consistent topology information. IGP protocols such as OSPF and IS-IS support the flooding mechanism. Taking the IS-IS protocol as an example, flooding in IS-IS means that after a router advertises its LSP to an adjacent router, the adjacent router then forwards the same LSP packet to other neighbors except the router that sent the LSP, and in this way, the LSP is gradually forwarded to all routers within the entire hierarchy. Through this "flooding", each router within the entire hierarchy can have the same LSP information and keep the LSDB synchronized.

[0225] (14) Network slicing

[0226] Network slicing is also known as network sharding. Network slicing is a concept with a larger scope than large-grained interfaces or small-grained interfaces. Network slicing is the division of logical resources based on the general network, so that a logical network of a group of shared or dedicated network resources is divided into a certain network slice. A certain network slice is used to carry specific services, such as services that require reserved network forwarding resources like mobile services, dedicated line services, and remote medical services. In network slicing technology, the physical resources of the network are logically abstracted to form mutually isolated and independently manageable virtual resources, so as to divide and map the network resources. On this basis, after combining the logical virtual network resources through network sharding management, a logical network isolated from other network shards is formed. Theoretically, these resources can be any unit in the physical network, such as network elements, single boards, ports, logical ports / sub-ports, service instances, forwarding tables, queues, caches, resources, etc. In some embodiments of the present application, the types of resources in the network slice include at least one of FlexE client interfaces, FlexE physical interfaces, and FlexE groups. For example, a network slice for large-grained path calculation includes multiple FlexE physical interfaces and multiple FlexE groups. Another example is that a network slice for small-grained path calculation includes multiple FlexE client interfaces.

[0227] Next, a possible SPN architecture supporting small-grained technology will be introduced. Refer to Figure 1a , this figure is a schematic diagram of an SPN architecture supporting small-grained technology provided by an embodiment of the present application.

[0228] As Figure 1a shown, the SPN architecture includes:

[0229] Slicing Packet Layer (SPL), Slicing Channel Layer (SCL), Slicing Transport Layer (STL), a software-defined network (SDN) slice control plane that integrates management and control, and an ultra-high-precision event frequency synchronization technology. Among them:

[0230] SCL includes a FGU layer, an MTN path (MTNP) layer, and an MTN Section (MTNS) layer. Among them: The FGU layer provides an end-to-end deterministic low-latency N*10 Mbps granularity 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.

[0231] Based on the original high-speed Ethernet physical layer interface, 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.

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

[0233] First, the sending-side behavior and the receiving-side behavior of MTNS will be introduced.

[0234] In an example, taking 100GBASE-R PHY as an example, 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. MTNS is bidirectional and symmetric. Here, an example of one data transmission direction is used for illustration.

[0235] On the sending side, 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 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.

[0236] The O code block plus the aforementioned 7 D code blocks constitute the overhead of the MTNS frame. Some point-to-point link configuration information of MTNS is carried in the overhead, such as time slot configuration information, section layer group configuration information, and so on.

[0237] 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 sending-side device.

[0238] At the receiving side, 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 is known according to the fixed count that the next overhead code block appears after 1023 * 20 code blocks. Correspondingly, the receiving side can determine the position of the data corresponding to each time slot in the received signal according to the O code block.

[0239] 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 management, maintenance, and protection (OAM and protection, OAMP) 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.

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

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

[0242] On the network to network interface (NNI) side of PE1, the MTNP layer obtains the client signal from the MAC layer. This client 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.

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

[0244] On the receiving side of the P node, first, according to the receiving side behavior of MTNS described above, the MTNS frame is identified. Subsequently, according to the pre-configuration, the MTNP data is recovered 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 as well as MAC bridge forwarding is that MTNP forwarding exclusively occupies 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).

[0245] 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, the slot with a corresponding bandwidth of 5 Gbps is further divided at a granularity of 10 Mbps, resulting in 480 sub-slots, which are used to carry small-granularity services. In this case, the MTN FGU can further divide 480 10-Mbps time slots 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 one example, a fine-grained basic unit (fg-BU) is the basic unit for the FGU to carry information. The fg-BU can include the FGU base frame overhead and the 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 small-granularity service data. Among them, the time slot information of small granules can be the mapping relationship between sub-slots and sub-clients. Among them, 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.

[0246] For the scenario where the slot with a corresponding bandwidth of 5 Gbps is further divided at a granularity of 10 Mbps, in one example, an FGU base frame can 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 120 can 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 transmit side of PE1, like the MTNP, the MTN FGU layer first encodes the MAC frame client signal into a 66B code block sequence and then inserts the OAM code block. It should be noted at this time that the OAM code block of the small-granularity MTNP (fgMTNP) is inserted in the MTN FGU layer, rather than the OAM code block of the MTNP. Subsequently, a series of 66B code block sequences containing the fgMTNP OAM code block are mapped into the 10-Mbps time slots specified according to the pre-configuration in the fg-BU.

[0247] 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 block, according to the behavior of the MTNS sending side described above, it is mapped into the time slots specified by MTNS.

[0248] On the receiving side of the P node, according to the behavior of the receiving side of MTNP described above, the MTNP signal is restored, and then the OAM code block in MTNP is 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 block.

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

[0250] The behavior of the sending 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 sending side of the PE1 node, which will not be described in detail this time.

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

[0252] 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 above 64 / 65B. 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 you want to deploy large granule technology in the network, you can configure the path carrying large granule services through static configuration. Correspondingly, if you want to deploy small granule technology in the network, you can configure the path carrying small granule services through static configuration.

[0253] The application scenarios provided by the embodiments of the present application will be described below by way of example.

[0254] The embodiments of the present application are applied to scenarios that need to carry large granule services and / or small granule services. Refer to Figure 2 , Figure 2 shows a schematic diagram of a network system 20 for carrying large granule services and / or small granule services provided by the embodiments of the present application. Figure 2 The network system 20 shown includes multiple network devices 210 and a controller 220.

[0255] The network device 210 is used to forward large-granularity service data or / and 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 multiple network devices 210 include multiple PE devices and multiple P devices, such as the devices PE1 and PE2, and the devices P1 to P6 in the figure.

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

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

[0258] For example, referring to Figure 2 , the FlexE physical interface 1 of the device P4 is connected to the FlexE physical interface 1 of the device P5 through a link. The FlexE physical interface 2 of the device P4 is connected to the FlexE physical interface 2 of the device P5 through a link. For example, the FlexE physical interface 1 and the FlexE physical interface 2 of the device P4 form a 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.

[0259] The controller 220 is used to determine the path for carrying large-granularity services (hereinafter referred to as large-granularity path calculation) and / or determine the path for carrying small-granularity services (hereinafter referred to as small-granularity path calculation). The controller 220 may be a device running a network management system (NMS). The controller 220 may be a functional module that implements control and / or management functions, or a physical entity running relevant functional modules. The above 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 and management entity. The embodiments of the present application do not make specific limitations.

[0260] 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.

[0261] In Figure 2 In the scenario shown, in order to support the controller 220 to implement the functions of large-granularity path calculation and / or small-granularity path calculation, the network device 210 may 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.

[0262] For example, in the large-granularity path calculation scenario, the device dynamically reports the FlexE topology, so that the controller 220 can 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 the 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 the FlexE groups of different devices.

[0263] For another example, in the scenario of small-granularity path 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 FlexE client interfaces.

[0264] 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 some services need to be carried over a small-granularity path while other services need 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.

[0265] The method flow of the embodiments of the present application will be illustrated by way of example below.

[0266] Att Figure 3 is a flowchart of a method for reporting topology resource information provided by the embodiments of the present application. Att Figure 3 The method shown is executed by interaction between a network device and a controller.

[0267] Att Figure 3 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.

[0268] Since the topology reporting processes executed by different network devices are similar, for the convenience of readers' understanding and concise description, Att Figure 3 the process shown focuses on an example of how the first network device reports the topology related to its own end to the controller. The topology reporting processes of other network devices other than the first network device can refer to the topology reporting process executed by the first network device.

[0269] Regarding the relationship among 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.

[0270] Attached Figure 3 The method shown can be applied to Figure 2 the network system 20 shown. For example, attached Figure 3 in the method shown, the first network device is Figure 2 any one of the network devices PE1, PE2, P1, P2 to P6 in the network system shown. Taking the first network device as device P4 as an example, the second network device is, for example, device P5.

[0271] Attached Figure 3 The method shown includes the following steps S310 to S370.

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

[0273] The topology resource information is used to indicate the connection relationship between the interfaces of the network devices participating in the 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.

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

[0275] In some embodiments, the topology resource information may also be referred to as the information of a link. For example, the topology resource information includes the identifier of the local interface, the identifier of the peer interface connected to the local interface via 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 topology 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 interfaces. Since the reported topology 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.

[0276] For example, from the perspective of the first network device, the topology 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.

[0277] 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.

[0278] 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.

[0279] 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.

[0280] 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).

[0281] Exemplarily, in the large-granularity path calculation scenario, 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.

[0282] 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.

[0283] 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.

[0284] 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 2 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.

[0285] 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. Since the amount of information of the reported topology resource information is smaller in this way, it helps to reduce the overhead generated by reporting.

[0286] 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. Based on 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.

[0287] For example, in the large-granularity path calculation scenario, based on 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 small-granularity path calculation scenario, based on 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.

[0288] 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 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. 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.

[0289] 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 relationship 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 a third interface. The second FlexE group in the second network device includes not only the above-mentioned second interface but also a 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.

[0290] For example, in the scenario of large-granularity routing calculation, when multiple FlexE physical ports are included 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.

[0291] For example, in the scenario of small-granularity routing calculation, when multiple FlexE client interfaces are included in the same FlexE group, in some embodiments, multiple FlexE client interfaces in the FlexE group of the local network device can be point-to-point connected 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.

[0292] In some embodiments, the topology resource information collected by the network device includes the identifier of each interface among all 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 other embodiments, the topology resource information collected by the network device includes the identifiers of some interfaces among all interfaces within the same FlexE group at the local end, the resource information of some interfaces, and the identifiers of multiple peer interfaces corresponding to some 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.

[0293] In 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.

[0294] In still other 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.

[0295] In still other 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.

[0296] 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 (the identifier of the first interface) of the local device and the identifier of the local device (the identifier of the first network device) to the second network device, and receives the interface identifier (the identifier of the second interface) of the peer device and the identifier of the peer device (the identifier of the second network device) from the second network device. The link state protocol is, for example, LLDP or LMP.

[0297] 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 that serves as the container for small-granularity services. Another example is that 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 that serves as the container for large-granularity services.

[0298] 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.

[0299] 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.

[0300] 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.

[0301] 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 it first collects the bandwidth, and after the controller performs path calculation, it subtracts the bandwidth allocated for the path from the maximum bandwidth of the interface to obtain the available bandwidth of the interface.

[0302] The available bandwidth of an interface is also referred to 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. By obtaining and sending the available bandwidth of the interface, it is convenient for the controller to allocate some 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 some 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 some 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 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.

[0303] The maximum reservable bandwidth of an interface is the maximum bandwidth that the configured interface is allowed to use. In a scenario 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 some or all of the bandwidth from the maximum reservable bandwidth of the interface to the end-to-end forwarding path during path calculation.

[0304] In some embodiments, when a network device performs topology collection, it also collects the time slot information of its local interface so that when reporting the topology later, it reports topology resource information including the time slot information of its local interface. 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.

[0305] 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 during route calculation, 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 during route calculation. 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. Further, since end-to-end forwarding paths such as large-granularity paths or small-granularity paths are all created by reserving slots for each interface, by obtaining and reporting topology resource information including slot information, the route calculation result sent by the controller based on the topology resource information during route calculation 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 each device calculating the slot information based on the bandwidth information.

[0306] 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 topology 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 topology 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, the slot information of the first interface and the bandwidth information of the first interface are sent during topology reporting. 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.

[0307] In some embodiments, when the network device performs topology collection, it also collects the bandwidth information of the peer interface, so as to report topology 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, and subsequently sends 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 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.

[0308] In some embodiments, when performing topology collection, the network device 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 step of obtaining and reporting the timeslot information of the peer interface is omitted, and the timeslot information of the local interface is obtained and reported.

[0309] 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.

[0310] 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; 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.

[0311] 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 in total 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.

[0312] 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 slices 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 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 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.

[0313] 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.

[0314] 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 through which the path passes based on the slot granularity.

[0315] Whether to send bandwidth information or slot information is determined, for example, based on the resource collection mode of the device. 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 subsequently sends the bandwidth information of the first interface when reporting the topology. 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 subsequently sends the slot information of the first interface when reporting the topology. 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 of the first interface and the bandwidth information of the first interface, and subsequently sends the slot information of the first interface and the bandwidth information of the first interface when reporting the topology.

[0316] The resource collection mode is used to indicate collecting 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.

[0317] Regarding the method for determining the resource collection mode, that is, the method for choosing 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 ability. 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.

[0318] In some embodiments, considering that the controller may receive various 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 that 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. Examples of the expression methods of the topology type identifier are given below.

[0319] 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.

[0320] 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.

[0321] In the case where a network device includes multiple large-granularity interfaces and / or 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.

[0322] 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 the 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 constraint condition for path calculation or an attribute of the topology. 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 in other words, instructing 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.

[0323] Regarding the method for a network device to obtain 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.

[0324] 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 all the dynamically reported topologies are used for SPN path calculation or are all related to FlexE, the topology resource information may not include a model identifier.

[0325] 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.

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

[0327] 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 and / or a change in the resources of an interface carrying large-granularity or small-granularity services.

[0328] 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.

[0329] In some embodiments, when the device detects that the status of the 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 perceives 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 interface change to the down state in the device on the transmission of large-granularity services or small-granularity services.

[0330] In some embodiments, when the device detects that the status of the 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 perceives 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.

[0331] 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 cycle with the status collected in the previous cycle for the same interface.

[0332] 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 that can carry large-granularity services or small-granularity services, it will report topological resource information to the controller.

[0333] 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 link between devices will also become unavailable after the status of the peer interface switches to the down state, the first network device probes 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 topological 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 timely perceive the change in the interface status of the peer device.

[0334] 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, the available time slots become more, or the available time slots change from time slot A to time slot B, the first network device sends topological resource information to the controller. Another example is that when it detects that the occupied time slots become fewer, the occupied time slots become more, or the occupied time slots change from time slot A to time slot B, the first network device sends topological resource information to the controller.

[0335] 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 perceive the available bandwidth of the large-granularity interface and meet the requirements of the controller's dynamic path calculation.

[0336] 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 topological resource information to the controller.

[0337] 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 sends the control protocol message to the controller.

[0338] The control protocol message can be any protocol message that supports the topology reporting protocol. In some embodiments, the control protocol message includes a PCEP-LS message. In other embodiments, the control protocol message includes a BGP-LS message. Alternatively, the control protocol message can also be an RSVP-TE (Resource Reservation Protocol-Traffic Engineering) protocol message.

[0339] In some embodiments, the first network device reports the identifier of the first FlexE group as an attribute of the FlexE physical interface (the first interface), thereby indicating the correspondence between the FlexE physical interface and the FlexE group. For example, the first network device reports the information of four FlexE physical interfaces. The first two FlexE physical interfaces belong to FlexE group 1, and the last two FlexE physical interfaces belong to FlexE group 2. Then, the identifier of FlexE group 1 is carried in the attributes of the first two FlexE physical interfaces, and the identifier of FlexE group 2 is carried in the attributes of the last two FlexE physical interfaces, thereby indicating that the first two FlexE physical interfaces can be bound together for use, and the last two FlexE physical interfaces can be bound together for use.

[0340] In some embodiments, the identifiers of the first interface and the second interface are carried in specific fields of the control protocol message. For example, the identifier of the first interface is carried in the link local identifier field of the control protocol message, and the identifier of the second interface is carried in the remote local identifier field. Since the link local identifier field and the remote local identifier field are typically used in the standard protocol to carry the interface identifiers at both ends of a pair of links, the carrying positions of the identifiers of the first interface and the second interface in the message implicitly indicate that the first interface and the second interface have a connection relationship. Therefore, the controller can determine that the first interface and the second interface are connected based on the carrying positions of the identifiers of the first interface and the second interface in the message, without the device reporting separate information to notify that the first interface and the second interface have a connection relationship. Of course, the relationship between the first interface and the second interface can also be identified by a specific flag bit in the control protocol message.

[0341] For more details on the format of the control protocol message, please refer to the description in the section "Protocol Message Extension" in the following text.

[0342] Step S360, the controller receives topology resource information from the first network device.

[0343] In some embodiments, the controller receives a control protocol message that carries topology resource information. The controller parses the control protocol message to obtain the topology resource information.

[0344] Step S370, the controller determines a path based on the topology resource information.

[0345] Since the topology resource information includes information about the links between devices. The information about the link includes 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, enabling the controller to determine the connection relationship between the interfaces in each device in the network. Based on the connection relationship and the resources of the interfaces, an end-to-end forwarding path can be determined.

[0346] The end-to-end forwarding path starts from the source end and passes through 0, 1, or more than 2 intermediate nodes until the sink end. For example, the path is FlexE-Channel or Fg-Channel. To distinguish between the interfaces indicated by the topological resource information based on which the path calculation is described (such as the first interface and the second interface) and the interfaces passed through in the path obtained by the path calculation, the interfaces passed through in the path obtained by the path calculation are hereinafter referred to as target interfaces. The target interface is, for example, a logical interface generated by performing time slot slicing on the bandwidth resources of the interfaces indicated by the topological resource information according to a predetermined time slot granularity. The time slot granularity of the target interface is finer than that of the first interface. In other words, the transmission rate of the service data that the target interface can carry is less than the transmission rate of the service data that the first interface can carry. For example, the first interface is a large-granularity interface and the target interface is a small-granularity interface. Another example is that the first interface is a FlexE group and a FlexE physical interface, and the target interface is a large-granularity interface or a small-granularity interface

[0347] Exemplarily, the topological resource information received by the controller includes the connection relationships of the large-granularity interfaces of each device and the available resource information of the large-granularity interfaces. Based on the available resource information of the large-granularity interfaces and the resource information of the service requirements, with the constraint of allocating resources to meet the service requirements and not exceeding the available resources of the large-granularity interfaces, small-granularity interfaces that need to allocate a certain amount of resources are further sliced from the large-granularity interfaces; the controller determines the small-granularity path based on the sliced small-granularity interfaces with the constraints of reachability between devices and reachability within devices

[0348] For example, the topological resource information received by the controller includes the connection relationships of the FlexE client interfaces of each device and the available resource information of the FlexE client interfaces. The available resource information of the FlexE client interface is the available bandwidth of 1G of the FlexE client interface, and the service requirement is to calculate a small-granularity path with a bandwidth of 10M. Then, 10M small-granularity interfaces are sliced from the FlexE client interfaces of each device, and the connection relationships between the sliced 10M small-granularity interfaces are determined as the small-granularity path

[0349] In some embodiments, path calculation is performed on the connection relationships between FlexE physical interfaces, the connection relationships between FlexE group interfaces, and the available resources of FlexE physical interfaces to obtain a large-granularity path

[0350] In some embodiments, path calculation is performed on the connection relationships between FlexE client interfaces and the available resources of FlexE client interfaces to obtain a small-granularity path

[0351] In some embodiments, the ways for the controller to determine a path include a time slot mode and a bandwidth mode. In the time slot mode, the resource information corresponding to the path is time slot information. In the bandwidth mode, the resource information corresponding to the path is bandwidth information.

[0352] In some embodiments, the topology resource information includes the resource information of device interfaces. The controller determines the allocated bandwidth of each target interface through which the path passes based on the resource information of the interfaces and the required bandwidth of the service data. For example, the topology resource information includes the resource information of a first interface in a first network device, and the controller receives the required bandwidth of the service data input by the user. The controller determines an end-to-end forwarding path based on the resource information of the first interface and the required bandwidth of the service data.

[0353] In some embodiments, the topology resource information received by the controller includes the available bandwidth of a first interface. The controller determines the allocated bandwidth of the target interface based on the available bandwidth of the first interface and the required bandwidth of the service data. The allocated bandwidth of the target interface is less than the available bandwidth of the first interface and the allocated bandwidth of the target interface is greater than or equal to the required bandwidth of the service data. The target interface is, for example, obtained by performing time slot slicing on the bandwidth resources of the first interface. For example, the available bandwidth of the first interface is 50M, the required bandwidth of the service data is 10M, and the allocated bandwidth of the target interface is 10M. Since the controller considers the resource information of the interface and the required bandwidth of the service data when calculating the path, the interface after path calculation can meet the required bandwidth when carrying the service data.

[0354] In some embodiments, the topology resource information received by the controller includes the time slot granularity of a first interface and the time slot status of the first interface. The controller determines the available bandwidth of the first interface based on the time slot granularity of the first interface and the time slot status of the first interface; the controller determines the allocated bandwidth of the target interface based on the available bandwidth of the first interface and the required bandwidth of the service data.

[0355] In some embodiments, the topology resource information received by the controller includes the time slot granularity of a first interface. The controller determines the number of time slots to be allocated for the interfaces through which the end-to-end path passes based on the received time slot granularity and the required bandwidth of the service data. Exemplarily, the required bandwidth of the service data is 100G, and the time slot granularity that the first interface can carry is 5G. Then the controller determines that the number of time slots allocated for the service data is 20, and the controller determines to allocate 20 time slots in the first interface for the end-to-end path to use.

[0356] In some other embodiments, the controller and the network device are respectively preconfigured with a predetermined time slot granularity. The network device does not need to collect and report the time slot granularity of its own interface. The controller determines the number of time slots to be allocated for the interfaces through which the end-to-end path passes based on the predetermined time slot granularity and the required bandwidth of the service data. The predetermined time slot granularity is provided, for example, by an MTN-related standard protocol or draft. For example, in a small-granularity path calculation scenario, the predetermined time slot granularity is 10M. Alternatively, the predetermined time slot granularity is determined through negotiation between the controller and the network device.

[0357] In some embodiments, the topology resource information received by the controller includes the time slot status. The controller further allocates time slots from the available time slots for the end-to-end path to use based on the available time slots indicated by the time slot status. For example, the controller determines that the number of time slots allocated for the service data is 20, and the time slot status indicates that time slots 0 to 9 of the first interface are occupied, and time slots 10 to 29 of the first interface are available. Then the controller determines to allocate time slots 10 to 29 in the first interface for the end-to-end path to use.

[0358] Exemplarily, in a large-granularity path calculation scenario, the first interface (local interface) includes each FlexE physical interface in the local FlexE group, and the second interface (peer interface) includes each FlexE physical interface in the peer FlexE group. The controller determines the network topology for large-granularity path calculation based on the topology resource information sent by each network device. The network topology includes the connection relationship between each FlexE physical interface in each network device and the resource information of each FlexE physical interface. The controller performs path calculation based on the network topology and the required bandwidth of the service data to obtain a large-granularity path. The large-granularity path includes a plurality of sequentially connected FlexE client interfaces. The FlexE client interface is obtained by performing time slot slicing on the bandwidth resources of the FlexE physical interface. The allocated bandwidth of the FlexE client interface is greater than or equal to the required bandwidth of the service data and less than or equal to the available bandwidth of the FlexE physical interface.

[0359] Exemplarily, in a small-granularity routing scenario, the first interface (local interface) includes each FlexE client interface in the local FlexE group, and the second interface (peer interface) includes each FlexE client interface in the peer FlexE group. The controller determines the network topology for small-granularity routing based on the topology resource information reported by each network device. The network topology includes the connection relationships between each FlexE client interface in each network device and the resource information of each FlexE client interface. The controller performs path calculation based on the network topology and the required bandwidth of the service data to obtain a small-granularity path. The small-granularity path includes a plurality of sequentially connected fgClient interfaces. The fgClient interface is obtained by performing time slot slicing on the bandwidth resources of the FlexE client interface. The allocated bandwidth of the fgClient interface is greater than or equal to the required bandwidth of the service data and less than or equal to the available bandwidth of the FlexE client interface.

[0360] In some embodiments, the topology resource information received by the controller includes a topology type identifier. Since the topology type identifier is used to indicate whether the topology resource information is for large-granularity routing or small-granularity routing, the controller can clarify whether the topology resource information is used for large-granularity routing or small-granularity routing. In particular, in a scenario where the network device reports topology resource information for both large-granularity routing and small-granularity routing at the same time, since the topology type identifiers carried in the different topology resource information received by the controller are different, the controller can clarify which type of topology each received topology resource information belongs to, avoiding the risk that the calculated path is unavailable due to confusion between the topology for large-granularity routing and the topology for small-granularity routing.

[0361] Exemplarily, if the controller detects that the topology resource information includes a first topology type identifier, the controller determines to perform small-granularity routing based on the topology resource information. If the controller detects that the topology resource information includes a second topology type identifier, it determines to perform large-granularity routing based on the topology resource information. If the controller detects that the topology resource information includes a third topology type identifier, the controller determines that the topology represented by the topology resource information is a FlexE client topology, and further performs small-granularity routing based on the connection relationships between the FlexE client interfaces represented by the topology resource information. If the controller detects that the topology resource information includes a fourth topology type identifier, the controller determines that the topology represented by the topology resource information is a FlexE physical interface topology, and further performs large-granularity routing based on the connection relationships between the FlexE physical interfaces represented by the topology resource information.

[0362] In some embodiments, the topology resource information received by the controller includes a model identifier. In response to detecting that the topology resource information includes a model identifier, the controller determines to perform a routing task related to SPN or FlexE based on the topology resource information. Since the model identifier indicates that the topology resource information is related to FlexE, the controller can determine to perform large-granularity routing or small-granularity routing based on the topology resource information, rather than performing other path calculation tasks other than large-granularity routing and small-granularity routing using the topology resource information, reducing the risk of resource competition between other forwarding paths and large-granularity paths and small-granularity paths. It also enables the controller to distinguish the topology resource information from the three-layer network topology information, reducing the probability of different types of topologies being confused with each other.

[0363] In some embodiments, the topology resource information received by the controller includes both a model identifier and a topology type identifier. The controller first determines to perform a routing task related to FlexE based on the model identifier, and then determines whether to perform a large-granularity routing task or a small-granularity routing task based on the topology type identifier.

[0364] In some embodiments, the topology resource information received by the controller further includes a slice identifier of the network slice to which the first interface belongs. The controller calculates an end-to-end forwarding path within the network slice based on the connection relationship between the interfaces and the resources of the interfaces in the network slice, so that the service data carried by the end-to-end forwarding path is transmitted through the resources reserved by the dedicated network slice, reducing the risk of resource preemption caused by multiple services sharing the resources within the same network slice, enhancing the isolation of the resources used by different services, and improving the service level agreement (SLA) of the services.

[0365] Exemplarily, in a small-granularity routing scenario, the first interface includes a FlexE client interface, and the FlexE client interface belongs to the first network slice. The network device reports the slice identifier of the first network slice to the controller, enabling the controller to calculate a small-granularity path within the first network slice, rather than calculating a small-granularity path using the resources of other network slices outside the first network slice, thereby reducing the risk of resource preemption between the services carried by other network slices outside the first network slice and the services carried by the first network slice, and further improving the transmission quality of the small-granularity path.

[0366] Exemplarily, in a large-granularity routing scenario, the first interface includes a FlexE physical interface and a FlexE group. The FlexE physical interface and the FlexE group belong to the second network slice. The network device reports the slice identifier of the second network slice to the controller, enabling the controller to calculate the large-granularity path within the second network slice without using the resources of other network slices outside the second network slice to calculate the large-granularity path, thereby reducing the risk of resource preemption between the services carried by other network slices outside the second network slice and the services carried by the second network slice, and further improving the transmission quality of the large-granularity path.

[0367] In a specific example, in a small-granularity routing scenario, the entire network system is divided into multiple network slices. The slice ID of network slice 1 is 1, and the slice ID of network slice 2 is 2. Network slice 1 is used to carry live broadcast services, and network slice 2 is used to carry on-demand video services. For example, the network system includes 10 FlexE client interfaces. Among them, FlexE client interfaces 1 to 3 belong to network slice 1 with a slice ID of 1, and FlexE client interfaces 4 to 10 belong to network slice 2 with a slice ID of 2. When reporting the link information connected to each of FlexE client interfaces 1 to 3, the first network device reports a slice ID of 1; when reporting the link information connected to each of FlexE client interfaces 4 to 10, the first network device reports a slice ID of 2. If the user's routing requirement is to route within network slice 1, the controller uses FlexE client interfaces 1 to 3 to calculate the small-granularity path instead of using FlexE client interfaces 4 to 10 to calculate the small-granularity path, so that the calculated small-granularity path belongs to network slice 1 with a slice ID of 1.

[0368] Optionally, Figure 3 The embodiment further includes steps S380 to S390.

[0369] Step S380, the controller sends path information to the first network device.

[0370] Step S380 can also be referred to as path distribution. For example, the controller sends a first control protocol message to the first network device, and the first path information corresponding to the first network device is carried in the first control protocol message.

[0371] Step S390: The first network device receives the path information sent by the controller and generates a forwarding table entry based on the path information.

[0372] In the method provided in this embodiment, since the device actively reports the topology resource information to the controller when it detects a change in the topology resource, the controller can perceive the dynamic changes of the topology resource, thereby meeting the requirements of the controller for dynamic route calculation.

[0373] In particular, in the case of reporting topology resource information using the PCEP-LS protocol or the BGP-LS protocol, since both the PCEP-LS protocol and the BGP-LS protocol are TCP-based protocols that support the sender and receiver to establish a session using a long connection, compared with the NETCONF protocol that establishes a session based on a short connection, it helps to reduce the time-consuming for the device to establish a connection with the controller before reporting the topology. Among them, a long connection means maintaining a connection for a long time after establishment until the connection is explicitly closed. The characteristic of a long connection is that it can continuously transfer a large amount of data, reducing the overhead of establishing and disconnecting the connection, and at the same time providing better stability and reliability. A short connection means closing the connection immediately after each interaction. Frequent connection and disconnection operations may generate additional overhead.

[0374] In addition, whenever the network topology or resources change, such as the state of the device's interface changes from up to down, or when the state of the device's interface changes from down to up, or the available bandwidth of the device, or the available time slots of the device change, the device will actively send the topology resource information to the controller. Compared with reporting the topology resource information periodically according to a predetermined time period, the controller can obtain the dynamically changing topology in real time, enabling the controller to perceive and respond to the changes in the topology resource more quickly and in a more timely manner. Further, it helps the controller to recalculate the end-to-end path (dynamic rerouting) for the service in a timely manner based on the changed topology resource, thereby reducing the probability of packet loss of the service traffic caused by the unreachability of the originally calculated path after the topology change.

[0375] The above introduced the main process of reporting topology resource information through the Figure 3 illustrated embodiments. The reporting of topology resource information includes the point-by-point reporting and the flooding and centralized reporting methods. In the case of using different methods, the Figure 3 illustrated embodiments have different technical implementation details. The following respectively gives examples of the processes of these two specific reporting methods.

[0376] Point-by-point reporting of topology resource information

[0377] Refer to Figure 4 , Figure 4 which shows Figure 2 a schematic diagram of the scenario of point-by-point reporting of topology resource information in the illustrated network system. AsFigure 4 As shown in the figure, each of the multiple network devices in the network system, such as each of the devices PE1, PE2, P1 to P6, reports topological resource information related to its own end to the controller. For example, when each of the devices PE1, PE2, P1 to P6 detects a change in topological resources, it sends a control protocol message carrying the topological resource information to the controller, enabling the controller to dynamically and real-time perceive the changes in the topological resources related to any network device in the network system.

[0378] Reference Figure 5 , Figure 5 shows a schematic flowchart of another method for reporting topological resource information provided by an embodiment of the present application. Figure 5 The embodiment shows the Figure 3 specific implementation manner in the case of point-by-point reporting in the shown embodiment. Figure 5 The embodiment is applied to, for example, Figure 4 the network system shown in the figure. For example, Figure 5 in the embodiment, the first network device and the third network device are Figure 4 any two of the devices PE1, PE2, P1 to P6 in the network system shown in the figure.

[0379] For the sake of simplicity of description, the Figure 5 shown method takes how the first network device and the third network device respectively report topological resources related to themselves as an example for description. Optionally, the Figure 5 shown method is used for scenarios where three or more network devices are deployed. In scenarios with more network devices, each network device uses a similar process to report topological resources related to its own end to the controller. To distinguish the topological resource information reported by different network devices, Figure 5 the embodiment uses "first topological resource information" to describe the topological resource information sent by the first network device and "second topological resource information" to describe the topological resource information sent by the third network device.

[0380] Figure 5 The embodiment further includes the following steps S330, S340, and S362 on the basis of including all the steps in the Figure 3 shown embodiment. Figure 5 Step S370' in the embodiment is Figure 3 an implementation manner of step S370 in the shown embodiment.

[0381] Step S330, the third network device collects the second topological resource information.

[0382] The second topology resource information includes the identifier of the third network device, the identifier of the fourth network device, the identifier of the fifth interface, the identifier of the 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 through the second link.

[0383] Exemplarily, in the small-granularity path calculation scenario, the fifth interface, the sixth interface, and the attached Figure 3 In the embodiment, both the first interface and the second interface include FlexE client interfaces. In the large-granularity path calculation scenario, the fifth interface, the sixth interface, and the attached Figure 3 In the embodiment, both the first interface and the second interface include FlexE physical ports. Optionally, the fifth interface, the sixth interface, the first interface, and the second interface all further include FlexE group.

[0384] For the technical details of step S330, reference can be made to step S310.

[0385] Step S340, in response to detecting a change in the topology resources, the third network device sends the second topology resource information to the controller.

[0386] Step S362, the controller receives the second topology resource information from the third network device.

[0387] Step S370’, the controller determines a path based on the first topology resource information from the first network device and the second topology resource information from the third network device.

[0388] As an example, the controller obtains the information of the first link through the attached Figure 3 embodiment, and obtains the information of the second link through the Figure 5 embodiment, and so on. Based on the topology resource information reported by each network device, the controller can obtain the information of each link in the network. For example, the controller combines the topology resource information from each network device into a network topology and performs path calculation based on this network topology.

[0389] Flooding and centralized reporting of topology resource information

[0390] Reference Figure 6 , Figure 6 shows Figure 2 a schematic diagram of the scenario of flooding and centralized reporting of topology resource information in the shown network system. As Figure 6 shown, each network device in the network system has established an IGP neighbor relationship with each other. The device PE1 and the device PE2 are connected to the controller.

[0391] Each network device in the network system, such as any of the network devices from device P1 to device P6, device PE1, and device PE2, floods the topology resource information related to its own end within the IGP domain when detecting a change in the topology resource. After device PE1 or device PE2 obtains the topology resource information of each network device in the network system, device PE1 or device PE2 sends the topology resource information of all network devices in the network system to the controller, for example, sends a control protocol message carrying the topology resource information of all network devices in the network system to the controller, so that the controller can dynamically and real-time perceive the changes in the topology resources related to any network device in the network system.

[0392] Reference Figure 7 , Figure 7 shows a schematic flow diagram of another method for reporting topology resource information provided by an embodiment of the present application. Figure 7 The embodiment shows the appendix Figure 3 The specific implementation manner in the case of flooding and centralized reporting shown in the embodiment. Figure 7 Step S310' in the embodiment is an implementation manner of step S310 shown in the appendix Figure 3 shown in the embodiment. Figure 7 The embodiment further includes the following steps S330 and S340' on the basis of including all the steps shown in the appendix Figure 3 shown in the embodiment. Figure 7 The embodiment is applied to, for example, Figure 6 the network system shown, for example, Figure 7 in the embodiment, the first network device and the third network device are Figure 6 device PE1 or device PE2 in the network system shown.

[0393] Step S340', the third network device floods the second topology resource information through the IGP in response to detecting a change in the topology resource.

[0394] The second topology resource information includes the identifier of the third network device, the identifier of the fourth network device, the identifier of the fifth interface, the identifier of the 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 through the second link.

[0395] In some embodiments, the third network device establishes an IGP neighbor with the fourth network device based on the IP address of the default sharding port within the FlexE group. The third network device obtains the connection relationships of each FlexE client in the FlexE group, and obtains multiple pairs of the identifiers of the local FlexE clients and the identifiers of the peer FlexE clients. The third network device floods, within the domain through the IGP protocol, the connection relationships of each FlexE client in the FlexE group and the resource information of each FlexE client in the FlexE group.

[0396] Among them, the default sharding port refers to the FlexE client interface that can carry packet forwarding services. Usually, this FlexE client interface enables the routing protocol and configures an IP address. Taking Figure 2 as an example, the default sharding port is, for example, interface client 0, and the IP address 10.1.1.1 is configured on interface client 0.

[0397] Taking Figure 2 the scenario shown as an example, Figure 2 in the figure, device P4 is a specific example of the third network device, device P5 is a specific example of the fourth network device. Device P4 and device P5 each have a FlexE group. Device P4 establishes an IGP neighbor relationship with the IP address 2.2.2.2 of the default sharding port within the FlexE group of the peer device P5 based on the IP address 1.1.1.1 of the default sharding port within its own FlexE group. Device P4 obtains the connection relationship between its local FlexE client 0 and the peer FlexE client 0, device P4 obtains the connection relationship between its local FlexE client 1 and the peer FlexE client 1, and device P4 obtains the connection relationship between its local FlexE client 2 and the peer FlexE client 2.

[0398] Establishing a neighbor relationship based on the IP address of the default sharding port within the FlexE group is exemplary. In some other embodiments, the third network device establishes an IGP neighbor with the fourth network device based on its local first FlexE client interface. The third network device performs information interaction with the fourth network device based on the link layer protocol, so as to obtain the connection relationship of the first FlexE client. The connection relationship of the FlexE client includes the identifier of the FlexE client in the local end and the identifier of the peer FlexE client connected to the local FlexE client.

[0399] Step S310’, the first network device receives the second topology resource information flooded through IGP, and collects the local topology resource information to obtain the first topology resource information.

[0400] The first topology resource information includes, in addition to Figure 3 the topology resource information related to the first network device described in the embodiments, the second topology resource information of the third network device.

[0401] Exemplarily, the first network device is deployed in the IGP domain, and each network device in the IGP domain propagates the second topology resource information in a flooding manner. For example, the first network device receives an IGP packet sent by an IGP neighbor of the first network device in the IGP domain, and the IGP packet carries the second topology resource information.

[0402] In some embodiments, in the case of using IGP flooding, if the first network device detects a change in the local topology resources, the first network device floods its local topology resource information to each IGP neighbor of the first network device in the IGP domain. For example, the first network device sends an IGP packet to each IGP neighbor, and the IGP packet carries the identifier of the first interface, the identifier of the second interface, the identifier of the first network device, the identifier of the second network device, and the resource information of the first interface, so that each IGP neighbor of the first network device can obtain the topology resource information related to the first network device through the received IGP packet.

[0403] In the above embodiments, the device enables the controller to perceive the links between devices in the network system by obtaining and reporting topology resource information. On the basis of the above embodiments, in some embodiments of the present application, reporting the cross-relationship between different interfaces inside the device is also supported, so that the controller can perceive the link between the ingress interface and the egress interface inside the device. For example, Figure 3 taking the embodiments as an example, the topology resource information obtained and reported by the first network device further includes cross-reachability information, and the scenarios where topology resource changes are detected also include detecting changes in the cross-relationship between different interfaces inside the device, so that the controller can dynamically perceive the changes in the internal links of each device in the network system in real time.

[0404] Reporting the cross-relationship between interfaces inside the device

[0405] The following explains some term concepts related to reporting the cross-relationship between interfaces inside the device.

[0406] The cross-relationship between interfaces can also be understood as the association relationship between interfaces or the connectivity between interfaces. For example, for interfaces A and B within the same device, if the service data can be forwarded out from interface B after arriving at interface A, then interfaces A and B are cross-reachable. If the service data cannot be forwarded out from interface B after arriving at interface A, then interfaces A and B are cross-unreachable. Cross-unreachability can also be referred to as disconnection.

[0407] The cross-relationship between interfaces is usually applied to the channel forwarding of MTNP. The difference between the channel forwarding of MTNP and traditional packet forwarding is that in traditional packet forwarding, when a device receives a packet, it usually looks up the routing forwarding table based on the destination address of the packet to determine the destination outgoing interface. In the channel forwarding of MTNP, the cross-relationship between the incoming interface and the outgoing interface is usually configured. When the device receives service data, a specific hardware (such as a SHIM chip) in the device determines the outgoing interface corresponding to the incoming interface based on the incoming interface of the received service data and the cross-relationship between the incoming interface and the outgoing interface, and forwards the service data through this outgoing interface.

[0408] The following is an example to illustrate the application scenario of the cross-relationship between the interfaces inside the reporting device.

[0409] Traditional packet forwarding devices are default to support full switching inside, that is, any two interfaces inside the packet forwarding device are reachable. However, for devices that support MTNP channel forwarding, the cross-reachability between different interfaces inside the device depends on the hardware architecture and implementation of the device. For example, if the SHIM chip is deployed on the daughter card chip, there is a certain probability that only the interfaces from the same daughter card can be cross-reachable.

[0410] And the controller usually has difficulty perceiving the cross-reachability between different interfaces inside the device, which may lead to the risk that the end-to-end path calculated by the controller is unreachable inside the device, resulting in the interruption of large-granularity services or small-granularity services during transmission inside the device.

[0411] Reference Figure 8 , Figure 8 shows a schematic diagram of the internal connectivity of a topology provided by an embodiment of the present application. For example, in the scenario shown in the appendix Figure 8 In the scenario shown, the first network device is connected to three links, and the identifiers of the local interfaces and the corresponding remote interfaces of each link are as follows. local as shown below represents the local interface, and remote represents the remote interface.

[0412] Link 1: local if 1remote if 1

[0413] Link 2: local if 2, remote if 2

[0414] Link 4: local if 4, remote if 4

[0415] by Figure 8 For example, the first network device obtains information about the three links connected to the first network device through link discovery, which are Figure 8 The first network device reports the information of link 1, link 2, and link 4 to the controller. On the premise that the internal reachability of the device is not considered and only the reachability between devices is considered, the controller calculates the path from link 1 to link 3 (or calculates the end-to-end forwarding path from the first network device to the second network device), and obtains two alternative paths.

[0416] Alternative path 1: Link 1->Link 2->Link 3

[0417] Alternative path 2: Link 1->Link 4->Link 5->Link 3

[0418] If the controller does not perceive the cross-reachability between different interfaces inside the device, the controller is likely to regard both alternative path 1 and alternative path 2 as valid paths, resulting in both alternative path 1 and alternative path 2 being sent to the device with a certain probability. However, in reality, only alternative path 1 is a valid path, while alternative path 2 is not a valid path.

[0419] Specifically, considering the internal reachability of the first network device, since the input interface if1 connected to link 1 in the first network device and the output interface if2 connected to link 2 in the first network device have no cross relationship, after the service data is transmitted to the input interface if1, it cannot be further transmitted to the output interface if2. Therefore, the alternative path 2 is not connected during the actual forwarding process, resulting in the service data received from link 1 being unable to reach link 2, and the service data transmission fails. However, the input interface if1 connected to link 1 in the first network device and the output interface if4 connected to link 4 in the first network device are cross-reachable, the input interface if4 connected to link 4 in the third network device and the output interface if5 connected to link 5 in the second network device are cross-reachable, and the input interface if5 connected to link 5 in the second network device and the output interface if3 connected to link 3 in the second network device are cross-reachable. It can be seen that the alternative path 1 is a valid path.

[0420] Based on this, in view of the problem that the controller cannot perceive the reachability inside the device, resulting in the calculated path being unreachable inside the device and further causing the failure of business data transmission, in some embodiments of the present application, the network device reports the cross-reachability information inside the device to the controller, so that the controller can perceive the reachability between different interfaces inside the device, and the controller can use the cross-reachability information inside the device as a factor for path calculation, and the controller determines a path that is reachable between devices and cross-reachable inside the device.

[0421] The cross-reachability information is used to indicate the cross relationship between different interfaces inside the device. Specifically, 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.

[0422] In some embodiments of reporting the cross-reachability information, during the process of obtaining and reporting the information of the first link, the first network device determines the interfaces that are cross-unreachable with the first link from multiple interfaces inside the first network device, and reports the identifiers of the interfaces that are cross-unreachable with the first link together with other information of the first link. For example, the first network device includes not only the first interface but also the third interface, and the third interface is cross-unreachable with the first interface. The cross-reachability information reported by the first network device includes the identifier of the third interface. Considering that in most cases, different interfaces inside the network device can be crossed, and the non-crossing between interfaces belongs to a special case, therefore, compared with reporting the interfaces that can be crossed with the current link, reporting the identifiers of the non-crossable interfaces separately has a relatively low implementation complexity.

[0423] In some other embodiments of reporting the cross-reachability information, when the first network device obtains and reports the information of the first link, the first network device determines the interfaces that are cross-reachable with the first link from multiple interfaces inside the first network device, and reports the identifiers of the interfaces that are cross-reachable with the first link together with other information of the first link. For example, the first network device includes not only the first interface but also the fourth interface, and the fourth interface is cross-reachable with the first interface. The cross-reachability information reported by the first network device includes the identifier of the fourth interface.

[0424] In some other embodiments of reporting cross-reachability information, during the process of obtaining and reporting information about the first link, the first network device determines, from multiple interfaces inside the first network device, an interface (such as interface if2) that is cross-inaccessible to the first link (such as link 1), determines the second link (such as link 2) connected to this interface, and reports the identifier of the second link together with other information about the first link. For example, the first network device includes not only the first interface but also the third interface, and the third interface is cross-inaccessible to the first interface. The third interface is connected to the third network device through the second link. The cross-reachability information reported by the first network device includes the identifier of the second link.

[0425] In some other embodiments of reporting cross-reachability information, when the first network device reports information about a link, if the first network device does not report the identifier of the interface that is cross-inaccessible to this link, the controller determines that each interface in the first network device is cross-accessible to this link (the first interface).

[0426] Regardless of which reporting method of cross-reachability information is adopted, since the network device reports the cross-reachability information, after receiving the cross-reachability information, the controller can use the cross-reachability inside the device as a routing calculation factor. Based on this cross-reachability information, the controller can determine the links that are inaccessible inside the device. Based on the links that are inaccessible inside the device and the reachable links between devices, the controller can determine the end-to-end forwarding path that is reachable between devices and reachable inside the device from the network topology. For example, this end-to-end forwarding path does not pass through the first interface and the third interface.

[0427] In some embodiments, the attributes of the extended link are used to carry cross-reachability information. Taking Figure 8 a scenario as an example, when the first network device reports information about link 1, the first network device determines that the local interface if2 is cross-inaccessible to link 1 from its local interfaces (if1, if2, if4), and then carries the identifier if2 of the interface that is cross-inaccessible to link 1 in the attributes of link 1. When the controller receives the attributes of link 1, it obtains the identifier if2 of the interface from the attributes of link 1, and thus determines that interface if2 is cross-inaccessible to link 1. Therefore, when calculating the route, the controller can avoid calculating a path that passes through the path from interface if1 to interface if2. For example, based on the fact that interface if1 is cross-inaccessible to interface if2, the calculated routing result includes alternative path one but does not include alternative path two.

[0428] For further details about the carrying position of the cross-reachability information, please refer to the description in the following section titled "Protocol Message Extension".

[0429] The above embodiments describe the process of dynamically reporting topology resource information by a device. In some implementations of the present application, the device is also supported to report capability information so that the path calculated by the controller is more closely matched with the actual capability of the device.

[0430] Capability information includes at least one of device capability information and interface capability information. Device capability information is used to characterize the global capability of the entire device. Interface capability is used to characterize the capability of a specific interface in the device or the capability of a specific link to which the device is connected.

[0431] Regarding the timing of sending capability information, in some implementations, the first network device acquires and sends the capability information of the first network device to the controller during the process of establishing a session (or establishing a connection) with the controller. For example, the first network device acquires and sends the device capability information of the first network device to the controller during the process of establishing a PCEP-LS session or a BGP-LS session with the controller.

[0432] In other embodiments, the first network device sends device capability information of the first network device to the controller in response to detecting a change in the capability of the first network device. The change in capability includes the capability becoming effective or becoming ineffective. For example, when a user inputs an enable command to enable a capability of a certain dimension of the first network device or the first interface, the first network device obtains and reports the current capability information to notify the controller of the newly added capability on the local side. For another example, when a user inputs a disable command to disable a capability of a certain dimension of the first network device or the first interface, the first network device obtains and reports the current capability information to notify the controller of the failure of the capability on the local side.

[0433] Of course, the capability information may also be reported together with the topology resource information when the topology changes. This embodiment does not limit the timing of sending the capability information.

[0434] The following is an example of reporting each type of capability information.

[0435] Equipment capability reporting

[0436] The device capability information includes at least one of time slot negotiation capability information, topology collection mode and / or path delivery mode.

[0437] The time slot negotiation capability information is used to indicate whether the first network device supports time slot negotiation. Time slot negotiation can also be called time slot following or time slot learning. Time slot following refers to the ability of the downstream node (RX receiving end) to automatically follow the time slot configuration of the upstream node (TX transmitting end). Through time slot negotiation, the time slot configuration of the downstream node is associated with the time slot configuration of the upstream node. For example, the downstream node obtains 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. The time slot following method includes following by data message and / or following by control protocol message. Following by data message refers to the downstream node and the upstream node exchanging data messages to achieve following the upstream time slot configuration; for example, the upstream node carries the time slot configuration of the local end in the data message and sends it to the downstream node, the downstream node obtains the time slot configuration of the upstream node based on the received data message, and the downstream node updates the local time slot configuration to the time slot configuration of the upstream node. Following by control protocol message refers to the downstream node and the upstream node exchanging control messages to achieve following the upstream time slot configuration.

[0438] The topology collection mode may also be referred to as a topology collection capability, and the topology collection mode is used to indicate that the device supports collecting topologies for large-granule path calculation and / or supports collecting topologies for small-granule path calculation.

[0439] The first network device reports the time slot negotiation capability information to the controller so that the controller can decide whether to send bandwidth information, time slot information, or both bandwidth information and time slot information to the first network device when sending a path based on the time slot negotiation capability information of the first network device after calculating the path.

[0440] For example, if the controller determines that the first network device does not support time slot negotiation based on the time slot negotiation capability information of the first network device, the controller uses the time slot mode when sending the path. For example, the path information sent by the controller in step S380 includes time slot information. Since only devices that support time slot negotiation can convert bandwidth information into time slot information and then generate forwarding table entries based on the time slot information, by sending the time slot information when the first network device does not support time slot negotiation, the risk of forwarding table entries being generated after sending the bandwidth information is reduced.

[0441] In addition, if the first network device does not support time slot negotiation, the first network device uses the time slot mode when collecting topology. Figure 3 In the illustrated embodiment, the resource information of the first interface in the reported topology resource information is time slot information.

[0442] For another example, if the controller determines that the first network device supports time slot negotiation based on the time slot negotiation capability information of the first network device, the controller may use bandwidth mode, time slot mode, or both bandwidth mode and time slot mode when sending the path. For example, the path information sent by the controller in step S380 includes at least one of time slot information and / or bandwidth information.

[0443] The topology collection mode is used to indicate that the first network device supports topology collection using large-granule path calculation or topology collection using small-granule path calculation.

[0444] The path delivery mode is used to indicate the type of resource information in the path information that the first network device supports receiving. The type of resource information includes at least one of time slot information and / or bandwidth information. It can also be stated that the path delivery mode indicates that the mode used when delivering the path is at least one of bandwidth mode and / or time slot mode. Bandwidth mode means that the resource information in the delivered path information is bandwidth information. Time slot mode means that the resource information in the delivered path information is time slot information. For example, in the attached Figure 3 In an embodiment, the first network device sends the path sending mode supported by the first network device to the controller, so that the controller can send path information according to the path sending mode supported by the first network device, and the resource information in the sent path information matches the path sending mode supported by the device, thereby avoiding the risk of business data transmission failure due to the device not supporting forwarding according to the path information after receiving the path information.

[0445] In one example, the time slot information sent by the controller when sending the path is determined according to the time slot information reported by the first network device. For example, the controller determines the available time slot of the first interface of the first network device according to the time slot information reported by the first network device, and selects the time slot matching the required bandwidth from the available time slot of the first interface based on the time slot granularity of the first interface, thereby obtaining the time slot information in the path information sent in step S380.

[0446] Reporting of interface capability (also called link capability)

[0447] Some implementations of the present application also support reporting of interface capabilities (or link capabilities). Figure 3 Based on the embodiment shown, the first network device further sends interface capability information of the first interface to the controller. The interface capability information includes large-particle capability information or small-particle capability information, the large-particle capability information is used to indicate the capability of the first interface to carry large-particle services, and the small-particle capability information is used to indicate the capability of the first interface to carry small-particle services.

[0448] In some embodiments, when the first network device includes multiple interfaces capable of carrying large-granularity services or small-granularity services, the first network device sends interface capability information of the multiple interfaces to the controller. The first network device may send the interface capability information of all interfaces to the controller, or report to the controller the interface capability information of some interfaces that meet a predetermined condition.

[0449] The large-granularity capability information is also referred to as the large-granularity service layer interface capability, and the large-granularity capability information is used to indicate the ability of the first interface to carry large-granularity services. For example, a FlexE physical port can be used as an reachable topology for end-to-end routing of a large-granularity FlexE-Channel only when it has the ability indicated by the large-granularity capability information.

[0450] Exemplarily, the ability to carry large-granularity services includes whether it supports carrying large-granularity services with a predetermined time-slot granularity. The predetermined time-slot granularity is, for example, 1G granularity or 5G granularity. Taking 1G granularity as an example, the ability of a FlexE physical port to carry large-granularity services with 1G granularity is, for example, whether the time-slot resources of the FlexE physical port have the ability to be flexibly bundled and used after being sliced into 1G granularities. When the FlexE physical ports at both ends of the connection have the same ability, it is considered that the link has the FlexE-Channel carrying capacity of N*1G and can participate in routing as an effective topology. Taking 5G granularity as an example, the ability of a FlexE physical port to carry large-granularity services with 5G granularity is, for example, whether the time-slot resources of the FlexE physical port have the ability to be flexibly bundled and used after being sliced into 5G granularities. When the FlexE physical ports at both ends of the connection have the same ability, it is considered that the link has the FlexE-Channel carrying capacity of N*5G and can participate in routing as an effective topology.

[0451] In some embodiments, during the routing process, the controller determines whether a link is reachable based on the time-slot granularities supported by the two devices connected to both ends of the link. For example, if the time-slot granularities supported by the two devices connected to both ends of a link do not match, the controller determines that this link is unreachable. Another example is that if the two devices connected to both ends of a link do not support the target time-slot granularity input by the user, the controller determines that this link is unreachable.

[0452] Among them, the reachability of a link refers to the reachability of the MTNS layer or the MTNP layer. A link being unreachable means, for example, that the link cannot carry large-granularity services or cannot carry small-granularity services.

[0453] For example, in combination with the appendix Figure 3In the illustrated embodiment, the controller receives the interface capability of the first interface of the first network device and the interface capability of the second interface of the second network device, compares the time slot granularity that the first interface can carry with the time slot granularity that the second interface can carry, and if the controller determines that the time slot granularity that the first interface can carry does not match the time slot granularity that the second interface can carry, it is determined that the first link is unreachable, and the first link is not included in the path calculated. If the controller determines that the time slot granularity that the first interface can carry matches the time slot granularity that the second interface can carry, it is determined that the first link is reachable.

[0454] For example, the user's path calculation intention is to calculate a path with a bandwidth of 3G, and the target time slot granularity is 1G. If the controller determines that both the first interface and the second interface can carry large-granular services with a granularity of 1G, then the first link is determined to be reachable. If the controller determines that the first interface can carry large-granular services with a granularity of 1G and the second interface can only carry large-granular services with a granularity of 5G, then the first link is determined to be unreachable.

[0455] Exemplarily, the large-granularity capability information includes whether cross-PHY bundling is supported. After the controller receives the large-granularity capability information of the first network device, during the path calculation process, based on the fact that the first interface of the first network device supports cross-PHY bundling, a bundling instruction is carried in the sent path information, and the bundling instruction is used to instruct the first network device to bundle the time slots of multiple interfaces in the FlexE group to which the first interface belongs and allocate them to the path for use.

[0456] For example, the first network device includes a first FlexE group, the first FlexE group includes a first FlexE physical interface and a third FlexE physical interface, the available bandwidth of the first FlexE physical interface is 10G, and the available bandwidth of the third FlexE physical interface is 10G. When a user needs to establish a path with a bandwidth of 15G, if the first network device does not support cross-PHY bundling, since the available bandwidth of the first FlexE physical interface and the third FlexE physical interface cannot meet the required bandwidth, it is impossible to establish a path passing through the first network device. If the first network device supports cross-PHY bundling, the 10G bandwidth of the first FlexE physical interface and the 5G bandwidth of the third FlexE physical interface can be bundled to meet the required bandwidth, thereby establishing a path with a bandwidth of 15G.

[0457] Ability to create dynamic or static paths

[0458] In some embodiments, the capability information of the first interface reported by the first network device further includes whether it supports establishing a dynamic path or a static path, enabling the controller to perceive the dynamic path carrying capacity or static path carrying capacity of the first interface, which helps to achieve isolation between the dynamic path and the static path.

[0459] Some concepts related to the interface capabilities for supporting the establishment of dynamic / static paths are illustrated by examples below.

[0460] A dynamic path is, for example, a path for carrying services established based on a control protocol. A dynamic path is, for example, a path calculated by the controller based on topology resource information. For example, a dynamic path is an end-to-end path established by the PCE calculating the path based on the dynamic topology and sending the path information to each forwarding node (PCC) along the way through the control protocol. Dynamic paths include large-granularity dynamic paths and small-granularity dynamic paths. A large-granularity dynamic path is a dynamic path for carrying large-granularity services. A small-granularity dynamic path is a dynamic path for carrying small-granularity services. A large-granularity dynamic path can also be referred to as a dynamic FlexE-channel. A small-granularity dynamic path can also be referred to as a dynamic fg-channel.

[0461] A static path is, for example, a path for carrying services established based on a management protocol. A static path is, for example, an end-to-end path established by a user or the controller through static configuration from the source to the destination. Static paths include large-granularity static paths and small-granularity static paths. A large-granularity static path is a static path for carrying large-granularity services. A small-granularity static path is a static path for carrying small-granularity services.

[0462] An interface supporting the carrying of a large-granularity dynamic path can also be said to have a dynamic FlexE-channel carrying capacity or a dynamic large-granularity channel capacity. For example, if the first interface (such as a FlexE physical interface) supports carrying a large-granularity dynamic path, it indicates that the first interface can participate in the calculation of the end-to-end large-granularity dynamic path.

[0463] An interface supporting the carrying of a large-granularity static path can also be said to have a static FlexE-channel carrying capacity or a static large-granularity channel capacity. For example, if the first interface (such as a FlexE physical interface) supports carrying a large-granularity dynamic path, it indicates that the first interface can establish an end-to-end FlexE path through static configuration.

[0464] An interface supporting the carrying of a small-granularity dynamic path can also be said to have a dynamic fg-channel carrying capacity or a dynamic small-granularity channel capacity. For example, if the first interface (such as a FlexE physical interface) supports carrying a small-granularity dynamic path, it indicates that the first interface can participate in the calculation of the end-to-end small-granularity dynamic path.

[0465] The interface supports small-granularity static paths, which can also be referred to as the interface having the static fg-channel carrying capacity or the interface having the static small-granularity channel capacity. For example, if the first interface (such as a FlexE physical interface) supports carrying small-granularity dynamic paths, it indicates that the first interface can establish an end-to-end FlexE path through static configuration.

[0466] Next, an application scenario of the ability of the reporting interface to support the establishment of dynamic / static paths is illustrated by examples.

[0467] In the large-granularity scenario, some FlexE physical interfaces and physical links may statically create a part of services based on user planning. Usually, the management plane component inside the controller statically configures the network resources occupied by this part of static services (such as protocol docking parameters, time slot resources of FlexE physical interfaces, etc.). After introducing large-granularity dynamic paths, usually, the control plane component inside the controller dynamically allocates network resources for large-granularity dynamic paths.

[0468] Generally, the controller adopts the principle of separation of management and control, that is, the management plane component and the control plane component are isolated from each other. The management plane component will allocate resources for large-granularity static paths through the resource pool A maintained by itself, and the control plane component will allocate resources for large-granularity dynamic paths through the resource pool B maintained by itself. The resource pool A is, for example, a time slot resource table, which is used to indicate the available time slots of each network device in the network system. The resource pool A is, for example, established based on the time slot information reported by each device in the network system. Since the content of the resource pool A and the resource pool B is usually the same, for example, there are the same time slot resources of the same device in the resource pool A and the resource pool B, this will cause the problem of different sources of resource management with a certain probability and increase the risk of resource mutual exclusion. Among them, different sources of resource management means that the time slot resources can be managed by both the management plane component and the control plane component. Resource mutual exclusion means that since both large-granularity dynamic paths and small-granularity dynamic paths need to occupy network forwarding resources, there is resource competition during resource allocation.

[0469] In view of this, some embodiments of the present application, while introducing large-granularity dynamic paths, provide a risk avoidance mechanism to avoid the risk of mutual exclusion caused by different sources of resource management. For example, by reporting the ability of the local interface to support carrying large-granularity dynamic paths or the ability of the local interface to support carrying large-granularity static paths, the controller can decide whether the interface is used to establish large-granularity dynamic paths or large-granularity static paths based on the interface capabilities of the device.

[0470] For example, if a first network device reports to a controller that a first FlexE physical interface supports carrying large-granularity dynamic paths, the controller will notify the identity and resources of the first FlexE physical interface to the control plane component but not to the management plane component, enabling the control plane component to calculate large-granularity dynamic paths based on the topology including the first FlexE physical interface, while the first FlexE physical interface is invisible to the management plane component.

[0471] Another example, if a first network device reports to a controller that a first FlexE physical interface supports carrying large-granularity static paths, the controller will notify the identity and resources of the first FlexE physical interface to the management plane component but not to the control plane component, enabling the management plane component to calculate large-granularity static paths based on the topology including the first FlexE physical interface, while the first FlexE physical interface is invisible to the control plane component.

[0472] By this method, large-granularity dynamic paths and large-granularity static paths are isolated based on physical ports, thus greatly simplifying the network operation and maintenance complexity when dynamic services and static services coexist.

[0473] Similarly, in the small-granularity scenario, after introducing small-granularity dynamic paths, due to the possible coexistence of dynamic services and static services in the network, the problem of mutual exclusion in resource allocation will also arise.

[0474] Based on this, by reporting the ability of whether the local interface supports carrying small-granularity dynamic paths or whether the local interface supports carrying small-granularity static paths, the controller can decide whether the interface is used to establish small-granularity dynamic paths or small-granularity static paths based on the interface capabilities of the device.

[0475] For example, if a first network device reports to a controller that a first large-granularity interface supports carrying small-granularity dynamic paths, the controller will notify the identity and resources of the first large-granularity interface to the control plane component but not to the management plane component, enabling the control plane component to calculate small-granularity dynamic paths based on the topology including the first large-granularity interface, while the first large-granularity interface is invisible to the management plane component.

[0476] Another example, if a first network device reports to a controller that a first large-granularity interface supports carrying small-granularity static paths, the controller will notify the identity and resources of the first large-granularity interface to the management plane component but not to the control plane component, enabling the management plane component to calculate small-granularity static paths based on the topology including the first large-granularity interface, while the first large-granularity interface is invisible to the control plane component.

[0477] It can be seen that this method can isolate the dynamic path of small particles and the static path of small particles based on the large particle interface, or in other words, implement the isolation function of the dynamic path and the static path, thereby greatly simplifying the network operation and maintenance complexity when dynamic services and static services coexist.

[0478] In one example, the controller uses the dynamic path carrying capacity or the static path carrying capacity of the interface as a routing factor to calculate the end-to-end path. For example, in the Figure 3 In the process of the controller executing step S370 in the illustrated embodiment, if any one of the interfaces (the first interface and the second interface) at both ends of the first link does not support the dynamic path carrying capacity, the first link is determined as an unreachable path.

[0479] In some other cases, the management plane component and the control plane component of the controller can also use the same large particle interface or the same small particle interface at the same time. For example, after the controller determines that a certain interface carries a dynamic path or a static path based on the interface capabilities reported by the device, other methods are adopted for this interface, such as an unlocking mechanism to avoid resource conflicts.

[0480] The above embodiments focus on describing the logic and process of topology reporting. In some embodiments of the present application, by extending the format of the protocol message, the topology reporting in the above embodiments is supported.

[0481] Protocol Message Extension

[0482] The message format of the control protocol message used when the network device reports topology resource information is described below. The message format described below is applicable to carrying topology resource information for large particle routing and is also applicable to carrying topology resource information for small particle routing.

[0483] Reference Figure 9 , Figure 9 shows a schematic diagram of the format of a protocol message provided by an embodiment of the present application, Figure 9 The protocol message shown includes a protocol identification field and one or more TLVs (type-length-Value). In some embodiments, the protocol message further includes one or more flag fields. In some embodiments, the protocol message further includes an LS-ID field.

[0484] Figure 9 The protocol message shown is, for example, a control protocol message. For example, Figure 9 The control protocol message shown is a PCEP-LS message or a BGP-LS message. In some embodiments, Figure 9It shows that the message is an LS object (Link State Object) or an open object in the PCEP protocol. An LS object is a type of object in the PCEP protocol. LS objects are included in LSRpt messages and can also be included in PCErr messages. An LS object contains a set of fields for specifying the target node or link. LS objects include, but are not limited to, LS Node objects or LS Link objects, etc. Figure 9 The protocol message shown is also a management protocol message.

[0485] The protocol identification field is 8 bits. The protocol identification field is also called the protocol ID field, and it is used to carry the source of the link information. There are definitions of the protocol ID in both the BGP-LS protocol (RFC 7752) and the PCEP-LS protocol. Taking the PCEP-LS protocol as an example, the currently defined protocol IDs are shown in the following table.

[0486] Protocol ID Source of link information 1 IS-IS Level 1 2 IS-IS Level 2 3 OSPFv2 4 Direct 5 Static configuration 6 OSPFv3 7 BGP 8 RSVP-TE 9 Segment Routing 10 PCEP 11 Abstraction

[0487] The flag field, for example, is 24 bits. The flag field includes the S flag bit and the R flag bit. The S flag bit identifies synchronization (SYNC) information. The R flag bit identifies removal (R). When the interface is in the down state, the R flag bit can be set to indicate that the link information is unavailable.

[0488] TLV is a data encoding format. The type field is used to represent the type of information contained in the TLV or, in other words, the function of the TLV. The value of the type field is usually a predetermined number or a predetermined string. The length field is used to identify the length of the data in the Value field or the total length of the type field, the length field, and the Value field. The Value field carries information.

[0489] The protocol identification field, the flag field, and the TLV introduced above can all be used to carry the topology resource information provided by the embodiments of the present application. The following gives examples of possible carrying positions of the topology resource information.

[0490] Regarding the carrying positions of the local interface identifier and the peer interface identifier, in some embodiments, one or more of the above TLVs include a link identifier TLV, and the link identifier TLV is used to carry the identifier of a link that can carry large-granularity services or the identifier of a link that can carry small-granularity services. For example, the type field of the link identifier TLV identifies the link, and the value field of the link identifier TLV is used to carry the local interface identifier and the peer interface identifier.

[0491] Exemplarily, the value field of the link identifier TLV includes a link local identifier field for carrying the local interface identifier, and a remote local identifier field for carrying the peer interface identifier. For example, in a small-granularity path calculation scenario, the link local identifier field carries the identifier of the local FlexE client interface, and the remote local identifier field carries the identifier of the peer FlexE client interface. Another example is that in a large-granularity path calculation scenario, the link local identifier field carries the identifier of the local FlexE physical interface, and the remote local identifier field carries the identifier of the peer FlexE physical interface. For example, in the attached Figure 3 In the method shown, the link local identifier field carries the identifier of the first interface, and the remote local identifier field carries the identifier of the second interface.

[0492] In some embodiments, the link identifier TLV is a TLV defined in a standard protocol. For example, the link identifier TLV includes the Link Local / Remote Identifiers TLV. The definition of the Link Local / Remote Identifiers TLV can refer to Section 1.1 of RFC5307. Another example is that the link identifier TLV includes the L2 Bundle Attribute Descriptors defined in the IGP protocol. Another example is that the link identifier TLV includes the Link Name TLV. Another example is that the link identifier TLV includes the Link Descriptors TLV in the PCEP-LS protocol. In other embodiments, the above link identifier TLV is a newly extended sub-TLV in the TLVs defined in the standard protocol. In other embodiments, the local interface identifier and the peer interface identifier are carried through the reserved fields in the TLVs defined in the standard protocol. In other embodiments, a new type of TLV is extended to carry the local interface identifier and the peer interface identifier.

[0493] Regarding the carrying position of the identifier of the FlexE group, in some embodiments, the identifier of the local FlexE group and the identifier of the peer FlexE group are carried through the above-mentioned link identifier TLV. For example, the local FlexE group identifier is carried in the linklocal identifier field of the link identifier TLV, and the remote local identifier field carries the identifier of the peer FlexE group.

[0494] In other embodiments, considering that the link identifier TLV defined in the standard protocol is only 4 bytes and the space is insufficient, the identifier of the local FlexE group and the identifier of the peer FlexE group are carried through the newly extended TLV. For example, refer to the appendix Figure 10 , appendix Figure 10 is a schematic diagram of the FlexE group Index TLV provided by an embodiment of the present application. The FlexE group Index TLV includes a type field, a length field, a reserved field, and a FlexE group Index field. The type field in the FlexE group Index TLV identifies that the type of the TLV is FlexE group Index. The FlexE group Index field in the FlexE group Index TLV carries the identifier of the local FlexE group and the identifier of the peer FlexE group (such as the identifier of the first FlexE group of the first network device and the identifier of the second FlexE group of the second network device).

[0495] Regarding the carrying position of the resource information, in some embodiments, the above one or more TLVs include a link attribute TLV. The link attribute TLV carries the resource information of the link that can carry large granularity or the link that can carry small granularity services.

[0496] In some embodiments, the link attribute TLV is a TLV defined in the standard protocol. For example, the link attribute TLV includes Link Attribute TLVs, Link Descriptors TLV, or Opaque Link Attribute TLV. Another example is that the link attribute TLV includes L2 Bundle Attribute Descriptors defined in the IGP protocol. In some other embodiments, the above link attribute TLV is a newly extended sub-TLV among the TLVs defined in the standard protocol. In some other embodiments, resource information is carried by extending a new type of TLV. In some other embodiments, resource information is carried by using reserved fields in the TLVs defined in the standard protocol.

[0497] In some embodiments, different types of resource information are carried by different TLVs so that the controller can distinguish different types of resource information based on the different positions where the resource information is carried.

[0498] Regarding the position where bandwidth information is carried, in some embodiments, the link attribute TLV includes a bandwidth TLV. The bandwidth TLV refers to a TLV used to carry the bandwidth information of an interface. For example, the value field in the bandwidth TLV carries the bandwidth information of the first interface. In some embodiments, the bandwidth TLV includes a maximum link bandwidth TLV and a maximum reservable link bandwidth TLV. Please refer to the appendix Figure 11 Appendix Figure 11 shows a schematic diagram of the format of the maximum link bandwidth TLV, and the maximum link bandwidth TLV carries the maximum bandwidth of the first interface. Please refer to the appendix Figure 12 Appendix Figure 12 shows a schematic diagram of the format of the maximum reservable link bandwidth TLV, and the maximum reservable link bandwidth TLV carries the maximum bandwidth that the first interface is allowed to use at most. Of course, various bandwidth information of the first interface can also be carried in the same TLV.

[0499] Regarding the position where time slot information is carried, in some embodiments, the link attribute TLV includes a time slot TLV. The time slot TLV refers to a TLV used to carry time slot information. The time slot TLV can also be referred to as a time slot information TLV or a slice slot info TLV. Please refer to the appendix Figure 13 Appendix Figure 13A schematic diagram of the format of the time slot TLV is shown. The time slot TLV includes a type field, a length field, a slot num field, a slot size field, and a slot state field. The value of the type field is used to identify that the type of the TLV is the time slot TLV. For example, the value of the type field is 47. The slot size field is used to carry the time slot granularity. The slot num field is an optional field and is used to carry the number of time slots that the first interface can occupy. The slot state field is used to carry the state of the time slots of the first interface.

[0500] In some embodiments, if the routing mode of the controller is the bandwidth mode, the bandwidth TLV is carried in the link attribute TLV; if the controller routing is the time slot mode, the time slot TLV is carried in the link attribute TLV.

[0501] Regarding the carrying position of the node identifier, in some embodiments, the above one or more TLVs include a node identifier TLV, and the node identifier TLV is used to carry the identifier of the local device and the identifier of the link peer device. For example, the node identifier TLV carries the identifier of the first network device and the identifier of the second network device. For example, the node identifier TLV includes a Local Node Descriptors TLV, a Remote Node Descriptors TLV, and a Node Attributes TLV. The identifier of the local device and the identifier of the peer device can be carried by the same node identifier TLV, or can be carried by two node identifier TLVs. For example, the node identifier TLV 1 is used to carry the identifier of the local device, and the node identifier TLV 2 is used to carry the identifier of the peer device. In other embodiments, the identifier of the local device and the identifier of the peer device are not carried by independent TLVs. For example, the identifier of the local device and the identifier of the peer device are carried by the System-ID field and the Neighbor System ID field in the L2 bundle TLV respectively.

[0502] Regarding the carrying position of the slice identifier, in some embodiments, the above link attribute TLV includes a slice TLV. The slice TLV carries the slice identifier of the network slice. Exemplarily, please refer to the appendix Figure 14 which is a schematic diagram of the slice TLV provided by the embodiments of the present application. The slice TLV includes a type field, a length field, a Reserved field, and an NRP ID field. The type field identifies that the type of the TLV is the slice identifier, and the NRP ID field carries the slice identifier.

[0503] Regarding the carrying position of cross-reachability information, in some embodiments, the cross-reachability information is carried by a Link Attribute TLV. For example, the Link Attribute TLV carries the identifier of an interface that is cross-unreachable from the current link.

[0504] Exemplarily, a link local unconnected identifier TLV is newly added to the Opaque Link Attribute TLV. The link local unconnected identifier TLV is used to carry the identifier of an interface that is cross-unreachable from the current link. Please refer to the appendix Figure 15 , appendix Figure 15 shows a schematic diagram of the format of the link local unconnected identifier TLV provided by an embodiment of the present application. The Link Local Unconnected Identifier TLV includes a type field, a length field, and a link local identifier field. The type field is used to identify the information of a link that is cross-unreachable from the current link. The link local identifier field carries the identifier of an interface that is cross-unreachable from the current link. For example, in the scenario shown in the appendix Figure 8 , the link local identifier field in the Link Local Unconnected Identifier TLV carries the identifier of interface if 2 that is cross-unreachable from the current link 1.

[0505] Regarding the carrying method of device capability information, in some embodiments, the device capability information of the first network device is carried by a Capability TLV. For example, the Capability TLV includes a type field, a length field, and a capability identifier. The capability identifier is used to identify the capabilities supported by the device. For example, the capability identifier is used to identify that the device supports time slot negotiation capability information; or, the capability identifier is used to identify that the topology collection mode supported by the device is the time slot mode or / and the bandwidth mode; or, the capability identifier is used to identify that the path distribution mode supported by the device is the time slot mode or / and the bandwidth mode. The type field identifies the device capabilities.

[0506] In some embodiments, the capability TLV is the LS capability TLV. The LS capability TLV is a type of TLV carried in the Open Object of the PCEP-LS message. The LS capability TLV is specifically used to carry the device capability information. By reusing the existing TLV in the PCEP-LS standard protocol to carry the device capability information of the network device, while matching the functions of the TLV defined in the existing standard, there is no need to expand new TLV, thus reducing the implementation complexity.

[0507] For example, refer to the attached Figure 16 , the attached Figure 16 is a schematic diagram of the format of the LS capability TLV provided in the embodiments of the present application. The LS capability TLV includes a type field, a length field, and a flags field.

[0508] The flags field includes a C flag and an F flag. The C flag is used to identify that the device supports the small-granularity path calculation capability and can support the topology collection of small-granularity path calculation. The F flag is used to identify that the device supports the large-granularity path calculation capability and can support the topology collection of large-granularity path calculation. When the C flag or the F flag is 1 (indicating that the device supports large-granularity path calculation or small-granularity path calculation).

[0509] In some embodiments, the flags field also carries a T flag. If the T flag is 1, that is, carrying the T flag, it indicates that both the topology collection mode and the path distribution mode are time-slot modes. When not carrying the T flag, it indicates that both the topology collection mode and the path distribution mode are bandwidth modes. Or, if the T flag is 1, it indicates that the device does not support the time-slot negotiation capability information. When not carrying the T flag, it indicates that the device supports the time-slot negotiation capability information.

[0510] Since the topology resource information is carried by TLV to upload the topology, the receiving end can obtain the topology resource information by parsing the TLV. Compared with the method of carrying the topology resource information using the YAML model in the NETCONF protocol, there is no need for the receiving end to use text parsing to obtain the topology resource information. Therefore, it helps to solve the problem of low efficiency in processing protocol messages caused by using text parsing to obtain the topology resource information.

[0511] In some other embodiments, information of various dimensions such as the identifier of the interface and the resource information of the interface in the topology resource information can also be carried in the same TLV. In this embodiment, the carrying position of the information of various dimensions in the topology resource information is not limited.

[0512] Regarding the carrying position of the topology type identifier, in some embodiments, the topology type identifier is carried through a protocol identifier field. For example, two types of protocol IDs are added. The first protocol ID is used to identify the FlexE client topology or the calculation of small-granularity paths. The first protocol ID is equivalent to the above-mentioned first topology type identifier or the third topology type identifier. The second protocol ID is used to identify the FlexE physical interface topology or the calculation of large-granularity paths. The second protocol ID is equivalent to the above-mentioned second topology type identifier or the fourth topology type identifier. For example, positive integers other than those already occupied from 1 to 11 in the above table are used as the protocol ID or the topology type identifier. For example, if the protocol identifier field carries 12, it identifies the FlexE client topology or the calculation of small-granularity paths; if the protocol identifier field carries 13, it identifies the FlexE physical interface topology or the calculation of large-granularity paths.

[0513] In some other embodiments of carrying the topology type identifier, the topology type identifier is carried through a flag field. For example, two flags are added in the LS object. One of the flags can be called the C flag (C is a simplified expression of FlexE client), and the other flag can be called the F flag (F is a simplified expression of FlexE).

[0514] The C flag is used to identify that the type of the topology resource information is the FlexE client topology, or the topology resource information is used for the calculation of small-granularity paths, or both ends of the current link are FlexE physical ports. The C flag occupies 1 bit, for example.

[0515] The F flag is used to identify that the type of the topology resource information is the FlexE physical interface topology, or the topology resource information is used for the calculation of large-granularity paths, or both ends of the current link are FlexE client interfaces. The F flag occupies 1 bit, for example.

[0516] Exemplarily, when the network device reports the topology resource information for the calculation of large-granularity paths, the F flag is set to 1; when the network device reports the topology resource information for the calculation of small-granularity paths, the C flag is set to 1; when the network device sets both the F flag and the C flag to 0, it indicates that the type of the reported topology resource information is a common topology. The common topology refers to the topology resource information used in other path calculation scenarios other than the calculation of large-granularity paths and small-granularity paths, such as the master-sub interface relationship topology.

[0517] Considering that the number of bits occupied by the topology type identifier is small, carrying the topology type identifier through the flag field or the protocol identifier field incurs less overhead compared to carrying it through TLV, without the need to further add corresponding type fields and length fields.

[0518] In some other embodiments carrying the topology type identifier, the topology type identifier is carried by TLV. For example, the reserved field in the TLV defined in the standard is used to carry the topology type identifier. Alternatively, a new type of TLV is defined to carry the topology type identifier.

[0519] Regarding the carrying position of the interface capability information, in some embodiments, the capability information of the interface is carried by a flag field. For example, one or more bits are extended in the flag field to carry the interface capability information by the bits.

[0520] Please refer to the appendix Figure 9 , appendix Figure 9 The SC (service layer capability) field in the flag field in the header of the LS object in the PCEP-LS message shown in the appendix is a specific example of the bits carrying the interface capability information. The SC field occupies 3 bits.

[0521] Exemplarily, when the F bit is 1 (i.e., the message carries the topology type identifier indicating the channel for carrying large granularity services), the SC field carries the large granularity capability information, and the meaning of the SC field is as follows.

[0522] When SC = 1, it indicates that the interface supports carrying large granularity services with a 1G granularity;

[0523] When SC = 2, it indicates that the interface supports carrying large granularity services with a 5G granularity;

[0524] When SC = 3, it indicates that the interface supports the cross-PHY bundling capability with a 5G time slot granularity;

[0525] When SC = 4, it indicates that the interface supports carrying large granularity static paths;

[0526] When SC = 5, it indicates that the interface supports carrying large granularity dynamic paths;

[0527] Exemplarily, when the C bit is 1 (i.e., the message carries the topology type identifier indicating the channel for carrying small granularity services), the SC field carries the small granularity capability information, and the meaning of the SC field is as follows:

[0528] When SC = 1, it indicates that the interface supports carrying small granularity services;

[0529] When SC = 2, it indicates that the interface supports carrying small granularity static paths;

[0530] When SC = 3, it indicates that the interface supports small granularity dynamic paths.

[0531] In some other embodiments, 1-5 of the SC field respectively represent five large granularity capabilities, and 6-8 of the SC field respectively represent three small granularity capabilities, without relying on the F bit or the C bit.

[0532] In the above manner, using these three bits of the SC field is sufficient to represent the eight capabilities of the interface, occupying a relatively small number of bits, so the overhead is relatively small and the scalability is relatively good.

[0533] Regarding the method for the bearer interface to switch to the down state, in some embodiments, Figure 9 in the PCEP-LS packet shown, the setting of the R field in the flag field in the header of the LS object indicates that the link is unavailable. Alternatively, the unavailability of the link is indicated by a predetermined field in the TLV used to carry resource information.

[0534] The above protocol packet extensions are applicable to the scenario where the device and the controller interact with topology resource information. In the scenario where devices interact with topology resource information, such as in the scenario where topology resource information is flooded between devices, other protocol packet extension methods can also be adopted. Taking the extension of the IGP protocol packet to interact with topology resources between devices as an example, the following gives an example of the carrying position of topology resource information in the IGP protocol packet.

[0535] IGP protocol extension

[0536] In some embodiments, the L2 bundle TLV in the extended IGP protocol packet is used to carry the connection relationships of multiple pairs of interfaces and the resource information of multiple pairs of interfaces. The L2 bundle TLV is also called the L2 Bundle Member attributes TLV or type 25 TLV. The definition and explanation of the L2 bundle TLV can refer to RFC 8668 or RFC 4201. The following gives an example of the format of the L2 bundle TLV in the IGP protocol packet in combination with several scenarios.

[0537] Scenario 1: In the scenario of large-granularity path calculation, the device collects topology resource information based on the bandwidth mode and sends the topology resource information.

[0538] In Scenario 1, the topology resource information reported by the network device includes the identifier of the local FlexE physical port (such as PHY number), the identifier of the peer FlexE physical port, the identifier of the local device, the identifier of the peer device, and the bandwidth information of the local FlexE physical port (such as available bandwidth), so that the controller can calculate the large-granularity path based on the received topology resource information. Optionally, the topology resource information further includes the identifier of the FlexE group to which the local FlexE physical port belongs and the identifier of the FlexE group to which the identifier of the peer FlexE physical port belongs.

[0539] Reference Figure 17 , Figure 17It shows a schematic diagram of the format of the L2bundle TLV (also known as L2Bundle Member Attributes) in an IGP protocol packet in a scenario provided by an embodiment of the present application. Figure 17 The TLV shown is, for example, the content in an IS-IS protocol packet or the content in an OSPF protocol packet. The L2 bundle TLV further includes a type field, a length field, an L3 Descriptor (also known as Parent L3 Neighbor Descriptor) field, one or more Flags fields, and multiple sub-TLVs.

[0540] The value of the type field is, for example, 25, and 25 is used to identify that the type of the TLV is L2 bundle. The length field is used to identify the length of the L2 bundle TLV. The L3 Descriptor field and the Flags field are encapsulated outside the Link Local / RemoteIdentifiers TLV.

[0541] The sub-TLVs in the L2 bundle TLV include Link Local / Remote Identifiers TLV, a newly added type 46 TLV, a link maximum bandwidth TLV, and a link maximum reservable bandwidth TLV.

[0542] The L3 Descriptor field includes a Neighbor SystemID field and a System-ID field. The System-ID field is used to carry the identifier of the local node. For example, the System-ID field is used to carry the IP address of the local device for establishing an IGP neighbor relationship. The Neighbor SystemID field is used to carry the identifier of the peer device. For example, the Neighbor SystemID field carries the IP address of the peer device for establishing an IGP neighbor relationship.

[0543] Since the L3 Descriptor field is encapsulated outside the Link Local / Remote Identifiers TLV, it implicitly indicates the correspondence between the device identifier carried by the L3 Descriptor and the interface identifier carried by the Link Local / Remote Identifiers TLV. Or rather, it indicates that the content of the L3 Descriptor field has a parent-child relationship with the content of the Link Local / Remote Identifiers TLV, sub-TLVs such as type 46 TLV, etc. During the process of parsing the L2bundle TLV, the controller can determine a pair of neighboring devices in the network based on the L3 Descriptor field and determine the link between this pair of devices based on the Link Local / Remote Identifiers TLV. For example, the controller determines that the network device corresponding to the IP address carried by the System-ID field includes the interface corresponding to the interface identifier carried by the link local identifier field, and the controller determines that the network device corresponding to the IP address carried by the Neighbor System ID field includes the interface corresponding to the interface identifier carried by the Remote Local Identifier.

[0544] The Flags field includes the P-node field, the P field, and the S flag field. The S flag field is used to indicate that the topology type carried by the L2 bundle TLV is a FlexE client topology, a FlexE physical interface topology, or a topology composed of a FlexE physical interface topology and FlexE group interfaces. By extending the S flag, the controller can distinguish whether the received topology resource is a FlexE-related topology or an L2 layer topology such as the master-sub interface relationship.

[0545] The Link Local / Remote Identifiers TLV is also known as the type 4 TLV. The Link Local / Remote Identifiers TLV includes a type field, a length field, a link local identifier field, and a Remote Local Identifier field. The value of the type field is 4, and 4 is used to identify that the type of the TLV is Link Local / Remote Identifiers. The link local identifier field is used to carry the identifier of the local interface, and the Remote Local Identifier field is used to carry the identifier of the peer interface. In the scenario of large-granularity path calculation, the link local identifier field is used to carry the identifier of the local FlexE group, and the Remote Local Identifier field is used to carry the identifier of the peer FlexE group. In the scenario of small-granularity path calculation, the link local identifier field is used to carry the identifier of the local FlexE client, and the Remote Local Identifier field is used to carry the identifier of the peer FlexE client.

[0546] The TLV includes a type (46) field, a length field, a Model Flag (M-Flag) field, an F field, a Network Flag (N-Flag) field, a B flag field, a Desc field, and a link local identifier Bundle Member field. The type (46) is used to identify that the content of the L2 bundle TLV is for SPN path calculation. In both the large-granularity path calculation scenario and the small-granularity path calculation scenario, the value of the type field can be 46. The type 46 TLV can also be called the L2 Bundle Member SPN Descriptor. The Desc field is used to indicate the number of link local identifier Bundle Member fields. For example, Figure 18 includes one link local identifier Bundle Member field, so the value of the Desc field is 1.

[0547] The link local identifier Bundle Member field is used to identify one or more members bound to the link identified by the Link Local / Remote Identifiers TLV.

[0548] In the scenario of large-granularity path calculation, the link local identifier Bundle Member field carries the identifier of the local FlexE physical interface. The contents of the link local identifier Bundle Member field and the link local identifier field are related. The local FlexE group identified by the link local identifier field includes the local FlexE physical interfaces identified by the link local identifier Bundle Member field.

[0549] In some embodiments, when the local FlexE group includes multiple FlexE physical interfaces, the L2bundle TLV includes multiple link local identifier Bundle Member fields, and each link local identifier Bundle Member field includes the identifier of one FlexE physical interface.

[0550] The M-Flag field is used to identify that the topology resource information is related to FlexE. For example, if the F bit in the M-Flag is set to 1, it indicates that the topology resource information is related to FlexE.

[0551] The B field in the N-Flag (Network Flag) is used to carry the topology type identifier. For example, setting the B field to 1 indicates calculating a large-granularity path, and B being 0 indicates calculating a small-granularity path. The B field is equivalent to indicating the use of the topology resource information. For example, after receiving a control protocol message, the controller can determine to calculate a small-granularity path based on the topology resource information carried in the control protocol message when the B field is 0 (identifying the first topology type identifier), and the controller can determine to calculate a large-granularity path based on the topology resource information carried in the control protocol message when the B field is 1 (identifying the second topology type identifier).

[0552] The Maximum link bandwidth TLV includes a type field, a length field, and a maximum link bandwidth field. The value of the type field is 9, and 9 is used to identify that the type of the TLV is Maximum link bandwidth. The maximum link bandwidth field carries the bandwidth of the local interface (such as the first interface).

[0553] The Maximum reservable link bandwidth TLV includes a type field, a length field, and a maximum reservable link bandwidth field. The value of the type field is 10, and 10 is used to identify that the type of the TLV is Maximum reservable link bandwidth.

[0554] Scenario 2: In the large-granularity path calculation scenario, the device collects topology resource information based on the time-slot mode and sends the topology resource information.

[0555] In Scenario 2, the topology resource information reported by the network device includes the identifier of the local FlexE physical port (such as the PHY number), the identifier of the peer FlexE physical port, the identifier of the local device, and the identifier of the peer device. It also includes the time-slot information of the local FlexE physical port or / and the bandwidth information of the local FlexE physical port (such as the available bandwidth), so that the controller can calculate the large-granularity path based on the received topology resource information. Optionally, the topology resource information further includes the bandwidth information of the local FlexE physical port (such as the available bandwidth). Optionally, the topology resource information further includes the identifier of the FlexE group to which the local FlexE physical port belongs and the identifier of the FlexE group to which the identifier of the peer FlexE physical port belongs.

[0556] Exemplarily, referring to Figure 18 , Figure 18 shows a schematic diagram of the format of the L2 bundle TLV in the IGP protocol message in Scenario 2 provided by the embodiments of the present application. Figure 18 The sub-TLV in the shown L2 bundle TLV contains Figure 18 Based on the shown L2 bundle TLV, it further includes Figure 13The TLV of the time slot shown. The slot size field is used to carry the time slot granularity supported by the local FlexE physical port. For example, if the local FlexE physical port supports 5G time slots or 1G time slots, the slot size field carries 5*1024M or 1024. The slot state field is used to carry the state of the time slot.

[0557] Scenario 3: In the scenario of small-granularity path calculation, the device collects topology resource information based on the bandwidth mode and sends the topology resource information.

[0558] In Scenario 3, the topology resource information reported by the network device includes the identifier of the local large-granularity interface, the identifier of the peer large-granularity interface, the identifier of the local device, the identifier of the peer device, and the bandwidth information (such as available bandwidth) of the local large-granularity interface, so that the controller can calculate the small-granularity path based on the received topology resource information. Optionally, the topology resource information further includes the identifier of the FlexE group to which the local large-granularity interface belongs and the identifier of the FlexE group to which the peer large-granularity interface belongs.

[0559] For example, in the scenario of further splitting small-granularity interfaces from the FlexE client interface, the large-granularity interface is the FlexE client, and the topology resource information reported by the network device includes the identifier of the local FlexE client (such as the local FlexE client ID or the interface index of the local FlexE client), the identifier of the peer FlexE client, the identifier of the local device, the identifier of the peer device, and the bandwidth information (such as available bandwidth) of the local FlexE client. Optionally, the topology resource information further includes the identifier of the FlexE group to which the local FlexE client belongs and the identifier of the FlexE group to which the peer FlexE client belongs.

[0560] The format of the protocol message extension in Scenario 3 is similar to the format of the protocol message extension in Scenario 1. Exemplarily, refer to Figure 17, in Scenario 3, the main difference between the content of the L2 bundle TLV in the IGP protocol packet and the content of the L2 bundle TLV in the IGP protocol packet in Scenario 1 is that the identifier of the FlexE physical interface carried in the type 46 TLV is replaced with the identifier of the FlexE client. For example, in the Link Local / Remote Identifiers TLV, the link local identifier field is still used to carry the identifier of the local FlexE group, the Remote Local Identifier field is still used to carry the identifier of the peer FlexE group, and the link local identifier Bundle Member field in the type 46 TLV carries the identifier of the local FlexE client. In addition, the F bit in the M-Flag is set to 1 to identify the Flexe model. Figure 17 For the meanings of other extended fields in the packet format shown except the TLV used to carry time slot information, please refer to the above description.

[0561] Scenario 4: In the small-granularity path calculation scenario, the device collects topology resource information based on the time slot mode and sends the topology resource information.

[0562] In Scenario 4, the topology resource information reported by the network device includes the identifier of the local large-granularity interface, the identifier of the peer large-granularity interface, the identifier of the local device, and the identifier of the peer device, and also includes the bandwidth information of the local large-granularity interface or / and the time slot information of the local large-granularity interface. The extension of the protocol packet format is similar to the time slot mode in the large-granularity path calculation scenario.

[0563] In the small-granularity path calculation scenario, by extending the L2 bundle TLV in the IGP protocol, the connection relationship of multiple pairs of FlexE client interfaces in the same FlexE group and the resource information of multiple pairs of FlexE client interfaces are carried. In some embodiments, the L2 bundle TLV also carries the identifiers of the network devices at both ends of a link. Exemplarily, a first network device receives an IGP packet from a second network device, the IGP packet includes an L2 bundle TLV, and the L2 bundle TLV carries the connection relationship of multiple pairs of FlexE client interfaces between a third network device and a fourth network device. Based on this, the network device can obtain the connection relationship of multiple pairs of FlexE client interfaces and the resources of multiple FlexE client interfaces by transmitting an IGP protocol packet, without transmitting an IGP packet for the connection relationship of each pair of FlexE client interfaces respectively, thereby improving the efficiency of collecting the topology.

[0564] Taking Figure 2 the scenario shown as an example, the first network device is, for example, device PE1. After device P4 discovers the connection relationships of three pairs of FlexE client interfaces by interacting with device P5, device P4 sends an IGP message to device PE1. Device PE1 receives the IGP message from device P4. The IGP message includes an L2 bundle TLV, and the L2 bundle TLV carries the connection relationship between FlexE client interface 0 in device P4 and FlexE client interface 0 in device P5, the connection relationship between FlexE client interface 1 in device P4 and FlexE client interface 1 in device P5, the connection relationship between FlexE client interface 2 in device P4 and FlexE client interface 2 in device P5, the IP address 1.1.1.1 of the default fragmentation port of device P4, the IP address 2.2.2.2 of the default fragmentation port of device P5, the resource information of FlexE client interface 1, and the resource information of FlexE client interface 2.

[0565] In the large-granularity path calculation scenario, the L2 bundle TLV in the extended IGP protocol is used to carry the connection relationships between multiple pairs of FlexE physical interfaces and the resource information of multiple pairs of FlexE physical interfaces. Based on this, a network device can obtain the connection relationships between multiple pairs of FlexE physical interfaces and the resources of multiple FlexE physical interfaces by transmitting an IGP protocol message, without transmitting an IGP message for the connection relationship of each pair of FlexE physical interfaces respectively, thereby improving the efficiency of collecting the topology.

[0566] See Figure 19 for a schematic structural diagram of a communication device provided by an embodiment of the present application. Figure 19 The shown communication device is disposed in the first network device and is used to execute the method executed by the first network device provided in the above embodiment.

[0567] The communication device 700 includes a detection unit 710 and a sending unit 720.

[0568] The detection unit 710 is used to detect whether the topology resources change;

[0569] The sending unit 720 is used to send topology resource information to the controller in response to the detection unit 710 detecting that the topology resources change. The topology 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;

[0570] Among them, 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.

[0571] In a possible implementation, 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.

[0572] In a possible implementation, the time - slot information of the first interface includes the time - slot granularity and the time - slot state. The time - slot granularity is used to indicate the bandwidth occupied by a time - slot, and the time - slot state is used to indicate whether the time - slot is occupied or available.

[0573] In a possible implementation, the topology resource information further includes the identifier of the first Flexible Ethernet group (FlexE group) and the identifier of the second FlexE group. The first FlexE group includes the first interface, 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.

[0574] 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, the second FlexE group further includes the fourth interface, and the third interface is connected to the fourth interface;

[0575] 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.

[0576] In a possible implementation, the topology resource information further includes a topology type identifier;

[0577] 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. Both the first interface and the second interface are FlexE client interfaces, or,

[0578] 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. Both the first interface and the second interface are FlexE physical interfaces.

[0579] 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.

[0580] 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-inaccessible to the first interface; or,

[0581] the cross-reachability information includes an identifier of a fourth interface in the first network device, and the fourth interface is cross-accessible to the first interface.

[0582] In a possible implementation, the sending unit 720 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 capability of the first interface to carry large-granularity services, and the small-granularity capability information is used to indicate the capability of the first interface to carry small-granularity services.

[0583] 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. 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.

[0584] In a possible implementation, the sending unit 720 is further configured to send device capability information of the first network device to the controller, and 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 topology resource information is the bandwidth mode or the time-slot mode.

[0585] In a possible implementation, the topology resource information further includes a slice identifier, and the slice identifier is used to identify a network slice, and the network slice includes the first interface.

[0586] In a possible implementation, the topology resource information further includes a model identifier, and the model identifier is used to identify that the topology resource information is related to FlexE.

[0587] In a possible implementation, a sending unit 720 is configured to obtain a control protocol message, where the control protocol message carries topology resource information, and send the control protocol message to a controller.

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

[0589] In a possible implementation, the control protocol message carries a Type-Length-Value (TLV), and the TLV carries topology resource informa...

Claims

1. A method for reporting topological resource information, characterized in that, The method includes: In response to detecting a change in the topology resources, a first network device sends topology resource information to a controller. The 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 a 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.

2. The method according to claim 1, wherein 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.

3. The method according to claim 2, 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.

4. The method according to claim 1, wherein The topology resource information further includes the identifier of a first Flexible Ethernet group (FlexE group) and the identifier of a second FlexE group. The first FlexE group includes the first interface, 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.

5. The method according to claim 4, wherein The topology resource information further includes the identifier of a third interface in the first network device, the identifier of a fourth interface in the second network device, and the resource information of the third interface. The first FlexE group further includes the third interface, the second FlexE group further includes the fourth interface, and 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.

6. The method according to claim 1, characterized in that, 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 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, or 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.

7. The method according to claim 1, characterized in that, 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.

8. The method according to claim 7, characterized in that, The cross-reachability information includes the identifier of the third interface in the first network device, and the third interface is cross-unreachable from the first interface; or, The cross-reachability information includes the identifier of the fourth interface in the first network device, and the fourth interface is cross-reachable from the first interface.

9. The method according to claim 1, wherein The method further includes: The first network device sends interface capability information of the first interface to the controller, where 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.

10. The method according to claim 9, 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.

11. The method according to claim 1, characterized in that, The method further includes: The first network device sends 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 topology resource information is a bandwidth mode or a time-slot mode.

12. The method according to claim 1, characterized in that, 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.

13. The method according to claim 1, characterized in that, The topology resource information further includes a model identifier, which is used to indicate that the topology resource information is related to FlexE.

14. The method according to claim 1, characterized in that, The first network device sending the topology resource information to the controller includes: The first network device obtains a control protocol message, and the control protocol message carries the topology resource information; The first network device sends the control protocol message to the controller.

15. The method according to claim 14, characterized in that, The control protocol message includes a Border Gateway Protocol Link State (BGP-LS) message or a Path Computation Element Protocol Link State (PCEP-LS) message.

16. The method according to claim 15, characterized in that The control protocol message carries a Type-Length-Value (TLV), and the TLV carries the topology resource information.

17. The method according to claim 16, wherein The TLV includes a capability TLV, a link identifier TLV, or a link attribute TLV. The capability TLV carries device capability information of the first network device. The link identifier TLV carries an identifier of the first interface and an identifier of the second interface. The link attribute TLV carries resource information of the first interface, interface capability information of the first interface, and cross-reachability information.

18. The method according to claim 17, wherein The link attribute TLV includes a bandwidth TLV, a time slot TLV, a first TLV, and a slice TLV. The bandwidth TLV carries bandwidth information of the first interface. The time slot TLV carries time slot information of the first interface. The first TLV carries the cross-reachability information. The slice TLV carries a slice identifier.

19. The method according to claim 17 or 18, characterized in that, The link identifier TLV further carries a topology type identifier; or, The control protocol message further carries a protocol identifier field. The protocol identifier field or the flag field carries the topology type identifier. The protocol identifier field and the flag field are both encapsulated outside the TLV.

20. The method according to claim 1, wherein The topology resource information further includes an identifier of a 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. 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.

21. The method according to claim 20, wherein The method further includes: The first network device receives topology resource information flooded through the Interior Gateway Protocol (IGP).

22. The method according to claim 1, wherein In response to detecting a change in the topology resources, the first network device sends the topology 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. If the current state of the first interface is different from the historical state of the first interface, it sends the topology resource information to the controller; or, 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 the topology resource information to the controller.

23. A method for processing topological resource information, characterized in that The method includes: The controller receives first topology resource information from the first network device. The first topology resource information includes an identifier of the first interface, an identifier of the 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. The first interface is connected to the second interface. The controller determines a path based on the first topology resource information. Wherein, both the first interface and the second interface are interfaces capable of carrying small-granularity services, and the path is used to carry small-granularity services, or both the first interface and the second interface are interfaces capable of carrying large-granularity services, and the path is used to carry large-granularity services.

24. The method according to claim 23, wherein The method further includes: The controller receives second topology resource information from a third network device. The second topology resource information includes the identifier of the 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; Correspondingly, the controller determines a path based on the first topology resource information, including: the controller determines a 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.

25. The method according to claim 23, wherein The first topology resource information further includes the identifier of the third network device, the identifier of the fourth network device, the identifier of the fifth interface, the identifier of the 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.

26. The method according to any one of claims 23 to 25, characterized in that, The first topology resource information further includes a topology type identifier. The controller determines a path based on the first topology resource information, including: If the topology type identifier is used to indicate that the type of the first topology resource information is a Flexible Ethernet Client (FlexEclient) topology, or the topology type identifier is used to indicate determining a path for carrying large-granularity services based on the first topology resource information, determine a small-granularity path based on the first topology resource information, or If the topology type identifier is used to indicate that the type of the first topology resource information is a Flexible Ethernet (FlexE) physical interface topology, or the topology type identifier is used to indicate determining a path for carrying large-granularity services based on the first topology resource information, determine a large-granularity path based on the first topology resource information.

27. The method according to claim 23, wherein The topology resource information further includes cross-reachability information, which is used to indicate the cross-relationship between different interfaces inside the first network device. The controller determines a path based on the first topology resource information, including: The controller determines a path that is reachable between devices and reachable inside the devices based on the first topology resource information.

28. The method according to claim 27, wherein The method further includes: The controller receives interface capability information from a first interface of the first network device. The interface capability information includes large-granule capability information or small-granule capability information. The large-granule capability information is used to indicate the ability of the first interface to carry large-granule services, and the small-granule capability information is used to indicate the ability of the first interface to carry small-granule services; The controller determines a path based on the first topology resource information, including: The controller determines a path based on the first topology resource information and the interface capability information of the first interface.

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

30. The method according to claim 23, characterized in that, The method further includes: The controller receives device capability information from the first network device. 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-granule path calculation or topology collection for small-granule path calculation. The path distribution mode is used to indicate that the mode adopted when distributing a path based on the topology resource information is a bandwidth mode or a time-slot mode; The controller determines a path based on the first topology resource information, including: The controller determines a path based on the first topology resource information and the device capability information of the first network device.

31. The method according to claim 23, wherein 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.

32. The method according to claim 23, wherein The topology resource information further includes a model identifier, which is used to indicate that the topology resource information is related to FlexE.

33. The method according to any one of claims 23 to 32, characterized in that, The first topology resource information is sent when the first network device detects a change in topology resources.

34. The method according to claim 23, characterized in that, The controller receives the first topology resource information from the first network device, including: The controller receives the control protocol message, and the control protocol message carries the first topology resource information.

35. The method according to claim 34, wherein The control protocol message carries a type-length-value (TLV), and the TLV carries the topology resource information.

36. The method according to claim 35, characterized in that, The TLV includes a capability TLV, a link identifier TLV, and a link attribute TLV. The capability TLV carries device capability information of the first network device. The link identifier TLV carries an identifier of the first interface and an identifier of the second interface. The link attribute TLV carries resource information of the first interface, interface capability information of the first interface, and cross-reachability information.

37. The method according to claim 36, wherein The link attribute TLV includes a bandwidth TLV, a time slot TLV, a first TLV, and a slice TLV. The bandwidth TLV carries bandwidth information of the first interface. The time slot TLV carries time slot information of the first interface. The first TLV carries the cross-reachability information. The slice TLV carries a slice identifier.

38. The method according to claim 36 or 37, characterized in that, The link identifier TLV further carries a topology type identifier; or, The control protocol message further carries a protocol identifier field, and the protocol identifier field or the flag field carries the topology type identifier. The protocol identifier field and the flag field are both encapsulated outside the TLV.

39. A communication device, characterized in that, The device includes a plurality of functional modules, and the plurality of functional modules interact to implement the method according to any one of claims 1-38.

40. A communication device, characterized in that, 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 claims 1-38.

41. A computer-readable storage medium, characterized in that, Including instructions or a computer program, which when running on a computer, causes the computer to execute the method according to any one of claims 1-38 above.

42. A communication system, characterized in that, The system includes: a network device that executes the method according to any one of claims 1-22 above and a controller that executes the method according to any one of claims 23-38 above; or, The system includes the communication device according to claim 39 and the controller according to claim 40.

Citation Information

Cited By

  • TCP proxy device, storage medium and electronic device

    CN121000704A

  • A TCP proxy device, storage medium, and electronic device

    CN121000704B