Path information processing method and device

Through the coordinated path information transmission between nodes, the problem of low path establishment efficiency in static configuration is solved, and faster path establishment and controller burden are achieved.

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

Patent Information

Application Number
CN202410103117.6
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 the prior art, the efficiency of establishing large or small particle service paths in the communication network through static configuration is low, resulting in a long path establishment time and a heavy burden on the controller.

Method used

The distributed path information distribution method is adopted, and the path information is transmitted jointly between nodes. Each node establishes an end-to-end path segment based on the received path information, reducing dependence on the controller, and using parallel or hop-by-hop delivery method to improve path establishment efficiency.

Benefits of technology

Reduces path establishment time, reduces the burden on the controller, and improves the efficiency and flexibility of path establishment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120378357A_ABST
    Figure CN120378357A_ABST
Patent Text Reader

Abstract

The invention provides a path information processing method and device, a first node obtains first path information of a to-be-established end-to-end path, the end-to-end path is used for bearing small-particle services or large-particle services, and the first path information comprises an identifier of a second node, first resource information and an identifier of a first interface; the first resource information is used for indicating a first resource allocated to the small-particle service or the large-particle service, the second node comprises the first interface, and the first interface is used for providing the first resource; and the first node sends the first path information to the second node. Compared with establishment of the small-particle channel or the large-particle channel through static configuration, the time consumed for establishing the small-particle channel or the large-particle channel is saved, and the efficiency of establishing the small-particle channel or the large-particle channel is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

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

[0003] Currently, an end-to-end path for carrying large-granularity services or small-granularity services is usually created through static configuration. However, when using the static configuration method, the efficiency of path establishment is relatively low. Summary of the Invention

[0004] This application provides a method and apparatus for processing path information, which can improve the efficiency of path establishment.

[0005] In a first aspect, a method for processing path information is provided. The method includes:

[0006] A first node obtains first path information of an end-to-end path to be established. The end-to-end path is used to carry small-granularity services or large-granularity services. The first path information includes an identifier of a second node, first resource information, and an identifier of a first interface. The first resource information is used to indicate first resources allocated for the small-granularity services or the large-granularity services. The second node includes the first interface, and the first interface is used to provide the first resources. The first node sends the first path information to the second node.

[0007] Based on the method provided in the first aspect, since the first node sends path information for establishing a small particle channel or path information for establishing a large particle channel to the second node, the second node can obtain path information related to this node without manual configuration on the second node. Based on this, a path segment corresponding to the second node in the end-to-end path is established, which helps to reduce the workload of the configuration work required to establish a small particle channel or a large particle channel. Compared with establishing a small particle channel or a large particle channel through static configuration, the time required to establish a small particle channel or a large particle channel is saved, and the efficiency of establishing a small particle channel or a large particle channel is improved.

[0008] In particular, when each node in the small particle channel or the large particle channel obtains path information by interacting with other nodes, each node can establish a path segment corresponding to the local node in the end-to-end path based on the path information sent by other nodes. In this way, the path segments established by each node can form a complete end-to-end path. Since multiple nodes cooperate to implement the establishment of the end-to-end path, the dependence on the controller is reduced. For example, the controller does not need to distribute path information to each node, nor does it need to establish connections with each node separately, thereby reducing the burden on the controller caused by the establishment task of the small particle channel or the large particle channel.

[0009] In a possible implementation manner, the first path information further includes an identifier of a third node, second resource information, and an identifier of a second interface. The second resource information is used to indicate the second resources allocated for the small particle service or the large particle service. The third node includes the second interface, and the second interface is used to provide the second resources.

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

[0011] The first node sends second path information to the third node. The second path information includes an identifier of a third node, second resource information, and an identifier of a second interface. The second resource information is used to indicate the second resources allocated for the small particle service or the large particle service. The third node includes the second interface, and the second interface is used to provide the second resources.

[0012] In a possible implementation manner, the first path information and the second path information are sent in parallel.

[0013] In a possible implementation manner, the first path information further includes a type identifier, and the type identifier is used to indicate the small particle service or the large particle service.

[0014] In a possible implementation, the first path information further includes a flow identifier, which is used to identify the data flow of the small-particle service or the data flow of the large-particle service.

[0015] In a possible implementation, the first path information further includes a first identifier, which indicates the outgoing interface corresponding to the flow identifier or the incoming interface corresponding to the flow identifier.

[0016] In a possible implementation, the first node sending the first path information to the second node includes:

[0017] The first node obtains a first protocol message, which is used to carry the first path information;

[0018] The first node sends the first protocol message to the second node.

[0019] In a possible implementation, the first node sending the second path information to the third node includes:

[0020] The first node obtains a third protocol message, which is used to carry the second path information;

[0021] The first node sends the third protocol message to the third node.

[0022] In a possible implementation, the first protocol message includes a path message in the Resource Reservation Protocol - Traffic Engineering (RSVP-TE) protocol, a reservation (Resv) message, or a Path Computation Element Protocol (PCEP) protocol message.

[0023] In a possible implementation, the first protocol message includes an Explicit Route Object (ERO) or a Record Route Object (RRO), and the ERO or RRO includes sub-objects, and the sub-objects include the identifier of the second node and the identifier of the first interface.

[0024] In a possible implementation, the first protocol message includes a Resource Identifier Object, and the Resource Identifier Object carries a flow identifier and a first identifier. The flow identifier is used to identify the data flow of the small-particle service or the data flow of the large-particle service, and the first identifier indicates the outgoing interface corresponding to the flow identifier or the incoming interface corresponding to the flow identifier.

[0025] In a possible implementation, the first resource information includes bandwidth information, and the first protocol message further includes a Bandwidth Object, which is used to carry the bandwidth information.

[0026] In a possible implementation, the first resource information includes time slot information, and the first protocol message further includes a time slot type length value TLV, and the time slot TLV is used to carry the time slot information.

[0027] In a possible implementation, the first protocol message further includes an attribute flag TLV, and the attribute flag TLV carries a type identifier, and the type identifier is used to indicate the small-granularity service or the large-granularity service.

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

[0029] In response to receiving a second protocol message from the second node, the first node sends an announcement message to the controller, where the second protocol message indicates that the path segment corresponding to the second node in the end-to-end path is successfully established, and the announcement message is used to announce the completion of the establishment of the end-to-end path.

[0030] In a possible implementation, the second protocol message carries the first path information.

[0031] In a possible implementation, the second protocol message includes a reservation Resv message in an RSVP-TE protocol message or a PCEP protocol message.

[0032] In a possible implementation, the second node is a node downstream of the first node in the end-to-end path.

[0033] In a possible implementation, the first node is the head node in the end-to-end path, and the second node is an intermediate node or a tail node in the end-to-end path.

[0034] In a possible implementation, the end-to-end path includes a small-granularity channel, the small-granularity channel is used to carry small-granularity services, the first interface includes a FlexE client interface, and the flow identifier of the small-granularity service includes a small-granularity customer fg-client identifier; or,

[0035] The end-to-end path includes a large-granularity channel, the large-granularity channel is used to carry large-granularity services, the first interface includes a flexible Ethernet FlexE physical interface, and the flow identifier of the large-granularity service includes a flexible Ethernet customer FlexEclient identifier.

[0036] In a possible implementation, the first node obtains the path information of the end-to-end path to be established, including:

[0037] The first node receives the path information of the end-to-end path from the controller.

[0038] In a second aspect, a method for processing path information is provided. The method includes:

[0039] A second node receives first path information of an end-to-end path from a first node. The end-to-end path is used to carry small-granularity services or large-granularity services. The first path information includes an identifier of the second node, first resource information, and an identifier of a first interface. The first resource information is used to indicate first resources allocated for the small-granularity service or the large-granularity service. The second node includes the first interface, and the first interface is used to provide the first resources.

[0040] The second node establishes a path segment corresponding to the second node in the end-to-end path based on the first path information.

[0041] In a possible implementation, the first path information further includes an identifier of a third node, second resource information, and an identifier of a second interface. The second resource information is used to indicate second resources allocated for the small-granularity service or the large-granularity service. The third node includes the second interface, and the second interface is used to provide the second resources. The method further includes:

[0042] The second node sends second path information to the third node. The second path information includes the identifier of the third node, the second resource information, and the identifier of the second interface.

[0043] In a possible implementation, the second node establishing a path segment corresponding to the second node in the end-to-end path based on the first path information includes:

[0044] The second node determines the first resources from the resources available at the first interface based on the first resource information, and reserves the first resources for use by the end-to-end path.

[0045] In a possible implementation, the first resource information includes bandwidth information or / and time slot information. The bandwidth information is used to indicate the amount of bandwidth reserved for the end-to-end path. The time slot information includes at least one of a time slot identifier or / and the number of time slots. The second node determining the first resources from the resources available at the first interface based on the first resource information and reserving the first resources for use by the end-to-end path includes:

[0046] The second node determines a target time slot from the time slots occupied by the first interface based on the time slot identifier, and reserves the target time slot for use by the end-to-end path. The identifier of the target time slot matches the time slot identifier; or,

[0047] The second node determines a target time slot from the available time slots of the first interface based on the number of time slots, and reserves the target time slot for use by the end-to-end path, where the number of target time slots matches the number of time slots; or,

[0048] The second node divides a target bandwidth from the available bandwidth of the first interface based on the bandwidth information, and reserves the target bandwidth for use by the end-to-end path, where the amount of the target bandwidth matches the amount of bandwidth indicated by the bandwidth information.

[0049] In a possible implementation, the end-to-end path includes a small-granularity channel for carrying small-granularity services or a large-granularity channel for carrying large-granularity services, and the first path information further includes a type identifier for indicating the small-granularity service or the large-granularity service;

[0050] The second node establishing a path segment corresponding to the second node in the end-to-end path based on the first path information includes:

[0051] In response to the type identifier indicating a small-granularity service, the second node establishes a small-granularity path segment corresponding to the second node in the small-granularity channel based on the first path information; or,

[0052] In response to the type identifier indicating a large-granularity service, the second node establishes a large-granularity path segment corresponding to the second node in the large-granularity channel based on the first path information.

[0053] In a possible implementation, the first path information further includes a flow identifier for identifying a data flow of the small-granularity service or a data flow of the large-granularity service.

[0054] In a possible implementation, the first path information further includes a first identifier for indicating an egress interface corresponding to the flow identifier or an ingress interface corresponding to the flow identifier.

[0055] In a possible implementation, the second node receiving the first path information of the end-to-end path from the first node includes:

[0056] The second node receives a first protocol message from the first node, and the first protocol message is used to carry the first path information.

[0057] In a possible implementation, after the second node establishes a path segment corresponding to the second node in the end-to-end path based on the first path information, the method further includes:

[0058] The second node sends a second protocol message to the first node, and the second protocol message indicates that the path segment corresponding to the second node in the end-to-end path is successfully established.

[0059] In a possible implementation, the second node is a node downstream of the first node in the end-to-end path.

[0060] In a possible implementation, the first node is the head node in the end-to-end path, and the second node is an intermediate node or a tail node in the end-to-end path.

[0061] In a third aspect, a communication device is provided, which is disposed at the first node. The device includes:

[0062] An obtaining unit, configured to obtain first path information of an end-to-end path to be established. The end-to-end path is used to carry small-granularity services or large-granularity services. The first path information includes an identifier of a second node, first resource information, and an identifier of a first interface. The first resource information is used to indicate first resources allocated for the small-granularity service or the large-granularity service. The second node includes the first interface, and the first interface is used to provide the first resources;

[0063] A sending unit, configured to send the first path information to the second node.

[0064] In a possible implementation, the first path information further includes an identifier of a third node, second resource information, and an identifier of a second interface. The second resource information is used to indicate second resources allocated for the small-granularity service or the large-granularity service. The third node includes the second interface, and the second interface is used to provide the second resources.

[0065] In a possible implementation, the sending unit is further configured to send second path information, where the second path information includes an identifier of a third node, second resource information, and an identifier of a second interface. The second resource information is used to indicate second resources allocated for the small-granularity service or the large-granularity service. The third node includes the second interface, and the second interface is used to provide the second resources.

[0066] In a possible implementation, the first path information and the second path information are sent in a parallel manner.

[0067] In a possible implementation, the first path information further includes a type identifier, and the type identifier is used to indicate the small-granularity service or the large-granularity service.

[0068] In a possible implementation, the first path information further includes a flow identifier, and the flow identifier is used to identify the data stream of the small-granularity service or the data stream of the large-granularity service.

[0069] In a possible implementation, the first path information further includes a first identifier, and the first identifier indicates the outgoing interface corresponding to the flow identifier or the incoming interface corresponding to the flow identifier.

[0070] In a possible implementation, the sending unit is configured to obtain a first protocol message, where the first protocol message is used to carry the first path information; and send the first protocol message to the second node.

[0071] In a possible implementation, the first protocol message includes a path message in the Resource Reservation Protocol - Traffic Engineering (RSVP-TE) protocol, a reservation (Resv) message, or a Path Computation Element Protocol (PCEP) message.

[0072] In a possible implementation, the first protocol message includes an Explicit Route Object (ERO) or a Record Route Object (RRO), and the ERO or RRO includes sub-objects, and the sub-objects include the identifier of the second node and the identifier of the first interface.

[0073] In a possible implementation, the first protocol message includes a Resource Identifier Object, and the Resource Identifier Object carries a flow identifier and a first identifier, where the flow identifier is used to identify the data stream of the small-granularity service or the data stream of the large-granularity service, and the first identifier indicates the outgoing interface or the incoming interface corresponding to the flow identifier.

[0074] In a possible implementation, the first resource information includes bandwidth information, and the first protocol message further includes a Bandwidth Object, and the Bandwidth Object is used to carry the bandwidth information.

[0075] In a possible implementation, the first resource information includes time slot information, and the first protocol message further includes a Time Slot Type Length Value (TLV), and the time slot TLV is used to carry the time slot information.

[0076] In a possible implementation, the first protocol message further includes an Attribute Flag TLV, and the Attribute Flag TLV carries a type identifier, and the type identifier is used to indicate the small-granularity service or the large-granularity service.

[0077] In a possible implementation, the sending unit is further configured to, in response to receiving a second protocol message from the second node, send a notification message to the controller, where the second protocol message indicates that the path segment corresponding to the second node in the end-to-end path is successfully established, and the notification message is used to notify that the end-to-end path is established.

[0078] In a possible implementation, the second protocol message carries the first path information.

[0079] In a possible implementation, the second protocol message includes a reservation Resv message in an RSVP-TE protocol message or a PCEP protocol message.

[0080] In a possible implementation, the second node is a node downstream of the first node in the end-to-end path.

[0081] In a possible implementation, the first node is the head node in the end-to-end path, and the second node is an intermediate node or a tail node in the end-to-end path.

[0082] In a possible implementation, the end-to-end path includes a small-granularity channel for carrying small-granularity services, the first interface includes a FlexE client interface, and the flow identifier of the small-granularity service includes a small-granularity customer fg-client identifier; or,

[0083] The end-to-end path includes a large-granularity channel for carrying large-granularity services, the first interface includes a flexible Ethernet FlexE physical interface, and the flow identifier of the large-granularity service includes a flexible Ethernet customer FlexEclient identifier.

[0084] In a possible implementation, the obtaining unit is configured to receive path information of an end-to-end path from the controller.

[0085] Fourthly, a communication device is provided, which is disposed at the second node. The device includes:

[0086] A receiving unit, configured to receive first path information of an end-to-end path from a first node, where the end-to-end path is used to carry small-granularity services or large-granularity services, the first path information includes an identifier of the second node, first resource information, and an identifier of a first interface, the first resource information is used to indicate first resources allocated for the small-granularity service or the large-granularity service, the second node includes the first interface, and the first interface is used to provide the first resources;

[0087] A processing unit, configured to establish a path segment corresponding to the second node in the end-to-end path based on the first path information.

[0088] In a possible implementation, the first path information further includes an identifier of a third node, second resource information, and an identifier of a second interface. The second resource information is used to indicate second resources allocated for the small-granularity service or the large-granularity service. The third node includes the second interface, and the second interface is used to provide the second resources. The apparatus further includes:

[0089] A sending unit, configured to send second path information to the third node. The second path information includes the identifier of the third node, the second resource information, and the identifier of the second interface.

[0090] In a possible implementation, a processing unit is configured to determine the first resource from the resources of the first interface based on the first resource information, and reserve the first resource for use by the end-to-end path.

[0091] In a possible implementation, the first resource information includes bandwidth information or / and time slot information. The bandwidth information is used to indicate the amount of bandwidth reserved for the end-to-end path. The time slot information includes at least one of a time slot identifier or / and a number of time slots. The processing unit is configured to determine a target time slot from the time slots occupied by the first interface based on the time slot identifier, and reserve the target time slot for use by the end-to-end path. The identifier of the target time slot matches the time slot identifier; or, determine a target time slot from the available time slots of the first interface based on the number of time slots, and reserve the target time slot for use by the end-to-end path. The number of the target time slots matches the number of time slots; or, divide a target bandwidth from the available bandwidth of the first interface based on the bandwidth information, and reserve the target bandwidth for use by the end-to-end path. The amount of the target bandwidth matches the amount of bandwidth indicated by the bandwidth information.

[0092] In a possible implementation, the end-to-end path includes a small-granularity channel for carrying small-granularity services or a large-granularity channel for carrying large-granularity services. The first path information further includes a type identifier, and the type identifier is used to indicate the small-granularity service or the large-granularity service;

[0093] A processing unit, configured to, in response to the type identifier indicating a small-granularity service, the second node establish a small-granularity path segment corresponding to the second node in the small-granularity channel based on the first path information; or, in response to the type identifier indicating a large-granularity service, the second node establish a large-granularity path segment corresponding to the second node in the large-granularity channel based on the first path information.

[0094] In a possible implementation, the first path information further includes a flow identifier, which is used to identify the data flow of the small particle service or the data flow of the large particle service.

[0095] In a possible implementation, the first path information further includes a first identifier, which indicates the outgoing interface corresponding to the flow identifier or the incoming interface corresponding to the flow identifier.

[0096] In a possible implementation, a receiving unit is configured to receive a first protocol message from a first node, where the first protocol message is used to carry the first path information.

[0097] In a possible implementation, the apparatus further includes:

[0098] A sending unit is configured to send a second protocol message, where the second protocol message indicates that the path segment corresponding to the second node in the end-to-end path is successfully established.

[0099] In a possible implementation, the second node is a node located downstream of the first node in the end-to-end path.

[0100] In a possible implementation, the first node is the head node in the end-to-end path, and the second node is an intermediate node or a tail node in the end-to-end path.

[0101] In a fifth aspect, a communication apparatus is provided. The communication apparatus includes a processor and a communication interface. The processor is configured to execute instructions to cause the communication apparatus to perform the method provided in the first aspect or any optional implementation manner of the first aspect. The communication interface is configured to receive or send messages. For the specific details of the communication apparatus provided in the fifth aspect, reference may be made to the first aspect or any optional implementation manner of the first aspect, which will not be elaborated here.

[0102] In a specific implementation process, the communication apparatus in the fifth aspect 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. The output 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.

[0103] In yet another implementation, the communication device may be some components in the first node, such as integrated circuit products like a system-on-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 the logic circuit on the chip.

[0104] In a sixth aspect, a communication device is provided. The communication device includes a processor and a communication interface. The processor is configured to execute instructions to cause the communication device to perform the method provided in the second aspect or any optional implementation of the second aspect. The communication interface is used to receive or send messages. For specific details of the communication device provided in the sixth aspect, reference may be made to the second aspect or any optional implementation of the second aspect, which will not be elaborated here.

[0105] 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 configured to receive signals through the input circuit and transmit signals through the output circuit, so as to implement any implementation of any aspect in the second aspect.

[0106] In a seventh aspect, a computer-readable storage medium is provided. At least one instruction is stored in the storage medium. When the instruction runs on a computer, it causes the computer to perform the method provided in the first aspect or any optional implementation of the first aspect.

[0107] In an eighth aspect, a computer-readable storage medium is provided. At least one instruction is stored in the storage medium. When the instruction runs on a computer, it causes the computer to perform the method provided in the second aspect or any optional implementation of the second aspect.

[0108] In a ninth aspect, a computer program product is provided. The computer program product includes one or more computer program instructions. When the computer program instructions are loaded and run on a computer, they cause the computer to perform the method provided in the first aspect or any optional implementation of the first aspect.

[0109] In a tenth aspect, a computer program product is provided. The computer program product includes one or more computer program instructions. When the computer program instructions are loaded and run on a computer, they cause the computer to perform the method provided in the second aspect or any optional implementation of the second aspect.

[0110] In an eleventh aspect, a chip is provided, including a memory and a processor. The memory is used to store computer instructions, and the processor is used to call and run the computer instructions from the memory to perform the method in the first aspect and any possible implementation of the first aspect.

[0111] In a twelfth aspect, a chip is provided, which includes a memory and a processor. The memory is used to store computer instructions, and the processor is used to call and run the computer instructions from the memory to execute the method provided in the second aspect or any optional manner of the second aspect.

[0112] In a thirteenth 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 of the first aspect is implemented, or any implementation manner of the second aspect is implemented. In a specific implementation, the processing circuit includes operations performed by the Flexe shim layer.

[0113] In the 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, and this circuit 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.

[0114] In another implementation manner, the communication device may be some components in the first node or the second node, such as integrated circuit products such as a system-on-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.

[0115] In a fourteenth aspect, a communication system is provided.

[0116] In a possible implementation manner, the communication system includes a first node that executes any optional manner of the first aspect or the first aspect, and a second node that executes any optional manner of the second aspect or the second aspect.

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

[0118] In a possible implementation manner, 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. Description of the Drawings

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

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

[0121] Figure 2 Schematic diagram of a network system provided by an embodiment of the present application that supports establishing large particle channels or / and small particle channels;

[0122] Figure 3 Flowchart of a method for processing path information provided by an embodiment of the present application;

[0123] Figure 4 Schematic diagram of another method for processing path information provided by an embodiment of the present application;

[0124] Figure 5 Schematic diagram of another method for processing path information provided by an embodiment of the present application;

[0125] Figure 6 Schematic diagram of establishing a small particle channel by means of head node distribution provided by an embodiment of the present application;

[0126] Figure 7 Schematic diagram of establishing a small particle channel by means of hop-by-hop transmission of path information provided by an embodiment of the present application;

[0127] Figure 8 Schematic diagram of the format of a protocol message provided by an embodiment of the present application;

[0128] Figure 9 Schematic diagram of the format of a protocol message provided by an embodiment of the present application;

[0129] Figure 10 Schematic diagram of the format of a protocol message provided by an embodiment of the present application;

[0130] Figure 11 Schematic diagram of the format of a TLV provided by an embodiment of the present application;

[0131] Figure 12 Schematic diagram of the format of a TLV provided by an embodiment of the present application;

[0132] Figure 13 Schematic diagram of the format of a TLV provided by an embodiment of the present application;

[0133] Figure 14Schematic structural diagram of a communication device provided by an embodiment of the present application;

[0134] Figure 15 Schematic structural diagram of a communication device provided by an embodiment of the present application;

[0135] Figure 16 Schematic structural diagram of a communication device provided by an embodiment of the present application. Detailed implementation manners

[0136] The embodiment of the present application provides a method for processing path information, which is applicable to the scenario of establishing a path in a metro transport network (MTN), and is particularly applicable to the scenario of establishing a large-granularity channel or a small-granularity channel in the MTN.

[0137] In the embodiment of the present application, by adopting a distributed path information distribution method, the path information for establishing an end-to-end path is transmitted between different nodes, and each node can establish a path segment corresponding to the local node in the end-to-end path based on the path information sent by other nodes. In this way, the path segments established by each node can form a complete end-to-end path. Since multiple nodes cooperate to implement the establishment of the end-to-end path, the dependence on the controller is reduced. For example, the controller sends path information to a node passing through the path. In response to receiving the path information from the controller, this node interacts with other nodes to distribute the path information, and only needs to feedback a message to the controller after confirming that the path establishment is successful. The controller does not need to distribute the path information to each node, nor does it need to establish connections with each node separately, thereby reducing the burden on the controller caused by the path establishment task.

[0138] Regarding the relationship between the path segment, the end-to-end path, and the nodes, a path segment can be a small segment in the end-to-end path, and a path segment can also be referred to as a link in the end-to-end path. An end-to-end path includes one or at least two path segments. A node can be understood as the endpoint of a path segment.

[0139] In the embodiment of the present application, the distributed path information transmission is mainly illustrated by the following two implementation manners.

[0140] Distributed path information transmission method 1: A node sends the path information corresponding to each other node to multiple other nodes respectively.

[0141] For example, a node (such as the head node or the tail node) in the end-to-end path establishes point-to-point connections with multiple other nodes in the end-to-end path respectively. Through the point-to-point connections between this node and each other node, the node sends the corresponding path information to each other node by using the point-to-point communication method.

[0142] For example, in the process of establishing an end-to-end path passing through node A, node B, and node C, node A sends path information B corresponding to node B to node B, enabling node B to establish a path segment with node B as an endpoint based on path information B; node A sends path information C corresponding to node C to node C, enabling node C to establish a path segment with node C as an endpoint based on path information C. In addition, node A can establish a path segment with node A as an endpoint based on the path information corresponding to node A itself. The path segment with node A as an endpoint, the path segment with node B as an endpoint, and the path segment with node C as an endpoint form an end-to-end path.

[0143] Taking the case where the head node is responsible for distributing corresponding path information to each node as an example, for example, the head node sends path information A corresponding to the second node to the second node, and path information A is used to establish path segment A between the head node and the second node and / or path segment B between the second node and the third node; the head node sends path information B corresponding to the third node to the third node, and path information B is used to establish path segment B between the third node and the second node and / or path segment C between the third node and the fourth node. And so on, the head node sends path information N corresponding to the tail node to the tail node, and path information N is used to establish path segment N between the tail node and the penultimate node.

[0144] In the case of adopting transmission method 1, in some embodiments, path information is sent in a parallel manner. For example, node A sends path information B corresponding to node B to node B in parallel and sends path information corresponding to node C to node C. For example, the difference between the moment when node A sends path information B to node B and the moment when node A sends path information C to node C is close to or equal to 0, so that while node B receives path information B, node C receives path information C, and further enables node B and node C to perform resource allocation and path segment establishment almost simultaneously.

[0145] Due to the adoption of the parallel path information sending method, downstream nodes do not have to wait for upstream nodes to obtain path information and complete resource allocation before obtaining their own path information. Downstream nodes can obtain path information almost simultaneously with upstream nodes. Therefore, compared with the serial path information sending method, downstream nodes obtain path information earlier, so downstream nodes can establish the path segment corresponding to this node faster. For example, multiple nodes establish the path segments corresponding to this node simultaneously based on the path information of this node received simultaneously, thereby improving the speed and efficiency of establishing a complete end-to-end path. In addition, the head node does not need to control and maintain the order of sending path information to different nodes, so the computational complexity generated by the head node for maintaining the order of sending path information is reduced.

[0146] In the case of adopting transfer method 1, in some embodiments, the path information is sent in a serial manner. For example, node A first sends the path information B corresponding to node B to node B; node B performs resource allocation based on path information B, thereby establishing a path segment with node B as an endpoint. After the path segment is established, node B notifies node A that the path segment is established; after receiving the notification message from node B, node A then sends the path information C corresponding to node C to node C.

[0147] Since the path information is sent in a serial manner, in the case where a certain node cannot establish the path segment corresponding to this end (for example, the available resources of this node are insufficient), there is no need to further send the path information to the downstream node of this node, thereby saving the waste of communication resources caused by sending the path information to the downstream node of the node that cannot successfully establish the path segment.

[0148] Distributed path information transfer method 2, a method of transferring path information hop by hop.

[0149] Hop-by-hop transfer is also called step-by-step sending or chain transfer. Transferring path information hop by hop means that each node participating in the establishment of the end-to-end path is responsible for sending the path information to the neighbor node of this node. The path information sent to the neighbor node includes the path information corresponding to each node from this neighbor node to the end node of the end-to-end path, so that the neighbor node can further send the path information to the next neighbor node, which is equivalent to the path information being transferred downstream hop by hop along each node in the to-be-established end-to-end path until the path information is transferred to the end node of the end-to-end path.

[0150] For example, in the process of establishing an end-to-end path passing through node A, node B, and node C, node B has a neighbor relationship with node A, node C has a neighbor relationship with node B, node A sends path information A to node B, and path information A includes the path information corresponding to node B and the path information corresponding to node C. Node B sends path information B to node C, and path information B includes the path information corresponding to node C.

[0151] Taking the head node responsible for transferring the path information downstream node by node as an example, for example, the head node sends path information A to the second node, and path information A includes the path information corresponding to each node from the second node to the last node. The second node sends path information B to the third node, and path information B includes the path information corresponding to each node from the third node to the last node. And so on, the penultimate node sends the path information N corresponding to the end node to the end node.

[0152] Since the path information is transmitted hop by hop, the head node does not need to establish connection relationships with each node in the end-to-end path to send path information to each node separately. For example, the head node only needs to establish a connection relationship with the second node. Therefore, the number of connection relationships that the head node needs to establish is small, reducing the overhead of the head node.

[0153] Regardless of which path information transmission method listed above is adopted, since the path information is transmitted through the interaction between nodes, the function of transmitting path information in a distributed manner and then establishing large-granularity channels or small-granularity channels can be achieved.

[0154] The path information in the embodiments of the present application is used to establish one or more path segments in large-granularity channels or small-granularity channels. For example, in the case of adopting the distributed path information transmission method 1 described above, one path information is used to establish the path segment corresponding to a specific node in the end-to-end path. Another example is that in the case of adopting the distributed path information transmission method 2 described above, one path information is used to establish the path segment from a specific node to the tail node or from the head node to a specific node in the end-to-end path.

[0155] The path information mainly includes data in three dimensions: node identifier, resource information, and interface identifier.

[0156] The node identifier is used to uniquely identify the corresponding node in the network where the large-granularity channel or small-granularity channel is located. For example, the identifier of the node is the network address of the node. For example, the identifier of the node is the IP address of the node. Another example is that the node identifier is the label switching router identifier (LSR ID) of the node. Since the transmitted path information includes the node identifier, it can specify which node or which nodes need to participate in the establishment process of the small-granularity channel or large-granularity channel.

[0157] The interface identifier is used to identify the corresponding interface among at least one interface of the node. The interfaces in the embodiments of the present application mainly refer to the interfaces used to provide resources (or reserve resources) for small-granularity services and / or large-granularity services. The interface can also be understood as a container for small-granularity services or large-granularity services. The interface is, for example, a physical interface or a logical interface.

[0158] For example, in the scenario of establishing a small-granularity channel, the interface identifier in the path information is the identifier of the large-granularity interface. For example, the large-granularity interface is FlexE client, and the interface identifier in the path information is the identifier of FlexE client. Since the path information transmitted between nodes includes the identifier of the large-granularity interface, on the one hand, it can specify which resources of a large-granularity interface the node reserves for small-granularity services, making the resource allocation for small-granularity services more refined and flexible; on the other hand, it can specify the large-granularity interface that the small-granularity service will pass through when transmitted to a certain node, which is equivalent to specifying which container the small-granularity service is carried in within the node, helping the established small-granularity channel to better meet the needs of small-granularity services or the user's routing intention.

[0159] Another example is that in the scenario of establishing a large-granularity channel, the interface identifier in the path information includes the identifier of the FlexE physical port or / and the identifier of the FlexE group. Taking the case where the interface identifier in the path information is the identifier of the FlexE physical port as an example, since the path information transmitted between nodes includes the identifier of the FlexE physical port, on the one hand, it can specify which resources of a FlexE physical port the node reserves for large-granularity services, making the resource allocation for large-granularity services more refined and flexible; on the other hand, it specifies the FlexE physical port that the large-granularity service needs to pass through when transmitted to a certain node, which is equivalent to specifying which container the large-granularity service is carried in within the node, helping the established large-granularity path to better meet the needs of large-granularity services or the user's routing intention.

[0160] The interface identifier in the path information includes the identifier of the ingress interface or / and the identifier of the egress interface. The egress interface is also called the output interface or the TX (transmission) interface. The ingress interface is also called the input interface or the RX (reception) interface.

[0161] For example, the path information passed to the head node includes the identifier of the egress interface in the head node. Therefore, it can specify which resources of an egress interface the head node reserves for use when transmitting small-granularity services or / and large-granularity services after the path is successfully established. In other words, the interface identifier in the path information passed to the head node can specify which egress interface the head node uses to transmit small-granularity services and / or large-granularity services.

[0162] For example, the path information passed to the tail node includes the identifier of the ingress interface in the tail node. Therefore, it can specify which resources of an ingress interface the tail node reserves for use when receiving small-granularity services or / and large-granularity services after the path is successfully established. In other words, the interface identifier in the path information passed to the tail node can specify which ingress interface the tail node uses to receive small-granularity services and / or large-granularity services.

[0163] For another example, the path information passed to an intermediate node includes the identifier of the ingress interface and the identifier of the egress interface in the intermediate node. Therefore, it is possible to specify which egress interface and which ingress interface resources in the intermediate node should be reserved. In other words, the interface identifiers in the path information passed to the head node can specify which ingress interface the intermediate node uses to receive small-granularity services and / or large-granularity services, and further which egress interface to send small-granularity services and / or large-granularity services through.

[0164] The resources in the embodiments of the present application mainly relate to the resources required for transmitting small-granularity services or large-granularity services. The types of resources include at least one of bandwidth and / or time slots.

[0165] Resource information is used to indicate the resources reserved for small-granularity services or large-granularity services. The resource information is equivalent to the basis for guiding nodes to reserve resources during the process of establishing a path. The resource information includes at least one of bandwidth information and / or time slot information.

[0166] Bandwidth information is used to indicate the amount of available bandwidth reserved for small-granularity services or large-granularity services. For example, in the scenario of establishing a large-granularity channel, the bandwidth information is, for example, data in units of Gbps. For instance, if the bandwidth information is 5, it indicates that 5 Gbps of available bandwidth is reserved for large-granularity services. Another example is that in the scenario of establishing a small-granularity channel, the bandwidth information is, for example, data in units of Mbps. For example, if the bandwidth information is 20, it indicates that 20 Mbps of available bandwidth is reserved for small-granularity services. Since the path information passed to the node includes bandwidth information, it is possible to specify how much bandwidth the node should reserve for small-granularity services or large-granularity services, so that the amount of reserved available bandwidth meets the requirements of small-granularity services or large-granularity services.

[0167] Time slot information is used to indicate the time slots reserved for small-granularity services or large-granularity services. For example, the time slot information includes at least one of a time slot identifier and / or a time slot quantity.

[0168] The time slot identifier is used to identify the corresponding time slot (which can also be called a sub - time slot in the small - granularity scenario). For example, the time slot identifier is the time slot number. As an example, the time slot information includes time slot number 2 and time slot number 3, indicating that time slot 2 and time slot 3 are reserved for small - granularity services or large - granularity services. Since the path information passed to the node includes the time slot identifier, on the one hand, in the path establishment phase, the time slot identifier can specify which specific time slot or which specific time slots the node reserves for small - granularity services or large - granularity services, so that the reserved time slots meet the requirements of small - granularity services or large - granularity services. On the other hand, in the service forwarding phase, the time slot identifier can specify from which specific time slot or which specific time slots the node receives small - granularity services or large - granularity services from the upstream node, or specify from which specific time slot or which specific time slots the node sends small - granularity services or large - granularity services to the downstream node.

[0169] The number of time slots is used to indicate the number of time slots reserved for small - granularity services or large - granularity services. As an example, the time slot information includes the number of time slots 2, indicating that 2 time slots are reserved for small - granularity services or large - granularity services. Since the path information passed to the node includes the number of time slots, it can thus specify how many time slots the node reserves for small - granularity services or large - granularity services, so that the number of reserved time slots meets the requirements of small - granularity services or large - granularity services.

[0170] In some embodiments, the path information passed to each node in the large - granularity channel or the small - granularity channel has the same resource information.

[0171] For example, in the case where the resource information is bandwidth information, in the scenario of establishing a small - granularity channel, since usually the amount of available bandwidth reserved for small - granularity services by each node passed through by a small - granularity channel is the same, the bandwidth information in the path information passed to each node in the small - granularity channel is the same. For instance, a small - granularity channel needs to occupy 20 Mbps of available bandwidth, and the bandwidth in the path information received by each node in this small - granularity channel is 20. Similarly, in the scenario of establishing a large - granularity channel, since usually the amount of available bandwidth reserved for large - granularity services by each node passed through by a large - granularity channel is the same, the bandwidth information in the path information passed to each node in the large - granularity channel is the same.

[0172] For another example, when the resource information is the number of time slots, since usually the amount of available bandwidth reserved for small-granularity services by each node passed by a small-granularity channel is the same, and the time-slot granularity (the bandwidth occupied by one time slot) used by each node for the same small-granularity channel is usually also the same, and the amount of available bandwidth is equal to the product of the time-slot granularity and the number of time slots, therefore, in the scenario of establishing a small-granularity channel, the bandwidth information in the path information passed to each node is the same. For example, a small-granularity channel needs to occupy 20 Mbps of available bandwidth, and the time-slot granularity of the small-granularity is 10 Mbps, so the number of time slots in the path information received by each node is 2. Similarly, optionally, when the resource information is the number of time slots, the number of time slots in the path information passed to each node in the large-granularity channel is the same.

[0173] In some other embodiments, the resource information in the path information passed to each node in the large-granularity channel or the small-granularity channel may be different. For example, when the resource information is the time-slot identifier, the time-slot identifiers in the path information passed to each node in the large-granularity channel or the small-granularity channel are respectively the identifiers of the available time slots (or idle time slots) in the corresponding nodes. For example, a small-granularity channel passes through node A, node B, and node C. This small-granularity channel needs to be allocated 2 time slots, and the idle time slots of the FlexE client in node A are from time slot 2 to time slot 3, the idle time slots of the FlexE client in node B are from time slot 3 to time slot 4, and the idle time slots of the FlexE client in node C are from time slot 5 to time slot 6. Therefore, the time-slot identifier in the path information passed to node A is the time-slot number from time slot 2 to time slot 3, the time-slot identifier in the path information passed to node B is the time-slot number from time slot 3 to time slot 4, and the time-slot identifier in the path information passed to node C is the time-slot number from time slot 5 to time slot 6.

[0174] Of course, when the idle time slots of each node in the large-granularity channel or the small-granularity channel are exactly the same, the time-slot identifiers in the path information passed to each node in the large-granularity channel or the small-granularity channel can also be the same. For example, if the idle time slots of each node's interface are exactly from time slot 2 to time slot 3, then the time-slot identifier in the path information passed to each node is the time-slot number from time slot 2 to time slot 3.

[0175] In some embodiments, the path information passed to the node further includes a flow identifier. The flow identifier is used to identify the data flow of the small-granularity service or the data flow of the large-granularity service. Hereinafter, the data flow identifier of the small-granularity service will be simply referred to as the small-granularity flow identifier, and the data flow identifier of the large-granularity service will be simply referred to as the large-granularity flow identifier.

[0176] The small-granularity flow identifier is, for example, the fg-client ID. The small-granularity flow identifier is used to identify the data flow carrying small-granularity services. The small-granularity flow identifier can also be referred to as the interface identifier of the small-granularity channel, the local identifier of the small-granularity service at the node, or the resource identifier of the small-granularity interface. In some embodiments, the small-granularity flow identifier includes the small-granularity flow identifier corresponding to the large-granularity egress interface and the small-granularity flow identifier corresponding to the large-granularity ingress interface. The small-granularity flow identifier corresponding to the large-granularity egress interface can also be referred to as the small-granularity flow identifier in the TX direction or the small-granularity flow identifier in the output (out) direction. The small-granularity flow identifier corresponding to the large-granularity ingress interface can also be referred to as the small-granularity flow identifier in the RX direction or the small-granularity flow identifier in the input (in) direction. For the sake of simplicity in expression, hereinafter, the small-granularity flow identifier corresponding to the large-granularity egress interface will be abbreviated as out-fg-client ID, and the small-granularity flow identifier corresponding to the large-granularity ingress interface will be abbreviated as in-fg-client ID.

[0177] The large-granularity flow identifier is, for example, the identifier of the FlexE client. The large-granularity flow identifier is used to identify the data flow carrying large-granularity services. In some embodiments, the large-granularity flow identifier includes the large-granularity flow identifier corresponding to the FlexE physical egress interface and the large-granularity flow identifier corresponding to the FlexE physical ingress interface. The large-granularity flow identifier corresponding to the FlexE physical egress interface can also be referred to as the large-granularity flow identifier in the TX direction or the large-granularity flow identifier in the output (out) direction. The large-granularity flow identifier corresponding to the FlexE physical ingress interface can also be referred to as the large-granularity flow identifier in the RX direction or the large-granularity flow identifier in the input (in) direction. For the sake of simplicity in expression, hereinafter, the large-granularity flow identifier corresponding to the FlexE physical egress interface will be abbreviated as out-fg-client ID, and the large-granularity flow identifier corresponding to the FlexE physical ingress interface will be abbreviated as in-fg-client ID.

[0178] Since the path information passed to the node includes the small-granularity flow identifier or the large-granularity flow identifier, it helps to achieve the following three functions: establishing the correspondence between the small-granularity data flow or the large-granularity data flow and the reserved resources, establishing the cross-connection between nodes, and establishing the cross-connection within the node. Taking the scenario of establishing a small-granularity channel as an example, the following explains why the small-granularity flow identifier helps to achieve these three functions.

[0179] In the scenario of establishing a small-granularity channel, since the path information passed to the node includes the small-granularity flow identifier and the resource information, after the node reserves resources for the small-granularity service according to the resource information, it can establish the correspondence between the small-granularity flow identifier and the reserved resources, thereby indicating that specific resources have been reserved for the small-granularity data flow. When forwarding the small-granularity data flow subsequently, the resources used for forwarding the small-granularity data flow can be determined based on the correspondence between the small-granularity flow identifier and the reserved resources.

[0180] For example, the path information passed to the head node includes the small particle flow identifier and resource information. After the head node reserves time slot A in the TX direction for the small particle service according to the resource information, the head node can establish a correspondence between the small particle flow identifier and time slot A. Therefore, when forwarding the small particle data stream subsequently, based on the correspondence between the small particle flow identifier and time slot A, the head node can determine to forward the small particle data stream through time slot A. Another example is that after the head node reserves time slot A in the TX direction for the small particle service according to the resource information, the head node can establish a correspondence between the small particle flow identifier and time slot A.

[0181] For example, the path information passed to the intermediate node includes the out-fg-client ID, the resource information corresponding to the TX direction, the in-fg-client ID, and the resource information corresponding to the RX direction. After the intermediate node reserves time slot A in the RX direction for the small particle service according to the resource information corresponding to the RX direction, the intermediate node can establish a correspondence between time slot A and the in-fg-client ID. After the intermediate node reserves time slot B in the TX direction for the small particle service according to the resource information corresponding to the TX direction, the intermediate node can establish a correspondence between time slot B and the out-fg-client ID.

[0182] For example, the path information passed to the tail node includes the in-fg-client ID and the resource information corresponding to the RX direction. After the intermediate node reserves time slot B in the RX direction for the small particle service according to the resource information corresponding to the RX direction, the tail node can establish a correspondence between time slot B and the in-fg-client ID.

[0183] In some embodiments, the path information passed to the nodes at both ends of the same path segment (such as a link carrying small particle services) includes the same small particle flow identifier, so as to establish the small particle cross-connection relationship between the nodes. In other words, the out-fg-client ID passed to a node in the small particle channel is the same as the in-fg-client ID passed to the next node of this node. For example, the out-fg-client ID passed to the head node is the same as the in-fg-client ID passed to the first intermediate node (the neighbor node downstream of the head node). The out-fg-client ID passed to the first intermediate node is the same as the in-fg-client ID passed to the second intermediate node (the second intermediate node downstream of the first intermediate node). The out-fg-client ID passed to the penultimate node is the same as the in-fg-client ID passed to the last node. Since the out-fg-client ID passed to a node in the small particle channel is the same as the in-fg-client ID passed to the next node of this node, so that two neighbor nodes can establish the small particle cross-connection relationship between the nodes based on the small particle flow identifiers obtained by each of them, which is equivalent to establishing a path segment carrying small particle services between the nodes. For example, the head node sends out-fg-client 2 to node B and in-fg-client 2 to node C, so that node B can establish a small particle cross-connection relationship with node C based on out-fg-client 2.

[0184] In some embodiments, the path information passed to the intermediate node includes the in-fg-client ID and the out-fg-client ID, enabling the intermediate node to establish fine-grained cross relationships within the node. This is equivalent to connecting the in-interface and out-interface of the fine-grained channels within the same node. Therefore, the fine-grained data stream sent to an intermediate node can be forwarded from this intermediate node to the next node based on the fine-grained cross relationships within the node, reducing the risk of interruption in the transmission of the fine-grained data stream due to unreachable crosses between different fine-grained interfaces within the intermediate node. For example, the intermediate node establishes a corresponding relationship between the in-fg-client ID and the out-fg-client ID based on the received in-fg-client ID and out-fg-client ID, thereby identifying that after receiving the fine-grained data stream through the time slot corresponding to the in-fg-client ID, the fine-grained data stream is sent through the time slot corresponding to the out-fg-client ID. For example, after node B receives in-fg-client 1 and out-fg-client 2, the time slots reserved for in-fg-client 1 are time slots 2 to 3 in the RX direction, and the time slots reserved for out-fg-client 2 are time slots 4 to 5 in the TX direction. Node B establishes a corresponding relationship between in-fg-client1 and out-fg-client 2. Therefore, when node B receives the fine-grained data stream corresponding to in-fg-client1 during time slots 2 to 3, node B will send the fine-grained data stream based on time slots 4 to 5 corresponding to out-fg-client 2.

[0185] In the scenario of establishing a large-grained channel, since the path information passed to the node includes the large-grained flow identifier, it helps to achieve three aspects of functions: establishing the corresponding relationship between the large-grained data stream and the reserved resources, establishing the client cross relationship between nodes (or the cross relationship between the large-grained interfaces between nodes), and establishing the client cross relationship within the node (or the cross relationship between the fine-grained in-interface and the fine-grained out-interface within the node). For the principle of realizing the above three aspects of functions based on the large-grained flow identifier, please refer to the description of the fine-grained flow identifier above.

[0186] In some embodiments of determining the fine-grained flow identifier, in some embodiments, the controller assigns a fine-grained flow identifier (such as fg-client ID) to each path segment in the fine-grained channel, so that the nodes at both ends of each path segment in the fine-grained channel can establish fine-grained cross relationships between nodes based on this fine-grained flow identifier.

[0187] In some embodiments of determining the large-granularity flow identifier, in some embodiments, the controller assigns a large-granularity flow identifier (e.g., FlexE client ID) to each path segment in the large-granularity channel, so that the nodes at both ends of each path segment in the large-granularity channel establish a large-granularity cross-relationship between the nodes based on the large-granularity flow identifier.

[0188] Of course, the small-granularity flow identifier or the large-granularity flow identifier can also be obtained through static configuration of the control plane or through negotiation between nodes. This embodiment does not limit the methods for determining the small-granularity flow identifier and the large-granularity flow identifier.

[0189] In some embodiments, the path information passed to the node also includes an identifier indicating the out direction or the in direction. The out direction is also called the eastward interface, and the in direction is also called the westward interface. Through this identifier, it is possible to clarify whether the flow identifier corresponds to the out interface or the in interface, or to distinguish the flow identifier carried by the out interface from the flow identifier carried by the in interface.

[0190] In the scenario of establishing a small-granularity channel, a single node may have multiple large-granularity interfaces capable of carrying small-granularity data streams. The flow identifiers of different small-granularity data streams carried by the same large-granularity interface are usually different, while the flow identifiers of small-granularity data streams carried by different large-granularity interfaces may be the same or different. For example, the small-granularity flow identifiers carried by FlexE client 1 as a large-granularity in interface in the node include fg-client 1 and fg-client 2, and the small-granularity flow identifiers carried by FlexE client 1 as a large-granularity out interface in the node also include fg-client 1 and fg-client 2. By passing the small-granularity flow identifier and the identifier indicating the in / out direction to the node together, the node can clearly bind the small-granularity flow identifier to the large-granularity in interface or bind the small-granularity flow identifier to the large-granularity out interface.

[0191] In the scenario of establishing a large-granularity channel, there may be multiple FlexE physical ports in the same node that can carry large-granularity data streams. The flow identifiers of different large-granularity data streams carried by the same FlexE physical port are usually different, while the flow identifiers of large-granularity data streams carried by different FlexE physical ports may be the same or different. For example, the large-granularity flow identifiers carried by PHY 1 serving as a large-granularity ingress interface in the node include FlexE client 1 and FlexE client 2, and the large-granularity flow identifiers carried by PHY 1 serving as a large-granularity egress interface in the node also include FlexE client 1 and FlexE client 2. The large-granularity flow identifiers and the identifiers indicating the ingress and egress directions are passed to the node together, enabling the node to clearly bind the large-granularity flow identifier to the large-granularity ingress interface or bind the large-granularity flow identifier to the large-granularity egress interface.

[0192] Of course, the direction (ingress or egress) can also be directly indicated by the flow identifier itself. For example, the prefix or suffix of the flow identifier has the string "in" or "out", enabling the node to determine whether the flow identifier corresponds to an ingress interface or an egress interface by parsing the flow identifier itself, without the need to carry a separate identifier indicating the ingress or egress direction in the path information.

[0193] In some embodiments, the path information passed to the node further includes a type identifier, which is used to indicate small-granularity services or large-granularity services. For example, the type identifier includes a first type identifier for indicating small-granularity services and a second type identifier for indicating large-granularity services. In the scenario of establishing a small-granularity channel, the path information passed to the node includes the identifier of the node, the identifier of the large-granularity interface of the container acting as the small-granularity channel in this node, the small-granularity flow identifier, the information about the resources reserved for the small-granularity flow, and the first type identifier. In the scenario of establishing a large-granularity channel, the path information passed to the node includes the identifier of the node, the identifier of the FlexE physical port of the container acting as the large-granularity channel in this node, the large-granularity flow identifier, the information about the resources reserved for the large-granularity flow, and the second type identifier.

[0194] Considering that the same node may participate in the establishment process of both small-granularity channels and large-granularity channels, resulting in receiving path information for establishing small-granularity channels and path information for establishing large-granularity channels. Since the type identifier is carried in the path information, it helps the node distinguish the path information for small-granularity channels and the path information for establishing large-granularity channels, or enables the node to determine whether to perform the task of establishing a small-granularity channel or the task of establishing a large-granularity channel based on the path information.

[0195] In some embodiments, in the scenario of establishing a small particle channel, the path information passed to the node further includes the identifier of the small particle channel. The identifier of the small particle channel is used to identify the small particle channel. For example, the identifier of the small particle channel is Fg-channel ID. In some embodiments, the identifier of the small particle channel passed to each node required to pass through the small particle channel is the same. Considering that there may be multiple small particle channels between the same head node and the same tail node, by passing the identifier of the small particle channel together with other dimensions of path information such as node identifier, resource information, and interface identifier to the node, it implicitly indicates the correspondence between the identifier of the small particle channel and other dimensions of path information such as node identifier, resource information, and interface identifier, enabling the node to clearly identify which small particle channel the received path information belongs to.

[0196] In some embodiments, in the scenario of establishing a large particle channel, the path information passed to the node further includes the identifier of the large particle channel. The identifier of the large particle channel is used to identify the large particle channel. For example, the identifier of the large particle channel is FlexE channel ID. In some embodiments, the identifier of the large particle channel passed to each node required to pass through the large particle channel is the same. Considering that there may be multiple large particle channels between the same head node and the same tail node, by passing the identifier of the large particle channel together with other dimensions of path information such as node identifier, resource information, and interface identifier to the node, it implicitly indicates the correspondence between the identifier of the large particle channel and other dimensions of path information such as node identifier, resource information, and interface identifier, enabling the node to clearly identify which large particle channel the received path information belongs to.

[0197] The number of data of various dimensions (such as node identifier, resource information, interface identifier, and flow identifier) in the path information passed to a node can be only one or multiple. For example, in the case of adopting the second distributed path information transmission method in the foregoing text, the path information passed to a node can include the node identifier corresponding to each node from this node to the tail node in the small particle channel or the large particle channel, the resource information corresponding to each node, the interface identifier corresponding to each node, and the flow identifier corresponding to each node. For example, the path information has a list format, the list includes multiple lines, and each line in the list is the node identifier corresponding to a node, the resource information corresponding to a node, the interface identifier corresponding to a node, and the flow identifier corresponding to a node. Another example is that in the case of adopting the first distributed path information transmission method in the foregoing text, the path information passed to a node includes the node identifier corresponding to this node, the resource information corresponding to this node, the interface identifier corresponding to this node, and the flow identifier corresponding to this node, without including the node identifier corresponding to other nodes outside this node, the resource information corresponding to other nodes, the interface identifier corresponding to other nodes, and the flow identifier corresponding to other nodes.

[0198] In some embodiments, the data of the three dimensions of node identifier, resource information, and interface identifier in the path information have a key-value pair format. For example, the node identifier is the key, and both the resource information and the interface identifier are the values corresponding to the node identifier, thereby implicitly indicating the correspondence relationship between the data of the three dimensions of node identifier, resource information, and interface identifier, and further clarifying that a specific node is to allocate specific resources from a specific interface. For example, the path information includes {P1, client1, fg-client1, bandwidth 20M}, thereby indicating that P1 is to allocate 20M of available bandwidth for the small particle service identified by fg-client1 from the large particle interface identified by client1. Another example is that the node identifier, resource information, and interface identifier corresponding to the same node are carried in the same message part such as the same field, the same TLV, the same object, and the same message header, which can also implement the function of implicitly indicating the correspondence relationship between the data of the three dimensions of node identifier, resource information, and interface identifier.

[0199] The path information processing method provided by the embodiments of this application is mainly applied to the scenario of establishing a large particle channel or / and a small particle channel. For the convenience of readers' understanding, before further introducing the technical details of the embodiments of this application, the large particle technology, small particle technology, and other technologies and / or terms related to the embodiments of this application will be introduced.

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

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

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

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

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

[0205] The term "fine-grained calendar slot (fgCS)" may also be referred to as "sub-slot"; the term "fine-grained MTN path (fgMTNP)" may also be referred to as "fine-grained client".

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

[0207] The term "FlexE Client" may also be referred to as "coarse-grained client", or "MTN path layer (MTNP)".

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

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

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

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

[0212] Next, relevant technical terms of large particle technology and small particle technology are introduced.

[0213] (1) Small particle service

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

[0215] Among them, when transmitting fine-grained services, for the sending end, in one example, FlexE shim can encapsulate data into pre-divided sub-slots for transmission according to the time slot configuration of the fine-grained services. For the receiving end, FlexE shim can restore the data received through the slot with a corresponding bandwidth of 5 Gbps into the original fine-grained service data according to the time slot configuration of the fine-grained services and continue the transmission. In another example, for the sending 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, which will not be elaborated here.

[0216] (2)FlexE client

[0217] 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 time slot or multiple 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.

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

[0219] Used to identify a FlexE client. For example, the identifier of a FlexE client interface is the FlexE client index. The FlexE client index is used to uniquely identify a FlexE client in a network device; alternatively, the identifier of a FlexE client interface is the transmission identifier of the FlexE client interface. The transmission identifier of a FlexE client interface is also referred to as 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 a data stream and is carried in the calendar of the multi-frame overhead. Alternatively, the identifier of a 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 a scenario where sub-time slots are directly divided from the bandwidth resources of a FlexE physical interface, the identifier of the FlexE client interface is the identifier of the FlexE physical interface from which the FlexE client interface is obtained.

[0220] (4) FlexE physical interface

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

[0222] (5) Flexible Ethernet group number (FlexE group number)

[0223] 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. Generally, the FlexE group numbers of two network devices docked based on the FlexE group are the same.

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

[0225] 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. Generally, 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 set of PHYs, so as to achieve functions such as PHY bundling, channelization, and sub-rate. The identifier of a FlexE group is, for example, the FlexE group index (FlexE group index, FlexE group idx). The FlexE group idx is a node-local management identifier for the FlexE group, which is unique on the node. In other words, if the node corresponds to multiple FlexE groups, each FlexE group can correspond to a FlexE group idx respectively, and the FlexE group idxs corresponding to any two FlexE groups are different. The identifier of a FlexE group is also, for example, the FlexE group ID.

[0226] (7) FlexE shim

[0227] 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 sending end, the main function of the FlexE shim is to encapsulate data into pre-divided time slots (slots). Then, according to the FlexE time slot table, each divided time slot is mapped to the PHY in the FlexE group for transmission. Among them, each time slot is mapped to a PHY in the FlexE group. Taking the 100GE PHY as an example, the FlexE Shim layer can divide each 100GE PHY in the FlexE group into 20 data-bearing channels of time slots (slots), and the bandwidth corresponding to each slot is 5Gbps. Each time the PHY sends 1023 * 20 Slot of 64 / 66B data, an overhead FlexE (Overhead, OH) will be inserted to inform the receiving end how to parse the received data.

[0228] (8) Large-granularity path

[0229] The large-granularity path refers to the data transmission channel for carrying large-granularity services. The large-granularity path is also called the FlexE-channel. The large-granularity path passes through a series of connected large-granularity interfaces (such as FlexE client interfaces), and the large-granularity path occupies some resources of each large-granularity interface. For example, the large-granularity path includes multiple segments of paths, and each segment of the path includes the connection relationship of a pair of large-granularity interfaces. For example, the head node of the large-granularity path is network device A, the intermediate node of the large-granularity path is network device B, and the tail node of the large-granularity path is network device C. The large-granularity 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.

[0230] (9) Large-granularity interface

[0231] A large-granularity interface refers to an interface that can carry large-granularity services, and can also be understood as the endpoint through which the 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 time slot division based on the FlexE physical interface in the FlexE group. In other embodiments, the large-granularity interface is a FlexE physical interface.

[0232] (10) Small-granularity interface

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

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

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

[0236] A slicing packet layer (SPL), a slicing channel layer (SCL), a slicing transport layer (STL), a software-defined network (SDN) slicing control plane integrating management and control, and an ultra-high-precision event frequency synchronization technology. Among them:

[0237] The SCL includes an FGU layer, an MTN channel (MTN path, MTNP) layer, and an MTN section (MTN Section, MTNS) layer. Among them: The FGU layer provides an end-to-end deterministic low-latency N*10Mbps 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 the MTN channel layer or the Ethernet physical layer.

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

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

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

[0241] 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 of binding, sub-rate, and channelization. MTNS is bidirectional and symmetric. Here, an example of one data transmission direction is used for illustration.

[0242] On the sending side, MTNS inserts a special O block into the 66B block sequence, inserts a D block after every 1023*20 66B blocks, inserts a D block after every 1023*20 66B blocks, and a total of 7 D blocks need to be inserted. After inserting the 7th D block, after another 1023*20 blocks, a special O block is inserted. In this way, a total of 8*(1023*20 + 1) blocks form an MTNS frame.

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

[0244] MTNS continuously sends data to the receiving end according to the above frame structure. The continuous MTNS frames are equivalent to a 66B block stream, and are 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 are sent out from the sending-side device.

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

[0246] MTNS can only provide point-to-point connections, while MTNP is responsible for providing "end-to-end channel connections" from the network entry 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 network configuration of MTNP can be referred to Figure 1b as shown Figure 1b in the schematic diagram of a network architecture provided by an embodiment of this application.

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

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

[0249] On the network-to-network interface (NNI) side of PE1, the MTNP layer obtains the customer signal from the MAC layer, and this customer signal can be a MAC frame. The MAC mentioned here can be the processing module of the MAC layer. After the MTNP layer obtains the MAC frame, it encodes the MAC frame into a string of 64 / 66B code block sequences. Specifically, each MAC frame will be encoded into a string of 66B code block sequences bounded by a start code block (S code block) and an end code block (i.e., T code block), and a series of MAC frame sequences will be encoded into a series of 66B code block sequences.

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

[0251] On the receiving side of the P node, first, according to the receiving-side behavior of the above-mentioned MTNS, the MTNS frame is identified. Subsequently, according to the pre-configuration, the MTNP data is recovered from the specified MTNS time slot. Next, the P node performs MTNP forwarding. It should be noted here that the essential difference between MTNP forwarding and IP forwarding and MAC bridge forwarding is that MTNP forwarding 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).

[0252] 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 into 480 sub-slots, and these 480 sub-slots are used to carry small-granularity services. For 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 the sub-slot and the sub-client. 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.

[0253] For the scenario of further dividing the slot with a corresponding bandwidth of 5 Gbps 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 transmission side of PE1, the MTN FGU layer, like the MTNP, first encodes the MAC frame client signal into a 66B code block sequence and then inserts the OAM code block. It should be noted at this time that the OAM code block inserted in the MTN FGU layer is the OAM code block of the small-granularity MTNP (fgMTNP), 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 slot specified according to the pre-configuration in the fg-BU.

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

[0255] 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 blocks in MTNP are extracted. After the receiving side of the P node restores the MTNP signal, the framing of fg-BU can be completed by searching for the S code blocks.

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

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

[0258] 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-granularity white paper, which will not be described in detail here.

[0259] 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-granularity technology in the network, you can configure the path carrying large-granularity services through static configuration. Correspondingly, if you want to deploy small-granularity technology in the network, you can configure the path carrying small-granularity services through static configuration.

[0260] Next, an application scenario provided by the embodiments of the present application will be described by way of example.

[0261] The embodiments of the present application are applied to scenarios where large-granularity channels and / or small-granularity channels need to be established. Refer to Figure 2 , Figure 2 shows a schematic diagram of a network system 20 provided by the embodiments of the present application that supports the establishment of large-granularity channels and / or small-granularity channels. Figure 2 The network system 20 shown includes multiple nodes 210 and a controller 220.

[0262] Multiple nodes 210 are used to collaboratively establish an end-to-end path, which includes a large-granularity channel or / and a small-granularity channel, so as to forward small-granularity service data or large-granularity service data through the end-to-end path. In other words, multiple nodes 210 are used to perform fgMTNP forwarding or MTNP forwarding.

[0263] The node 210 is also referred to as a forwarding node, a network element, a switching device, an SPN device, or an MTN device. For example, the node 210 is a router, a switch, a firewall, or a security gateway. The node 210 is, for example, a PE device, or a P device. Multiple nodes 210 are, for example Figure 2 Nodes A, B, and C among them.

[0264] In an end-to-end path, the roles of different nodes mainly include a head node, intermediate nodes, and a tail node. The head node is the upstream node of the intermediate nodes, and the intermediate nodes are the upstream nodes of the tail node. Taking Figure 2 the scenario shown as an example, node A is the head node, node B is the intermediate node, and node C is the tail node. In some embodiments, the head node is a forwarding device deployed at the network entrance, for example, the head node is an ingress PE device; the intermediate node is a forwarding device deployed inside the network, for example, the intermediate node is a P device; the tail node is a forwarding device deployed at the network exit, for example, the tail node is an egress PE device.

[0265] Figure 2 The scenario shown is described by taking an end-to-end path passing through one intermediate node as an example. The end-to-end path can also pass through two, three, or more intermediate nodes.

[0266] In the large-granularity scenario, the head node is the entrance node of the large-granularity channel, also referred to as the first node in the large-granularity channel, or the source end of the large-granularity channel. The tail node is the exit node of the large-granularity channel, also referred to as the last node in the large-granularity channel, or the sink end of the large-granularity channel. The head node and the tail node are also called the endpoints of the large-granularity channel. The intermediate node is the node located between the head node and the tail node in the large-granularity channel. The large-granularity service data sent by the head node reaches the tail node after being forwarded by the intermediate node.

[0267] In the small-granularity scenario, the head node is the entrance node of the small-granularity channel, also referred to as the first node in the small-granularity channel, or the source end of the small-granularity channel. The tail node is the exit node of the small-granularity channel, also referred to as the last node in the small-granularity channel, or the sink end of the small-granularity channel. The head node and the tail node are also called the endpoints of the small-granularity channel. The intermediate node is the node located between the head node and the tail node in the small-granularity channel. The small-granularity service data sent by the head node reaches the tail node after being forwarded by the intermediate node.

[0268] In some embodiments, the head node is Figure 1b PE 1 in Figure 1b P in Figure 1b PE 2 in Figure 1b , and the ways for the head node, intermediate node, and tail node to forward service data can refer to the description of

[0269] 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 can be a device running a network management system (NMS). The controller 220 can be a functional module that implements control and / or management functions, or a physical entity running relevant functional modules. The above physical entity can be, for example, a server installed with relevant software, and the relevant software is used to implement the functions of the control and management entity. The embodiments of the present application do not make specific limitations.

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

[0271] The method flow of the embodiments of the present application is illustrated below with examples.

[0272] Att Figure 3 is a flowchart of a method for processing path information provided by the embodiments of the present application.

[0273] Att Figure 3 The method shown is executed by multiple nodes interacting. To distinguish different nodes, "the first node", "the second node", and "the third node" are used to distinguish and describe different nodes. Att Figure 3 The method shown is applied to, for example, Figure 2 the network system 20 shown in Figure 3 In the method shown, the first node is Figure 2 node A in the network system shown in Figure 2 the network system shown, and the second node is

[0274] Att Figure 3The method shown involves path information related to different nodes. In order to distinguish different path information, "first path information" and "second path information" are used to distinguish and describe multiple different path information. The content and function of the first path information or the second path information can also refer to the above description.

[0275] In order to distinguish interfaces in different nodes, "first interface" and "second interface" are used to distinguish and describe multiple different interfaces. The first interface is an interface in the second node that can provide resources (or reserve resources) for small-granule services or large-granule services. The second interface is an interface in the third node that can provide resources (or reserve resources) for small-granule services or large-granule services.

[0276] For example, in the scenario of establishing a small-particle channel, the first interface and the second interface are both large-particle interfaces. For example, the first interface and the second interface are both FlexE client interfaces. For example, the first interface and the second interface are both interfaces that support carrying small-particle dynamic paths. The small-particle dynamic path is, for example, a path that carries small-particle services established based on a control protocol. Optionally, the first interface and the second interface are both interfaces that support cross-PHY bundling.

[0277] For another example, in the scenario of establishing a large-granularity channel, the first interface and the second interface are both FlexE physical interfaces. Or, the first interface and the second interface are both FlexE group interfaces. For example, the first interface and the second interface are both interfaces with the ability to carry 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 a 1G granularity is, for example, whether the time slot resources of the FlexE physical port have the ability to be divided into 1G granularity for flexible bundling. For another example, the first interface and the second interface are both interfaces that support carrying large-granularity dynamic paths. For example, a large-granularity dynamic path is a path for carrying large-granularity services established based on a control protocol. Optionally, the first interface and the second interface are both interfaces that support cross-PHY bundling.

[0278] Attached Figure 3 Some implementations of the method shown involve resources that different nodes need to reserve for small-particle services or large-particle services. In order to distinguish the resources corresponding to different nodes, "first resources" refers to the resources that the first interface in the second node needs to provide or reserve for small-particle services or large-particle services, and "second resources" refers to the resources that the second interface in the third node needs to provide or reserve for small-particle services or large-particle services.

[0279] Step S320: The first node obtains first path information of the end-to-end path to be established.

[0280] The end-to-end path is used to carry small-granularity services or large-granularity services. For example, the end-to-end path is a small-granularity channel for carrying small-granularity services. Another example is that the end-to-end path is a large-granularity channel for carrying large-granularity services.

[0281] The first path information is used to establish one or more path segments in the end-to-end path. For example, in the case of adopting the first distributed path information transmission method mentioned above, the first path information is used to establish the path segment corresponding to the second node in the end-to-end path. Another example is that in the case of adopting the second distributed path information transmission method mentioned above, the first path information is used to establish the path segment from the second node to the tail node or the path segment from the head node to the second node in the end-to-end path.

[0282] Since the first path information is obtained and sent to the second node, the second node can obtain the path information related to its own node without manual configuration of path information on the second node, and then can establish a path segment based on the first path information.

[0283] The first path information includes the identifier of the second node, the first resource information, and the identifier of the first interface.

[0284] The identifier of the second node is used to uniquely identify the second node in the network where the large-granularity channel or small-granularity channel is located. Since the first path information obtained and sent includes the identifier of the second node, it is equivalent to clarifying the destination of the first path information, or specifying that the second node needs to participate in the establishment process of the small-granularity channel or large-granularity channel. The first node can determine to transmit the first path information to the second node based on the identifier of the second node.

[0285] The identifier of the first interface is used to identify the first interface. For example, when the first interface is a FlexE client interface, the identifier of the first interface includes the FlexE client ID of the first interface or / and the FlexE clientindex of the first interface. Optionally, the identifier of the first interface also includes the identifier of the FlexE group to which the first interface belongs. Another example is that when the first interface is a FlexE physical port, the identifier of the first interface is the PHY number of the first interface. Since the identifier of the first interface is obtained and sent to the second node, on the one hand, it can specify that the second node reserves the resources of the first interface for small-granularity services or large-granularity services, making the resource allocation for small-granularity services or large-granularity services more refined and flexible; on the other hand, it can specify that small-granularity services or large-granularity services need to pass through the first interface when transmitting to the second node.

[0286] The first interface includes at least one of an ingress interface or / and an egress interface. When the second node is a tail node, the first interface is, for example, the ingress interface in the second node. When the second node is a head node, the first interface is, for example, the egress interface in the second node. When the second node is an intermediate node, the first interface includes, for example, the ingress interface in the second node and the egress interface in the second node.

[0287] The first resource information is used to indicate the first resources allocated for small-granularity services or large-granularity services. For example, the first resource information is used to indicate the first resources that the first interface of the second node needs to allocate for small-granularity services or large-granularity services. The first interface is used to provide or reserve the first resources. For example, the first resource information includes at least one of bandwidth information or / and time slot information. The bandwidth information is used to indicate the amount of bandwidth reserved for an end-to-end path. The time slot information includes at least one of a time slot identifier or / and the number of time slots.

[0288] In some embodiments, the first path information further includes a flow identifier, which is used to identify the data flow of small-granularity services or the data flow of large-granularity services.

[0289] In some embodiments, the first path information further includes a first identifier, which indicates the egress interface corresponding to the flow identifier or the ingress interface corresponding to the flow identifier. The first identifier is a specific example of the identifier indicating the egress direction or the ingress direction described above.

[0290] In some embodiments, the first path information further includes a type identifier, which is used to indicate small-granularity services or large-granularity services. For example, after the controller calculates a small-granularity channel, a first type identifier indicating small-granularity services is added to the path information of the small-granularity channel, and the first path information including the first type identifier is sent to the first node. Another example is that after the controller calculates a large-granularity channel, a second type identifier indicating large-granularity services is added to the path information of the large-granularity channel, and the first path information including the second type identifier is sent to the first node.

[0291] In some embodiments where the first node obtains the path information of an end-to-end path, the first node obtains the path information of the end-to-end path by interacting with the controller. For example, the controller calculates a small-granularity channel based on the large-granularity resource topology, thereby obtaining the path information of the small-granularity channel. The controller sends the path information of the small-granularity channel to the first node, and the first node receives the path information of the small-granularity channel. Another example is that the controller calculates a large-granularity channel based on the FlexE physical port resource topology, thereby obtaining the path information of the large-granularity channel. The controller sends the path information of the large-granularity channel to the first node, and the first node receives the path information of the large-granularity channel.

[0292] In some other embodiments of obtaining the path information of the end-to-end path at the first node, the first node acts as a path calculator. For example, the first node is a head node. The head node collects the topological resource information of the network, and calculates the end-to-end path from itself to the tail node based on the topological resource information, so as to obtain the path information. Of course, the path information of the end-to-end path can also be configured to the first node through the management plane. This embodiment does not limit the manner in which the first node obtains the path information of the end-to-end path.

[0293] Step S330, the first node sends the first path information to the second node.

[0294] In some embodiments, the first node obtains a first protocol message, and the first protocol message is used to carry the first path information; the first node sends the first protocol message to the second node. For example, the first protocol message is a distributed signaling protocol message. For instance, the first protocol message includes an RSVP-TE protocol message or a PCEP protocol message. Also, the first protocol message is a routing protocol message or other protocol messages that support interaction between nodes.

[0295] Step S340, the second node receives the first path information of the end-to-end path from the first node.

[0296] For example, the second node receives the first protocol message from the first node. The second node parses the first protocol message to obtain the first path information carried by the first protocol message.

[0297] Step S350, the second node establishes the path segment corresponding to the second node in the end-to-end path based on the first path information.

[0298] The path segment corresponding to the second node refers to the path segment with the second node as an endpoint. For example, the path segment corresponding to the second node is the path segment between the second node and its neighbor node. The path segment corresponding to the second node includes the path segment between the second node and its upstream node or / and the path segment between the second node and its downstream node.

[0299] For example, when the second node is an intermediate node, the path segment corresponding to the second node includes the path segment starting from the second node or / and the path segment ending at the second node. Taking Figure 2 the scenario shown as an example, the second node is, for example, Figure 2 intermediate node B, and the path segments corresponding to node B include path segment AB or / and path segment BC.

[0300] Also, when the second node is a tail node, the path segment corresponding to the second node includes the path segment ending at the second node. Taking Figure 2 the scenario shown as an example, the second node is, for example, Figure 2Middle node C, the path segment corresponding to node C includes path segment BC.

[0301] For example, in the scenario of establishing a small particle channel, the path segment corresponding to the second node is a link capable of carrying small particle services. Another example, in the scenario of establishing a large particle channel, the path segment corresponding to the second node is a link capable of carrying large particle services.

[0302] Regarding the process of establishing the path segment corresponding to the second node, in some embodiments, the second node determines a first resource from the available resources of the first interface based on the first resource information, and reserves the first resource for end-to-end path use.

[0303] In some embodiments of reserving resources based on time slot identification, the second node determines a target time slot from the time slots occupied by the first interface based on the time slot identification, and reserves the target time slot for end-to-end path use. The identification of the target time slot matches the time slot identification. For example, in the scenario of establishing a small particle channel, the identification of the first interface in the path information is FlexEclient 1, and the time slot identification in the path information includes the numbers of time slot 2 and time slot 3. Then the second node reserves time slot 2 and time slot 3 in FlexEclient 1 for the small particle channel use. The method of reserving resources based on time slot identification in the scenario of establishing a large particle channel is the same as that in the scenario of establishing a small particle channel.

[0304] In some embodiments of reserving resources based on the number of time slots, the second node determines a target time slot from the available time slots of the first interface based on the number of time slots and the status of the time slots of the first interface, and reserves the target time slot for end-to-end path use. The number of the target time slots matches the number of time slots. For example, the number of the target time slots is greater than or equal to the number of time slots in the path information. For example, the identification of the first interface in the path information is FlexE client 1, the number of time slots in the path information is 2, FlexE client 1 occupies a total of n time slots, where k time slots are in the available state (also called the idle state), and m time slots are in the unavailable state (also called the occupied state). The second node determines 2 time slots from the k time slots and reserves the 2 time slots for the small particle channel use. The method of reserving resources based on the number of time slots in the scenario of establishing a large particle channel is the same as that in the scenario of establishing a small particle channel.

[0305] In some embodiments of reserving resources based on bandwidth information, the second node divides the available bandwidth of the first interface based on the bandwidth information, reserves the target bandwidth for the end-to-end path, and the amount of the target bandwidth matches the bandwidth amount indicated by the bandwidth information. For example, the second node determines the number of time slots to be allocated based on the target bandwidth and the time slot granularity; the second node determines the target time slots from the available time slots of the first interface based on the number of time slots and the status of the time slots of the first interface, and reserves the target time slots for the end-to-end path. The number of target time slots matches the number of time slots determined based on the target bandwidth and the time slot granularity. For example, the number of target time slots is greater than or equal to the number of time slots determined based on the target bandwidth and the time slot granularity. For example, the identifier of the first interface in the path information is FlexE client 1, the bandwidth information in the path information is 20 Mbps, and the second node determines the number of time slots to be allocated as 20 Mbps ÷ 10 Mbps = 2 based on the small-granularity time slot granularity of 10 Mbps, and reserves 2 available time slots of FlexE client 1 for the small-granularity channel.

[0306] In some embodiments, the first path information further includes a type identifier, and the type identifier is used to indicate small-granularity services or large-granularity services. For the application of the type identifier, for example, in response to the type identifier indicating small-granularity services, the second node establishes a small-granularity path segment corresponding to the second node in the small-granularity channel based on the first path information. In response to the type identifier indicating large-granularity services, the second node establishes a large-granularity path segment corresponding to the second node in the large-granularity channel based on the first path information.

[0307] In some embodiments, the first path information further includes a first identifier, and the first identifier indicates the outgoing interface corresponding to the flow identifier or the incoming interface corresponding to the flow identifier.

[0308] For the application of type identifiers, for example, in the scenario of establishing a small particle channel, if the first identifier indicates that the small particle flow identifier corresponds to the egress interface, the second node determines the target FlexE client egress interface from the out FlexE clients serving as egress interfaces in the second node based on the FlexE client ID (the identifier of the first interface) in the path information, reserves the resources of the target FlexE client egress interface for the small particle flow in the TX direction, and establishes a binding relationship between the target FlexE client egress interface and the small particle flow identifier. Another example is that if the first identifier indicates that the small particle flow identifier corresponds to the egress interface, the second node establishes a small particle cross-relationship based on the small particle flow identifier and the downstream node of the second node. Similarly, if the first identifier indicates that the small particle flow identifier corresponds to the ingress interface, the second node determines the target FlexE client ingress interface from the FlexE clients serving as ingress interfaces in the second node based on the FlexE client ID (the identifier of the first interface) in the path information, reserves the resources of the target FlexE client ingress interface for the small particle flow in the TX direction, and establishes a binding relationship between the target FlexE client ingress interface and the small particle flow identifier. Another example is that if the first identifier indicates that the small particle flow identifier corresponds to the ingress interface, the second node establishes a small particle cross-relationship based on the small particle flow identifier and the upstream node of the second node.

[0309] Another example is that in the scenario of establishing a large particle channel, if the first identifier indicates that the large particle flow identifier corresponds to the egress interface, the second node determines the target FlexE physical egress interface from the FlexE physical egress interfaces in the second node based on the identifier of the FlexE physical interface (the identifier of the first interface) in the path information, reserves the resources of the target FlexE physical egress interface for the large particle flow in the TX direction, and establishes a binding relationship between the target FlexE physical egress interface and the large particle flow identifier. Another example is that if the first identifier indicates that the large particle flow identifier corresponds to the egress interface, the second node establishes a large particle cross-relationship (client cross-relationship) based on the large particle flow identifier and the downstream node of the second node. Similarly, if the first identifier indicates that the large particle flow identifier corresponds to the ingress interface, the second node determines the target FlexE physical ingress interface from the FlexE physical ingress interfaces in the second node based on the identifier of the FlexE physical interface (the identifier of the first interface) in the path information, reserves the resources of the target FlexE physical ingress interface for the large particle flow in the RX direction, and establishes a binding relationship between the target FlexE physical ingress interface and the large particle flow identifier. Another example is that if the first identifier indicates that the large particle flow identifier corresponds to the ingress interface, the second node establishes a large particle cross-relationship based on the large particle flow identifier and the upstream node of the second node.

[0310] In the method provided in this embodiment, since the first node sends path information for establishing a small particle channel or path information for establishing a large particle channel to the second node, the second node can obtain path information related to this node without manual configuration of path information on the second node. Based on this, a path segment corresponding to the second node in the end-to-end path is established, which helps to reduce the workload of the configuration work required for establishing a small particle channel or a large particle channel. Compared with establishing a small particle channel or a large particle channel through static configuration, the time required for establishing a small particle channel or a large particle channel is saved, and the efficiency of establishing a small particle channel or a large particle channel is improved.

[0311] In particular, in the case where each node in a small particle channel or a large particle channel obtains path information by interacting with other nodes, each node can establish a path segment corresponding to the local node in the end-to-end path based on the path information sent by other nodes. In this way, the path segments established by each node can form a complete end-to-end path. Since multiple nodes cooperate to implement the establishment of the end-to-end path, the dependence on the controller is reduced. For example, the controller does not need to distribute path information to each node, nor does it need the controller to establish connections with each node separately, thereby reducing the burden on the controller caused by the establishment task of the small particle channel or the large particle channel.

[0312] In some embodiments, the path information is sent from the upstream node to the downstream node. For example, the second node is a node downstream of the first node in the end-to-end path. Taking Figure 2 the scenario shown as an example, for example, in the Figure 3 method shown, the first node is Figure 2 node A in the network system shown, and the second node is Figure 2 node B or node C in the network system shown. Node A is responsible for obtaining path information and sending the path information to node B or / and node C. Another example is that in the Figure 3 method shown, the first node is Figure 2 node B in the network system shown, and the second node is Figure 2 node C in the network system shown. Node B is responsible for obtaining path information and sending the path information to node C.

[0313] In some embodiments, the path information is sent from the head node to the intermediate node or / and the tail node. For example, the first node is the head node in the end-to-end path, and the second node is the intermediate node or the tail node in the end-to-end path. For example, in the scenario of establishing a large particle channel, the first node is the head node of the large particle channel, and the second node is the intermediate node or the tail node of the large particle channel. Another example is that in the scenario of establishing a small particle channel, the first node is the head node of the small particle channel, and the second node is the intermediate node or the tail node of the small particle channel.

[0314] Optionally, after the second node establishes the path segment corresponding to the second node in the end-to-end path based on the first path information, the second node further performs the following step S360.

[0315] Step S360: The second node notifies the first node that the path segment corresponding to the second node is successfully established.

[0316] For example, the second node generates and sends a second protocol message to the first node, and the second protocol message indicates that the path segment corresponding to the second node in the end-to-end path is successfully established.

[0317] In some embodiments, the second protocol message carries the first path information. For example, the second protocol message carries the identifier of the second node, the first resource information, and the identifier of the first interface, so as to record that the first interface of the second node has allocated the resources indicated by the first resource information for the end-to-end path, which is equivalent to recording that the path segment corresponding to the second node is successfully established. In some embodiments, the second protocol message includes a reservation Resv message in an RSVP-TE protocol message or a PCEP protocol message.

[0318] The above has introduced the main process of implementing the establishment of the end-to-end path through the attached Figure 3 The illustrated embodiments introduce the main process of implementing the establishment of the end-to-end path. Through the path information distribution method provided by the attached Figure 3 embodiments, small-grain channels or large-grain channels can be established. The path information distribution methods include the method of a node sending the path information corresponding to each other node to each other node separately (the above-mentioned transfer method one) and the hop-by-hop transfer method (transfer method two). In the case of adopting different methods, the Figure 3 technical implementation details of the illustrated embodiments are different. The following respectively gives examples of the processes of these two specific reporting methods.

[0319] Refer to Figure 4 , Figure 4 which shows a schematic flowchart of another path information processing method provided by an embodiment of the present application. Figure 4 The embodiment shows the specific implementation manner of the illustrated Figure 3 embodiment in adopting transfer method one.

[0320] Figure 4 The embodiment further includes the following steps S322, step S332, step S342, step S352, and step S362 on the basis of including all the steps of the illustrated Figure 3 embodiment. Figure 4 Step S322 in the embodiment is an implementation manner of step S320 of the illustrated Figure 3 embodiment.

[0321] S322, the first node obtains first path information corresponding to the second node and second path information corresponding to the third node in the to-be-established end-to-end path.

[0322] The second path information includes the identifier of the third node, second resource information, and the identifier of the second interface. The second resource information is used to indicate the second resources allocated for small-granularity services or large-granularity services. The third node includes the second interface, and the second interface is used to provide the second resources.

[0323] S332, the first node sends the second path information to the third node.

[0324] In some embodiments, the first path information and the second path information are sent in parallel. For example, the difference between the time when the first node sends the first path information to the second node and the time when the first node sends the second path information to the third node is close to or equal to 0. Sending in parallel can make the third node receive the second path information earlier compared with the serial method. Correspondingly, the effective efficiency of the end-to-end path can be improved, and correspondingly, the service quality provided for the service can be improved.

[0325] In some embodiments, the first node obtains a third protocol message, and the third protocol message is used to carry the second path information; the first node sends the third protocol message to the third node. For example, the first node sends the third protocol message while sending the first protocol message.

[0326] Since the forwarding node has a high parsing efficiency for control protocol messages, both the second node and the third node can quickly obtain path information based on the received control protocol messages, thereby improving the effective efficiency of the end-to-end path. Correspondingly, the service quality provided for the service can be improved.

[0327] S342, the third node receives the second path information from the first node.

[0328] For example, the third node receives the third protocol message from the first node and obtains the second path information carried in the third protocol message.

[0329] S352, the third node establishes the path segment corresponding to the third node in the end-to-end path based on the second path information.

[0330] The method for the third node to establish the path segment can refer to the description of the method for the second node to establish the path segment.

[0331] S362, the third node notifies the first node that the path segment corresponding to the third node is successfully established.

[0332] In some embodiments, the third node generates and sends a fourth protocol message to the first node, and the fourth protocol message indicates that the path segment corresponding to the third node in the end-to-end path is successfully established. In some embodiments, the fourth protocol message carries second path information. Since the fourth protocol message carries the second path information, it is equivalent to recording that the second interface of the third node has allocated the resources indicated by the second resource information for the end-to-end path, which means recording that the path segment corresponding to the third node is successfully established. In some embodiments, the fourth protocol message includes a Resv message in an RSVP-TE protocol message or a PCEP protocol message.

[0333] Reference Figure 5 , Figure 5 shows a schematic flowchart of another method for processing path information provided by an embodiment of the present application. Figure 5 The embodiment shows an attachment Figure 3 The specific implementation manner of the embodiment shown in the adopted transfer method two.

[0334] Figure 5 The embodiment further includes the following steps S341, step S334, step S344, step S354, and step S355 on the basis of including all the steps of the embodiment shown in the attachment Figure 3 shown. Figure 5 Step S322 in the embodiment is an implementation manner of step S320 of the embodiment shown in the attachment Figure 3 shown.

[0335] Figure 5 In the embodiment, the first path information in step S320 and step S330 further includes the identifier of the third node, the second resource information, and the identifier of the second interface. The second resource information is used to indicate the second resources allocated for small-granularity services or large-granularity services. The third node includes a second interface, and the second interface is used to provide the second resources.

[0336] S341. The second node obtains the second path information corresponding to the third node based on the received first path information.

[0337] For example, the second node obtains the identifier of the third node, the second resource information, and the identifier of the second interface from the first path information based on the identifier of the third node. For example, the second node uses the identifier of the third node as a keyword to search for the corresponding values in the first path information to obtain the identifier of the third node, the second resource information, and the identifier of the second interface.

[0338] S334. The second node sends the second path information to the third node.

[0339] S344. The third node receives the second path information from the second node.

[0340] S354. The third node establishes a path segment corresponding to the third node in the end-to-end path based on the second path information.

[0341] S355. The third node notifies the second node that the path segment corresponding to the third node has been successfully established.

[0342] In some embodiments, the third node obtains a fourth protocol message, which is used to indicate that the path segment corresponding to the third node has been successfully established. For example, the fourth protocol message carries the second path information corresponding to the third node; the third node sends the fourth protocol message to the third node.

[0343] S356. The second node receives the fourth protocol message from the third node and determines that both the path segment corresponding to the third node and the path segment corresponding to the second node have been successfully established.

[0344] For example, the second node receives the fourth protocol message from the third node, and the second node obtains the second path information corresponding to the third node from the fourth protocol message, so as to determine that the path segment corresponding to the third node has been successfully established. In addition, the second node determines the path segment corresponding to the second node by executing S350.

[0345] S360. The second node notifies the first node that both the path segment corresponding to the third node and the path segment corresponding to the second node have been successfully established.

[0346] For example, the second node generates and sends a second protocol message to the first node, and the second protocol message indicates that both the path segment corresponding to the third node and the path segment corresponding to the second node in the end-to-end path have been successfully established. In some embodiments, the second protocol message carries the path information corresponding to the second node and the path information corresponding to the third node, so as to record that the first interface of the second node has allocated the resources indicated by the first resource information for the end-to-end path, and the second interface of the third node has allocated the resources indicated by the second resource information for the end-to-end path.

[0347] In this embodiment, there is no limitation on the order of the second node receiving the fourth protocol message and establishing the path segment corresponding to the second node in the end-to-end path.

[0348] Optionally, the second node may, after receiving the fourth protocol message and determining that the path segment corresponding to the third node has been successfully established, establish the path segment corresponding to the second node based on the path information corresponding to the second node received from the first node before. This method is equivalent to detecting whether the neighbor node can establish a path segment before establishing the path segment corresponding to the local node. Since in the case where the path segment of the neighbor node of the local node fails to be established (for example, the resources of the neighbor node are insufficient or the neighbor node does not support the ability of large-granularity services or small-granularity services), the local node does not need to establish a path segment, thus saving the overhead of establishing the path segment.

[0349] Alternatively, the second node may first establish a path segment corresponding to the second node based on the path information corresponding to the second node previously received from the first node; after the path segment corresponding to the second node is successfully established, the second node further sends the second path information corresponding to the third node to the third node. This method is equivalent to, after successfully establishing the path segment corresponding to the local node, first transmitting the path information corresponding to the neighbor node to the neighbor node. Since in the case where the path segment establishment of the local node fails (for example, the resources of the local node are insufficient or the local node does not support the ability of large-granularity services or small-granularity services), the local node does not need to transmit the path information corresponding to the neighbor node to the neighbor node, thus saving the overhead of transmitting path information.

[0350] In each of the above embodiments, when the path information obtained by the first node comes from the controller, after the first node determines that the end-to-end path establishment is successful, the first node may generate and send a first notification message to the controller, where the first notification message is used to notify the completion of the end-to-end path establishment. Alternatively, after the first node determines that the end-to-end path establishment fails, the first node may generate and send a second notification message to the controller, where the second notification message is used to notify the failure of the end-to-end path establishment. Since the controller can be timely aware of whether the path establishment is successful based on the timely feedback of the path establishment result, trigger the service flow to be transmitted through the established path in the case of successful path establishment, and initiate a re-calculation of the path in the case of failed path establishment.

[0351] For example, in Figure 4 the embodiment, through S360 and S362, the first node can receive a second protocol message from the second node. If the first node determines that the path segments corresponding to the second node and the third node in the end-to-end path are both successfully established based on the second protocol message, it generates and sends a first notification message to the controller.

[0352] For example, in Figure 5 the embodiment, through S360, the first node can receive a second protocol message from the second node and a fourth protocol message from the third node. If the first node determines that the path segment corresponding to the second node in the end-to-end path is successfully established based on the second protocol message, and the first node determines that the path segments corresponding to the third node in the end-to-end path are both successfully established based on the fourth protocol message, it generates and sends a first notification message to the controller.

[0353] The following uses an example to illustrate the above-described distributed path information transmission method. The following example illustrates the process of establishing a small-granularity channel, and the following example can also be applied to the scenario of establishing a large-granularity channel.

[0354] Example 1

[0355] Reference Figure 6 , Figure 6 shows a schematic diagram of a method for establishing an end-to-end path (small-granularity channel) of Fg-channel by using the head-node distribution method provided in an embodiment of the present application. Figure 6 The method shown includes the following S410 to S460. Figure 6 In the scenario shown, node A is a specific example of the head node of the small-granularity channel, node B is a specific example of the intermediate node of the small-granularity channel, and node C is a specific example of the tail node of the small-granularity channel. For example, Figure 6 the node A in Figure 3 the embodiment and Figure 4 the first node in the embodiment, Figure 6 the node B in Figure 3 the embodiment and Figure 4 the second node in the embodiment, Figure 6 the node C in Figure 4 the third node in the embodiment. Figure 6 The message A, message B, message C, and message D in

[0356] S410, the head node of the small-granularity channel sends the identifier of the small-granularity channel to the controller.

[0357] The identifier of the small-granularity channel includes the identifier of the head node of the small-granularity channel, the identifier of the tail node of the small-granularity channel, and the bandwidth amount required for the small-granularity channel.

[0358] S420, after calculating the small-granularity channel, the controller sends the path information of the small-granularity channel to the head node of the small-granularity channel.

[0359] For example, the path information sent by the controller includes the identifier of each node that the small-granularity channel needs to pass through, the large-granularity export identifier of each node, the large-granularity import identifier of each node, and resource information.

[0360] As an example, the content of the path information sent by the controller is as follows.

[0361] Fgchannel identifier: 1.1.1.1 Fg-channel ID 3.3.3.3

[0362] 1.1.1.1 (Ingress) Out-FlexEClient IfIndex (export) Out-FgClient1

[0363] 2.2.2.2 (Transit) In-FlexEClient1 IfIndex (import) In-FgClient1

[0364] 2.2.2.2 (Transit) Out-FlexEClient1 IfIndex (Exit) Out-FgClient2

[0365] 3.3.3.3 (Egress) In-FlexEClient1 IfIndex (Entrance) In-FgClient2

[0366] Among them, 1.1.1.1 is an example of the identifier of the head node, and 1.1.1.1 is specifically the IP address of node A. Out-FlexEClient IfIndex is an example of the large-granularity exit identifier of node A, and Out-FgClient1 is an example of the flow identifier of the small-granularity data flow carried by the large-granularity exit in node A.

[0367] 2.2.2.2 is an example of the identifier of the intermediate node, and 2.2.2.2 is specifically the IP address of node B. In-FlexEClient1 IfIndex is an example of the large-granularity entrance identifier of node B, and In-FgClient1 is an example of the flow identifier of the small-granularity data flow carried by the large-granularity entrance in node B. Out-FlexEClient1 IfIndex is an example of the large-granularity exit identifier of node B. Out-FgClient2 is an example of the flow identifier of the small-granularity data flow carried by the large-granularity exit in node B

[0368] 3.3.3.3 is an example of the identifier of the tail node, and 3.3.3.3 is specifically the IP address of node C. In-FlexEClient1 IfIndex is an example of the large-granularity entrance identifier of node C, and In-FgClient2 is an example of the flow identifier of the small-granularity data flow carried by the large-granularity entrance in node C.

[0369] S430 (not shown in the figure), after the head node receives the path information of the small-granularity channel from the controller, the head node establishes connections with each node in the small-granularity channel. After the connections are successfully established, the head node splits the path information of the small-granularity channel into path information corresponding to each node, and distributes the path information corresponding to each node other than the head node to the corresponding node respectively.

[0370] For example, as Figure 6 shown in S432, node A establishes a connection with node B based on the IP address of node B. The established connection is, for example, a PCEP connection or an RSVP-TE connection. Node A sends protocol packet A to node B, and protocol packet A carries the path information corresponding to node B. The path information sent to node B includes the following content.

[0371] Fgchannel identifier: 1.1.1.1 Fg-channel ID 3.3.3.3

[0372] 2.2.2.2 (Transit) In-FlexEClient1IfIndex (Entrance) In-FgClient1

[0373] 2.2.2.2 (Transit) Out-FlexEClient1IfIndex (Exit) Out-FgClient2

[0374] And, as Figure 6 shown in S434, node A establishes a connection with node C based on the IP address of node C. Node A sends protocol message B to node C, and protocol message B carries the path information corresponding to node C. The path information sent to node C includes the following content.

[0375] 3.3.3.3 (Egress) In-FlexEClient1IfIndex (Entrance) In-FgClient2

[0376] Both protocol message A and protocol message B are, for example, path messages in the RSVP-TE protocol, Resv messages in the RSVP-TE protocol, or messages in the PCEP protocol.

[0377] In addition, node A establishes path segment AB based on its own path information. The path information of node A itself includes the following content.

[0378] Fgchannel identifier: 1.1.1.1 Fg-channel ID 3.3.3.3

[0379] 1.1.1.1 Out-FlexEClientIfIndex (Exit) Out-FgClient1

[0380] S440, each node respectively performs bandwidth resource reservation and time slot negotiation based on the received path information, so as to establish a small-granularity path segment corresponding to this node.

[0381] S450, each node respectively sends a reply message to the head node after the path segment corresponding to this node is successfully established. The reply message is, for example, a Resv message in the RSVP-TE protocol or a message in the PCEP protocol.

[0382] For example, as Figure 6 shown in S452, node C sends protocol message C to node A, and protocol message C is used to indicate that the path segment corresponding to node C is successfully established.

[0383] As Figure 6 shown in S454, node B replies to node A with protocol message D, and protocol message D is used to indicate that the path segment corresponding to node B is successfully established.

[0384] In S460, the head node reports the message that the small-granularity path is successfully established to the controller.

[0385] The following uses another example to illustrate the above-described distributed path information transmission method 2. For the same technical details in Example 2 and Example 1, reference can be made to the description of Example 1.

[0386] Example 2

[0387] Refer to Figure 7 , Figure 7 , which shows a schematic diagram of a method for establishing an end-to-end path (small-granularity channel) of an Fg-channel by using a hop-by-hop path information transmission method based on the RSVP-TE protocol provided in an embodiment of the present application. Figure 7 In the shown scenario, node A is a specific example of the head node of the small-granularity channel, node B is a specific example of the intermediate node of the small-granularity channel, and node C is a specific example of the tail node of the small-granularity channel. For example, Figure 7 node A in Figure 3 the embodiment and Figure 5 the first node in the embodiment, Figure 7 node B in Figure 3 the embodiment and Figure 5 the second node in the embodiment, Figure 7 node C in Figure 5 the third node in the embodiment. Figure 7 Message A, message B, message C, and message D in

[0388] Figure 6 are specific examples of the first protocol message, the third protocol message, the fourth protocol message, and the second protocol message respectively in the shown method. Figure 7 S430 in the shown method is replaced with the following S430' in the

[0389] shown method flow.

[0390] For example, asFigure 7 As shown in S432’, node A strips off the path information corresponding to its own end from the received path information, such as 1.1.1.1 (Ingress) Out-FlexEClient IfIndex (exit) Out-FgClient1. Node A establishes a connection with node B based on the IP address of node B. Node A sends protocol message A to node B. Protocol message A is, for example, a path message in the RSVP-TE protocol. Protocol message A carries the path information corresponding to node B. The path information sent to node B includes the following content.

[0391] Fgchannel identifier: 1.1.1.1 Fg-channel ID 3.3.3.3

[0392] 2.2.2.2 (Transit) In-FlexEClient1IfIndex (entry) In-FgClient1

[0393] 2.2.2.2 (Transit) Out-FlexEClient1IfIndex (exit) Out-FgClient2

[0394] 3.3.3.3 (Egress) In-FlexEClient1IfIndex (entry) In-FgClient2

[0395] By comparing the content of the path information sent by the head node in S432’ of Comparative Example 2 with the content of the path information sent by the head node in S432 of Example 1, it is not difficult to see that the content of the path information sent by the head node in Example 2 has the path information corresponding to node C in addition.

[0396] And, as Figure 7 shown in S434’, after node B receives the path information from node A, node B establishes a connection with node C based on the IP address of node C. Node B strips off the path information corresponding to its own end from the received path information to obtain the path information corresponding to node C. Node B sends protocol message B to node C. Protocol message B is, for example, a path message in the RSVP-TE protocol. Protocol message B carries the path information corresponding to node C. The path information sent by node B to node C includes the following content.

[0397] Fgchannel identifier: 1.1.1.1 Fg-channel ID 3.3.3.3

[0398] 3.3.3.3 (Egress) In-FlexEClient1IfIndex (entry) In-FgClient2

[0399] In S441, after the tail node receives the path information, it performs bandwidth resource reservation and triggers the penultimate node to negotiate time slots with the tail node, thereby establishing a small-granularity path segment corresponding to the tail node. In addition, the tail node sends a Resv message hop by hop upstream. The Resv message carries the path information of each node in the established path segment, and the Resv message is used to record the successfully established part of the end-to-end path; after each node receives the Resv message, it performs resource reservation and time slot negotiation based on the path information carried in the Resv message, thereby establishing a small-granularity path segment corresponding to this node.

[0400] For example, as Figure 7 shown in S452’ in [reference], after node C receives protocol packet B from node B, node C establishes path segment CB based on the path information carried in protocol packet B. After the path segment is successfully established, node C generates and sends protocol packet C to node B. Protocol packet C is used to indicate that the path segment corresponding to node C is successfully established. For example, protocol packet C carries the path information corresponding to node C.

[0401] As Figure 7 shown in S454’ in [reference], after node B receives protocol packet C, node B establishes path segment AB and path segment BC based on the previously received path information. After the path segments are successfully established, node B generates and sends protocol packet D to node A. Protocol packet D is used to indicate that the path segment corresponding to node B is successfully established. For example, protocol packet D carries the path information corresponding to node B.

[0402] In some embodiments, node B adds the path information corresponding to node B to protocol packet C to obtain protocol packet D. Protocol packet D is used to indicate that the path segment corresponding to node B and the path segment corresponding to node C have both been successfully established. For example, protocol packet D carries the path information corresponding to node B and the path information corresponding to node B.

[0403] Both protocol packet C and protocol packet D are, for example, Resv messages in the RSVP-TE protocol.

[0404] In S460, after the head node receives the Resv message from the second node, the head node reports to the controller that the path establishment is completed.

[0405] Each of the above embodiments focuses on describing the logic and process of path information transmission. In some embodiments of the present application, by expanding the format of the protocol packet, the path information transmission in each of the above embodiments is supported.

[0406] Protocol packet extension

[0407] The message format of the protocol message used for transmitting path information between nodes will be described below. The message formats described below are applicable to carrying path information for establishing large-granularity channels and are also applicable to carrying path information for establishing small-granularity channels. The protocol message formats described below can be provided as the format of any of the first protocol message, the second protocol message, or the third protocol message. The protocol message formats described below are, for example, the path message, the Resv message in the RSVP-TE protocol, or the PCEP protocol message.

[0408] In some embodiments, the first protocol message, the second protocol message, or the third protocol message includes an explicit route object (ERO) or a record route object (RRO). The ERO or RRO includes sub-objects, and the sub-objects include the identifier of the second node and the identifier of the first interface. For another example, the third protocol message includes an ERO or an RRO. The ERO or RRO includes sub-objects, and the sub-objects include the identifier of the third node and the identifier of the second interface.

[0409] Reference Figure 8 , Figure 8 shows a schematic diagram of the format of the sub-objects in an ERO or an RRO in a protocol message provided by an embodiment of the present application. The sub-objects include a type field, a length field, an IPv4 address field, and an Interface Identifier field. Taking the identifier of the second node as the IPv4 address of the second node as an example, for example, Figure 8 the IPv4 address field in Figure 8 carries the IPv4 address of the second node, Figure 8 and the Interface Identifier field in

[0410] carries the identifier of the first interface. For another example, if the identifier of the second node is the IPv6 address of the second node, then the

[0411] Reference Figure 9 , Figure 9The figure shows a format schematic diagram of a resource identification object in a protocol message provided by an embodiment of the present application. The resource identification object includes a flag field and an fg-client ID field. The flag field includes an O indication bit and an I indication bit. The O indication bit carries a first identifier. For example, when the O indication bit is 1, it represents an incoming interface identifier; when the O indication bit is 0, it represents an outgoing interface identifier. The I indication bit indicates that the resource identification object is used to carry the fg-client ID. Alternatively, the fg-client ID type can also be indicated by the C Type field corresponding to the resource identification object.

[0412] In some embodiments, the first protocol message, the second protocol message, or the third protocol message further includes a bandwidth object, which is used to carry bandwidth information. For example, the bandwidth object includes at least one of a maximum link bandwidth TLV or a maximum reservable link bandwidth TLV. For example, please refer to the appendix Figure 10 , appendix Figure 10 The figure shows a format schematic diagram of the maximum link bandwidth TLV, and the maximum link bandwidth TLV carries bandwidth information. Please refer to the appendix Figure 11 , appendix Figure 11 The figure shows a format schematic diagram of the maximum reservable link bandwidth TLV, and the maximum reservable link bandwidth TLV carries bandwidth information.

[0413] In some embodiments, the first protocol message, the second protocol message, or the third protocol message further includes first resource information including time slot information, and the first protocol message further includes a time slot TLV, which is used to carry the time slot information. The time slot TLV refers to a TLV used to carry the 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 12 , appendix Figure 12The format schematic diagram 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 the slot num field 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. For example, if the bandwidth mode used by the small-granularity channel, the bandwidth of the end-to-end path is carried by the bandwidth object. If the small-granularity channel uses the time slot mode, the extended time slot TLV carries the time slot information.

[0414] In some embodiments, the first protocol message, the second protocol message, or the third protocol message further includes an Attribute Flags TLV, and the Attribute Flags TLV carries a type identifier, and the type identifier is used to indicate small-granularity services or large-granularity services. For example, please refer to Figure 13 , Figure 13 The format schematic diagram of the Attribute Flags TLV is shown, Figure 13 The Attribute Flags TLV shown is used to carry the type identifier indicating small-granularity services or large-granularity services. For example, when carrying the path information of the small-granularity channel type through the RSVP protocol, the Attribute Flags TLV (Type 1) defined by the Attributes TLV is used to add the identifier Flag of the small-granularity channel. For example, the small-granularity channel type is identified by a value of 19.

[0415] See Figure 14 , which is the structural schematic diagram of a communication device provided by an embodiment of the present application. Figure 14 The communication device shown is disposed at the first node and is used to execute the method executed by the first node provided in the above embodiments.

[0416] The communication device 700 includes an obtaining unit 710 and a sending unit 720.

[0417] The obtaining unit 710 is used to obtain the first path information of the end-to-end path to be established. The end-to-end path is used to carry small-granularity services or large-granularity services. The first path information includes the identifier of the second node, the first resource information, and the identifier of the first interface. The first resource information is used to indicate the first resource allocated for small-granularity services or large-granularity services. The second node includes a first interface, and the first interface is used to provide the first resource;

[0418] The sending unit 720 is used to send the first path information to the second node.

[0419] In a possible implementation, the first path information further includes an identifier of a third node, second resource information, and an identifier of a second interface. The second resource information is used to indicate second resources allocated for small-granularity services or large-granularity services. The third node includes the second interface, and the second interface is used to provide the second resources.

[0420] In a possible implementation, the sending unit 720 is further configured to send second path information, where the second path information includes an identifier of a third node, second resource information, and an identifier of a second interface. The second resource information is used to indicate second resources allocated for small-granularity services or large-granularity services. The third node includes the second interface, and the second interface is used to provide the second resources.

[0421] In a possible implementation, the first path information and the second path information are sent in parallel.

[0422] In a possible implementation, the first path information further includes a type identifier, and the type identifier is used to indicate small-granularity services or large-granularity services.

[0423] In a possible implementation, the first path information further includes a flow identifier, and the flow identifier is used to identify a data flow of a small-granularity service or a data flow of a large-granularity service.

[0424] In a possible implementation, the first path information further includes a first identifier, and the first identifier indicates an outgoing interface corresponding to the flow identifier or an incoming interface corresponding to the flow identifier.

[0425] In a possible implementation, the sending unit 720 is configured to obtain a first protocol message, where the first protocol message is used to carry the first path information; and send the first protocol message to a second node.

[0426] In a possible implementation, the first protocol message includes a path message in a Resource Reservation Protocol - Traffic Engineering (RSVP-TE) protocol, a reservation (Resv) message, or a Path Computation Element Protocol (PCEP) protocol message.

[0427] In a possible implementation, the first protocol message includes an Explicit Route Object (ERO) or a Record Route Object (RRO). The ERO or the RRO includes sub-objects, and the sub-objects include an identifier of the second node and an identifier of the first interface.

[0428] In a possible implementation, the first protocol message includes a Resource Identifier Object. The Resource Identifier Object carries the flow identifier and the first identifier. The flow identifier is used to identify a data flow of a small-granularity service or a data flow of a large-granularity service, and the first identifier indicates an outgoing interface corresponding to the flow identifier or an incoming interface corresponding to the flow identifier.

[0429] In a possible implementation, the first resource information includes bandwidth information, and the first protocol message further includes a bandwidth object, where the bandwidth object is used to carry the bandwidth information.

[0430] In a possible implementation, the first resource information includes time slot information, and the first protocol message further includes a time slot type length value TLV, where the time slot TLV is used to carry the time slot information.

[0431] In a possible implementation, the first protocol message further includes an attribute flag TLV, where the attribute flag TLV carries a type identifier, and the type identifier is used to indicate small-granularity services or large-granularity services.

[0432] In a possible implementation, the sending unit 720 is further configured to, in response to receiving a second protocol message from a second node, send a notification message to the controller, where the second protocol message indicates that the path segment corresponding to the second node in the end-to-end path is successfully established, and the notification message is used to notify that the end-to-end path is established.

[0433] In a possible implementation, the second protocol message carries first path information.

[0434] In a possible implementation, the second protocol message includes a reservation Resv message in an RSVP-TE protocol message or a PCEP protocol message.

[0435] In a possible implementation, the second node is a node downstream of the first node in the end-to-end path.

[0436] In a possible implementation, the first node is the head node in the end-to-end path, and the second node is an intermediate node or a tail node in the end-to-end path.

[0437] In a possible implementation, the end-to-end path includes a small-granularity channel, where the small-granularity channel is used to carry small-granularity services, the first interface includes a FlexE client interface, and the flow identifier of the small-granularity service includes a small-granularity customer fg-client identifier; or,

[0438] The end-to-end path includes a large-granularity channel, where the large-granularity channel is used to carry large-granularity services, the first interface includes a flexible Ethernet FlexE physical interface, and the flow identifier of the large-granularity service includes a flexible Ethernet customer FlexE client identifier.

[0439] In a possible implementation, the obtaining unit 710 is configured to receive path information of the end-to-end path from the controller.

[0440] Appendix Figure 14The described device embodiments are merely illustrative. For example, the above division of units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. In each embodiment of the present application, the functional units may be integrated in a processing unit, or each unit may exist physically alone, or two or more units may be integrated in one unit.

[0441] Regarding the appendix Figure 14 For the device in the embodiment, the specific manner in which each module performs operations has been described in detail in the relevant method embodiments, and will not be elaborated here. Appendix Figure 14 The various method embodiments related to the communication device and path information processing provided by the embodiment belong to the same concept. The specific implementation process can be seen in the method embodiments and will not be repeated here.

[0442] See Figure 15 , this figure is a schematic structural diagram of a communication device provided by an embodiment of the present application. Figure 15 The communication device 730 shown is used to execute the method performed by the second node provided in the above embodiment. The communication device 730 includes a receiving unit 712 and a processing unit 722.

[0443] The receiving unit 712 is used to receive first path information of an end-to-end path from a first node. The end-to-end path is used to carry small-granularity services or large-granularity services. The first path information includes the identifier of the second node, first resource information, and the identifier of a first interface. The first resource information is used to indicate the first resources allocated for small-granularity services or large-granularity services. The second node includes a first interface, and the first interface is used to provide the first resources;

[0444] The processing unit 722 is used to establish a path segment corresponding to the second node in the end-to-end path based on the first path information.

[0445] In a possible implementation manner, the first path information further includes the identifier of a third node, second resource information, and the identifier of a second interface. The second resource information is used to indicate the second resources allocated for small-granularity services or large-granularity services. The third node includes a second interface, and the second interface is used to provide the second resources. The device further includes:

[0446] A sending unit, configured to send second path information to the third node. The second path information includes the identifier of the third node, second resource information, and the identifier of the second interface.

[0447] In a possible implementation manner, the processing unit 722 is configured to determine, based on the first resource information, the first resources from the resources available at the first interface and reserve the first resources for use in the end-to-end path.

[0448] In a possible implementation, the first resource information includes bandwidth information and / or time slot information. The bandwidth information is used to indicate the amount of bandwidth reserved for the end-to-end path. The time slot information includes at least one of a time slot identifier and / or the number of time slots. The processing unit 722 is configured to determine a target time slot from the time slots occupied by the first interface based on the time slot identifier, and reserve the target time slot for use by the end-to-end path, where the identifier of the target time slot matches the time slot identifier; or, determine a target time slot from the available time slots of the first interface based on the number of time slots, and reserve the target time slot for use by the end-to-end path, where the number of the target time slots matches the number of time slots; or, divide a target bandwidth from the available bandwidth of the first interface based on the bandwidth information and reserve the target bandwidth for use by the end-to-end path, where the amount of the target bandwidth matches the amount of bandwidth indicated by the bandwidth information.

[0449] In a possible implementation, the end-to-end path includes a small particle channel for carrying small particle services or a large particle channel for carrying large particle services. The first path information further includes a type identifier, which is used to indicate small particle services or large particle services.

[0450] The processing unit 722 is configured to, in response to the type identifier indicating small particle services, the second node establish a small particle path segment corresponding to the second node in the small particle channel based on the first path information; or, in response to the type identifier indicating large particle services, the second node establish a large particle path segment corresponding to the second node in the large particle channel based on the first path information.

[0451] In a possible implementation, the first path information further includes a flow identifier, which is used to identify the data flow of small particle services or the data flow of large particle services.

[0452] In a possible implementation, the first path information further includes a first identifier, which indicates the outgoing interface corresponding to the flow identifier or the incoming interface corresponding to the flow identifier.

[0453] In a possible implementation, the receiving unit 712 is configured to receive a first protocol message from the first node, where the first protocol message is used to carry the first path information.

[0454] In a possible implementation, the apparatus further includes:

[0455] A sending unit, configured to send a second protocol message indicating that the path segment corresponding to the second node in the end-to-end path is successfully established.

[0456] In a possible implementation, the second node is a node downstream of the first node in the end-to-end path.

[0457] In a possible implementation, the first node is the head node in the end-to-end path, and the second node is an intermediate node or a tail node in the end-to-end path.

[0458] Appendix Figure 15 The described device embodiments are merely illustrative. For example, the above division of units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In each embodiment of the present application, the functional units can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit.

[0459] Regarding the appendix Figure 15 For the device in the embodiment, the specific manner in which each module performs operations has been described in detail in the relevant method embodiments, and will not be elaborated here. Appendix Figure 15 The communication device provided by the embodiment and each method embodiment related to path information processing belong to the same concept. The specific implementation process is detailed in the method embodiments and will not be repeated here.

[0460] See Figure 16 , this figure is a schematic structural diagram of another communication device provided by the embodiment of the present application. Figure 16 The shown communication device 800 can be provided as a forwarding node (such as the first node or the second node in the method embodiment), or can be provided as a controller. The communication device 800 includes a processor 810 and a communication interface 820. The processor 810 and the communication interface 820 are coupled to each other. It can be understood that the communication interface 820 can be a transceiver or an input / output interface. Optionally, the communication device 800 can further include a memory 830, which is used to store instructions executed by the processor 810 or store input data required for the processor 810 to run instructions or store data generated after the processor 810 runs instructions. In one example, the communication interface 820 is used to perform the receiving operation or the sending operation executed by the first forwarding node provided in the above method embodiment, or the communication interface 820 is used to perform the receiving operation or the sending operation executed by the controller provided in the above method embodiment.

[0461] The processor 810 is used to perform other operations of the first forwarding node except for the transceiver operations. In another example, the processor 810 is used to perform other operations of the controller except for the transceiver operations.

[0462] The 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 methods of the above method embodiments.

[0463] 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 of the above method embodiment.

[0464] An embodiment of the present application further provides a communication system, which may include the first network device and the controller mentioned in the above method embodiment. The first network device is used to execute the operations performed by the first network device mentioned in the above embodiments, and the controller is used to execute the operations performed by the controller mentioned in the above embodiments, so that the communication system can execute the information processing method provided in the above embodiments.

[0465] Terms such as "first", "second", "third", "fourth", etc. (if any) in the specification, claims and drawings of the present application are used to distinguish similar objects and do not necessarily describe a specific order or sequence. It should be understood that such used data can be interchanged under appropriate circumstances so that the embodiments described here can be implemented in an order different from that shown or described here. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device that includes a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.

[0466] Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the above-described systems, devices and units can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated here.

[0467] In several embodiments provided by the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of units is only a logical service division, and there may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces, and the indirect couplings or communication connections of devices or units can be in electrical, mechanical or other forms.

[0468] The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0469] In addition, in each embodiment of the present application, each business unit can be integrated into a processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of a software business unit.

[0470] If the integrated unit is implemented in the form of a software business unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods in the various embodiments of the present application. The aforementioned storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memories (ROM, Read-Only Memory), random access memories (RAM, Random Access Memory), magnetic disks, or optical discs that can store program codes.

[0471] Those skilled in the art should be able to realize that in the above one or more examples, the operations described in the present invention can be implemented by hardware, software, firmware, or any combination thereof. When implemented using software, these operations can be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium. The computer-readable medium includes computer storage media and communication media, where the communication media includes any medium that facilitates the transfer of a computer program from one place to another. The storage media can be any available medium that can be accessed by a general-purpose or special-purpose computer.

[0472] The above specific implementation manners further elaborate on the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above is only the specific implementation manners of the present invention.

[0473] The above embodiments are only used to illustrate the technical solutions of the present application, and are not intended to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements on some of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the various embodiments of the present application.

Claims

1. A method for processing path information, characterized in that, The method includes: The first node obtains first path information of an end-to-end path to be established, where the end-to-end path is used to carry small-granularity services or large-granularity services. The first path information includes an identifier of a second node, first resource information, and an identifier of a first interface. The first resource information is used to indicate first resources allocated for the small-granularity service or the large-granularity service. The second node includes the first interface, and the first interface is used to provide the first resources. The first node sends the first path information to the second node.

2. The method according to claim 1, wherein The first path information further includes an identifier of a third node, second resource information, and an identifier of a second interface. The second resource information is used to indicate second resources allocated for the small-granularity service or the large-granularity service. The third node includes the second interface, and the second interface is used to provide the second resources.

3. The method according to claim 1, characterized in that, The method further includes: The first node sends second path information to a third node. The second path information includes an identifier of the third node, second resource information, and an identifier of the second interface. The second resource information is used to indicate second resources allocated for the small-granularity service or the large-granularity service. The third node includes the second interface, and the second interface is used to provide the second resources.

4. The method according to claim 3, characterized in that, The first path information and the second path information are sent in parallel.

5. The method according to any one of claims 1 to 4, characterized in that The first path information further includes a type identifier, which is used to indicate the small-granularity service or the large-granularity service.

6. The method according to claim 1, characterized in that, The first path information further includes a flow identifier, which is used to identify a data flow of the small-granularity service or a data flow of the large-granularity service.

7. The method according to claim 6, wherein The first path information further includes a first identifier, which indicates an outgoing interface corresponding to the flow identifier or an incoming interface corresponding to the flow identifier.

8. The method according to claim 1, wherein The first node sending the first path information to the second node includes: The first node obtains a first protocol message, which is used to carry the first path information. The first node sends the first protocol message to the second node.

9. The method according to claim 8, wherein The first protocol message includes a path message in a Resource Reservation Protocol - Traffic Engineering (RSVP-TE) protocol, a reservation (Resv) message, or a Path Computation Element Protocol (PCEP) protocol message.

10. The method according to claim 8, wherein The first protocol message includes an Explicit Route Object (ERO) or a Record Route Object (RRO). The ERO or RRO includes sub-objects, and the sub-objects include an identifier of the second node and an identifier of the first interface.

11. The method according to claim 8, characterized in that, The first protocol message includes a Resource Identification Object, which carries a flow identifier and a first identifier. The flow identifier is used to identify a data flow of the small-granularity service or a data flow of the large-granularity service. The first identifier indicates an outgoing interface corresponding to the flow identifier or an incoming interface corresponding to the flow identifier.

12. The method according to claim 8, wherein The first resource information includes bandwidth information, and the first protocol message further includes a Bandwidth Object, which is used to carry the bandwidth information.

13. The method according to claim 8, wherein The first resource information includes time slot information, and the first protocol message further includes a time slot type length value (TLV), and the time slot TLV is used to carry the time slot information.

14. The method according to claim 8, wherein The first protocol message further includes an attribute flag TLV, and the attribute flag TLV carries a type identifier, and the type identifier is used to indicate the small-granularity service or the large-granularity service.

15. The method according to claim 1, wherein The method further includes: In response to receiving a second protocol message from the second node, the first node sends a notification message to the controller, where the second protocol message indicates that the path segment corresponding to the second node in the end-to-end path is successfully established, and the notification message is used to notify that the end-to-end path is established.

16. The method according to claim 15, characterized in that, The second protocol message carries the first path information.

17. The method according to claim 16, characterized in that The second protocol message includes a reservation Resv message in an RSVP-TE protocol message or a PCEP protocol message.

18. The method according to any one of claims 1 to 17, characterized in that, The second node is a node downstream of the first node in the end-to-end path.

19. The method according to claim 18, characterized in that, The first node is the head node in the end-to-end path, and the second node is an intermediate node or a tail node in the end-to-end path.

20. The method according to any one of claims 1 to 19, characterized in that, The end-to-end path includes a small-granularity channel, which is used to carry small-granularity services, the first interface includes a FlexE client interface, and the flow identifier of the small-granularity service includes a small-granularity customer fg-client identifier; Or, The end-to-end path includes a large-granularity channel, which is used to carry large-granularity services, the first interface includes a flexible Ethernet FlexE physical interface, and the flow identifier of the large-granularity service includes a flexible Ethernet customer FlexEclient identifier.

21. The method according to any one of claims 1 to 19, characterized in that, The first node obtains the path information of the end-to-end path to be established, including: The first node receives the path information of the end-to-end path from the controller.

22. A method for processing path information, characterized in that The method includes: The second node receives the first path information of the end-to-end path from the first node, the end-to-end path is used to carry small-granularity services or large-granularity services, the first path information includes the identifier of the second node, the first resource information, and the identifier of the first interface, the first resource information is used to indicate the first resources allocated for the small-granularity service or the large-granularity service, the second node includes the first interface, and the first interface is used to provide the first resources; The second node establishes the path segment corresponding to the second node in the end-to-end path based on the first path information.

23. The method according to claim 22, wherein The first path information further includes the identifier of the third node, the second resource information, and the identifier of the second interface, the second resource information is used to indicate the second resources allocated for the small-granularity service or the large-granularity service, the third node includes the second interface, and the second interface is used to provide the second resources, and the method further includes: The second node sends second path information to the third node, and the second path information includes the identifier of the third node, the second resource information, and the identifier of the second interface.

24. The method according to claim 22, wherein The second node establishing the path segment corresponding to the second node in the end-to-end path based on the first path information includes: Based on the first resource information, the second node determines the first resource from the resources available at the first interface and reserves the first resource for use by the end-to-end path.

25. The method according to claim 24, wherein The first resource information includes bandwidth information or / and time slot information. The bandwidth information is used to indicate the amount of bandwidth reserved for the end-to-end path. The time slot information includes at least one of a time slot identifier or / and the number of time slots. Based on the first resource information, the second node determines the first resource from the resources available at the first interface and reserves the first resource for use by the end-to-end path, including: Based on the time slot identifier, the second node determines a target time slot from the time slots occupied by the first interface and reserves the target time slot for use by the end-to-end path, where the identifier of the target time slot matches the time slot identifier; or, Based on the number of time slots, the second node determines a target time slot from the available time slots of the first interface and reserves the target time slot for use by the end-to-end path, where the number of the target time slots matches the number of time slots; or, Based on the bandwidth information, the second node divides a target bandwidth from the available bandwidth of the first interface and reserves the target bandwidth for use by the end-to-end path, where the amount of the target bandwidth matches the amount of bandwidth indicated by the bandwidth information.

26. The method according to claim 22, wherein The end-to-end path includes a small-granularity channel for carrying small-granularity services or a large-granularity channel for carrying large-granularity services. The first path information further includes a type identifier, which is used to indicate the small-granularity service or the large-granularity service; The second node establishing the path segment corresponding to the second node in the end-to-end path based on the first path information includes: In response to the type identifier indicating a small-granularity service, the second node establishes a small-granularity path segment corresponding to the second node in the small-granularity channel based on the first path information; Or, In response to the type identifier indicating a large-granularity service, the second node establishes a large-granularity path segment corresponding to the second node in the large-granularity channel based on the first path information.

27. The method according to claim 22, characterized in that, The first path information further includes a flow identifier, which is used to identify the data flow of the small-granularity service or the data flow of the large-granularity service.

28. The method according to claim 27, wherein The first path information further includes a first identifier, which indicates the outgoing interface corresponding to the flow identifier or the incoming interface corresponding to the flow identifier.

29. The method according to any one of claims 22 to 28, characterized in that, The second node receiving the first path information of the end-to-end path from the first node includes: The second node receives a first protocol message from the first node, and the first protocol message is used to carry the first path information.

30. The method according to any one of claims 22 to 29, characterized in that, After the second node establishes the path segment corresponding to the second node in the end-to-end path based on the first path information, the method further includes: The second node sends a second protocol message to the first node, and the second protocol message indicates that the path segment corresponding to the second node in the end-to-end path is successfully established.

31. The method according to any one of claims 22 to 30, characterized in that, The second node is a node downstream of the first node in the end-to-end path.

32. The method according to claim 31, wherein The first node is the head node in the end-to-end path, and the second node is an intermediate node or a tail node in the end-to-end path.

33. A communication device, characterized in that, Disposed at the first node, the device includes a plurality of functional modules that interact with each other to implement the method according to any one of claims 1-21.

34. A communication device, characterized in that, Disposed at the second node, the device includes a plurality of functional modules that interact with each other to implement the method according to any one of claims 22-32.

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

36. A communication system, characterized in that, The system includes: a first node that executes the method according to any one of claims 1-21 above and a second node that executes the method according to any one of claims 22-32 above; or, The system includes the communication device according to claim 33 and the communication device according to claim 34.