CN118054891A - Time slot adjustment method, communication device, and computer-readable storage medium - Google Patents
Time slot adjustment method, communication device, and computer-readable storage medium Download PDFInfo
- Publication number
- CN118054891A CN118054891A CN202211440222.6A CN202211440222A CN118054891A CN 118054891 A CN118054891 A CN 118054891A CN 202211440222 A CN202211440222 A CN 202211440222A CN 118054891 A CN118054891 A CN 118054891A
- Authority
- CN
- China
- Prior art keywords
- time slot
- client
- communication device
- message
- slots
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 322
- 238000000034 method Methods 0.000 title claims abstract description 105
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 239000002245 particle Substances 0.000 claims description 45
- 238000012545 processing Methods 0.000 claims description 37
- 230000004044 response Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 4
- 239000000523 sample Substances 0.000 claims 2
- 230000008569 process Effects 0.000 abstract description 26
- 108091006146 Channels Proteins 0.000 description 120
- 238000007726 management method Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 26
- 230000005540 biological transmission Effects 0.000 description 24
- 101100520014 Ceratodon purpureus PHY1 gene Proteins 0.000 description 14
- 238000012790 confirmation Methods 0.000 description 14
- 238000013507 mapping Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 9
- 238000011144 upstream manufacturing Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 239000008187 granular material Substances 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 101100520018 Ceratodon purpureus PHY2 gene Proteins 0.000 description 2
- 238000013506 data mapping Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 101100520025 Avena sativa PHYA3 gene Proteins 0.000 description 1
- 101100520026 Avena sativa PHYA4 gene Proteins 0.000 description 1
- 101100518633 Caenorhabditis elegans dpy-18 gene Proteins 0.000 description 1
- 101150005660 PHY1 gene Proteins 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
A time slot adjustment method, a communication device and a computer readable storage medium are disclosed to reduce the forwarding delay of traffic streams. The method is applied to a communication system comprising a first communication device, a second communication device and a third communication device. The first communication device is connected to the second communication device through the first FlexE channel and to the third communication device through the second FlexE channel. The method comprises the following steps: the first communication device receives a first message sent by the second communication device, wherein the first message comprises an identification of a first client, the first client is bound with a first FlexE channel, the first message indicates the first communication device to adjust a time slot occupied by a second client according to the time slot occupied by the first client, and the second client is bound with a second FlexE channel; the first communication device processes the first message.
Description
Technical Field
The present application relates to the field of communications technologies, and in particular, to a time slot adjustment method, a communications device, and a computer readable storage medium.
Background
FlexE is an interface technology for realizing service isolation and network slicing, and has been developed rapidly in recent years and is widely accepted by various large standard organizations. The optical internet forum (OpticalInternet Forum, OIF) promulgates the FlexE standard. The FlexE technology realizes decoupling of a media access control (media AccessControl, MAC) layer and a physical link interface layer (PHY) by introducing a flexible ethernet protocol layer (english may also be called FlexE Shim layer) on the basis of IEEE802.3, thereby realizing flexible rate matching. Flex Shim dispatches and distributes data of a plurality of FlexE clients (clients) to a plurality of different sub-channels in a time slot mode based on a time division multiplexing (English: time Division Multiplexing, TDM) distribution mechanism, so that hard isolation of transmission pipeline bandwidths is realized, one service data stream can be distributed to one or a plurality of time slots, and matching of various rate services is realized.
To improve bandwidth utilization FlexE introduced a small grain (Fine Granularity Unit, FGU) technique to achieve fine slicing of fine-grained grains on the mega-scale. Specifically, for a standard FlexE Client interface or a common ethernet interface, each FlexE Client interface or ethernet interface is divided into M sub-slots in the time domain, and each sub-user (sub-Client) interface occupies at least one bandwidth of a sub-slot for data transmission, where the sub-slot is a small granule slot. The sub-user interface may also be referred to as a sub-slot interface, a low-order slot interface, a sub-slot channel, a low-order slot channel, or a small particle channel. The granularity of the slot bandwidth of each sub-slot is typically less than 5Gbps, which may be an integer multiple of 10Mbps, for example, to carry more low rate traffic and make efficient use of bandwidth.
According to the service requirement, there may be a case of adjusting the bandwidth of the small or large particle channel, that is, adjusting the number of sub-slots occupied by the small particle channel. The bandwidth is reduced to reduce the number of sub-slots occupied by the small particle channel, and the bandwidth is increased to increase the number of sub-slots occupied by the small particle channel. After the bandwidth of the current small particle channel is adjusted, the issued sub-time slot is random rather than the optimal sub-time slot, which can lead to larger forwarding delay of a single network device in the forwarding process of the network device, and further lead to larger end-to-end service delay.
Disclosure of Invention
The application provides a time slot adjusting method, a communication device and a computer readable storage medium, which are used for reducing the end-to-end time delay of a service flow.
In a first aspect, the present application provides a method for adjusting a time slot. The method can be applied to a metropolitan area network or a wide area network. The method is performed by a first communication device, such as a network device, e.g. a router or a multi-layer switch. The method comprises the following steps: the first communication device receives the first message sent by the second communication device and processes the first message. Wherein the first communication device and the second communication device are connected by a first flexible ethernet channel (FlexE channel). The first message includes an identification of a first client, the first client being bound to the first FlexE channel, the first message indicating to the first communication device to adjust a time slot occupied by a second client according to the time slot occupied by the first client, wherein the second client is bound to a second FlexE channel between the first communication device and the third communication device. According to the application, the first communication device can adjust the time slot occupied by the second client based on the time slot occupied by the first FlexE channel binding adjacent to the second FlexE channel according to the first message, so that the time slot allocation between adjacent channels is more reasonable, the time delay of forwarding the service flow of a single network device is reduced, and the end-to-end service time delay is further reduced.
In one possible implementation, the first message is carried in FlexE small-particle-based frames. The transmission interval between FlexE small-particle base frames is short, and the small-particle base frames are transmitted between the first communication device and the second communication device in a code block mode, so that the efficiency of time slot adjustment can be improved.
In one possible implementation, the first message is carried in the base frame overhead of FlexE small-particle base frames. The transmission interval between FlexE small-particle base frames is short, and the small-particle base frames are transmitted between the first communication device and the second communication device in a code block mode, so that the efficiency of time slot adjustment can be improved.
In one possible implementation, the first message is carried in an idle code block of a base frame of FlexE small-granule base frames. The transmission interval between FlexE small-particle base frames is short, and the small-particle base frames are transmitted between the first communication device and the second communication device in a code block mode, so that the efficiency of time slot adjustment can be improved.
In one possible implementation, the first message is carried in FlexE overhead frames.
In one possible implementation, both the first client and the second client carry small particle traffic.
In one possible implementation, processing the first message includes: obtaining a first time slot set according to the first message and the time slots occupied by the first client; and adjusting the time slot occupied by the second client from the second time slot set to the first time slot set. When the first communication device is an intermediate node in the forwarding path of the traffic flow, the first communication device needs to respond to the first message to adjust the time slot occupied by the second client so as to reduce the time delay of forwarding the traffic flow in the first communication device.
In one possible implementation, the number of slots of the first set of slots is the same as the number of slots of the second set of slots. When the bandwidth of the service flow does not need to be adjusted or the bandwidth of the service flow is adjusted, the first communication device can only perform time delay adjustment on the service flow, namely only adjust the time slot positions of the time slots occupied by the first client and the second client, but not adjust the time slot number of the occupied time slots.
In one possible implementation, the number of slots of the first set of slots is different from the number of slots of the second set of slots, and the number of slots of the first set of slots is the same as the number of slots of the slots occupied by the first client. When the bandwidth of the service flow needs to be adjusted and the time delay of the service flow needs to be optimized, the first communication device can synchronously adjust the bandwidth and the time delay of the service flow, namely, not only the time slot positions of the time slots occupied by the first client and the second client are adjusted, but also the time slot number of the occupied time slots is adjusted. If the bandwidth is increased, the number of occupied time slots is increased; if the bandwidth is reduced, the number of occupied slots is reduced.
In one possible implementation, obtaining the first set of slots from the first message and the slots occupied by the first client includes: and inputting the time slot occupied by the first client into a time slot allocation algorithm according to the first message so as to obtain a first time slot set output by the time slot allocation algorithm. By means of the time slot allocation algorithm, the first time slot set capable of reducing the forwarding time delay of the service flow in the first communication device can be accurately obtained.
In one possible implementation manner, after the time slot occupied by the second client is adjusted from the second time slot set to the first time slot set, the method further includes: and sending a second message to the third communication device through the second FlexE channel, wherein the second message comprises an identifier of a second client, the second message instructs the third communication device to adjust a time slot occupied by a fourth client according to a time slot occupied by the third client, the third client is bound with the second FlexE channel, the fourth client is bound with a third FlexE channel between the third communication device and the fourth communication device, and the identifier of the second client is the same as the identifier of the third client. After the first communication device completes the time slot adjustment of the second client, the third communication device is instructed to adjust the time slot occupied by the fourth client, so that the end-to-end time slot adjustment of the service flow can be realized.
In one possible implementation, after receiving the first message sent by the second communication device, the method includes: an acknowledgement message for the first message is sent to the second communication device. The confirmation of the first message can inform the second communication device that the first communication device has received the first message, thereby avoiding interruption of the end-to-end time slot adjustment process caused by the first communication device not receiving the first message, and ensuring continuation of the end-to-end time slot adjustment process.
In one possible implementation, processing the first message includes: an acknowledgement message for the first message is sent to the second communication device. When the first communication device is a tail node in the forwarding path of the traffic flow, the first communication device sends acknowledgement for the first message to the second communication device because there is no other communication device connected with the first communication device through FlexE channel, so that the end-to-end time slot adjustment is completed.
In one possible implementation, before receiving the first message sent by the second communication device, the method includes: receiving a time slot negotiation request message from a second communication device, wherein the time slot negotiation request message comprises an identification of a first client, and the time slot negotiation request message is used for indicating that a time slot occupied by the first client is adjusted from a third time slot set to a fourth time slot set; transmitting a time slot negotiation acknowledgement message to the second communication device, the time slot negotiation acknowledgement message including an identification of the first client, the time slot negotiation acknowledgement message indicating that the first communication device has acknowledged the time slot negotiation request message; receiving a time slot adjustment completion message from the second communication device, wherein the time slot adjustment completion message comprises an identifier of a first client, the time slot adjustment completion message indicates that the second communication device has adjusted a time slot occupied by a fifth client from a third time slot set to a fourth time slot set, the fifth client is bound with the first FlexE channel, and the identifier of the first client is the same as the identifier of the fifth client; in response to the slot adjustment completion message, the slots occupied by the first client are adjusted from the third set of slots to the fourth set of slots. The first client and the fifth client bound by the same FlexE channel complete the adjustment of the time slot through the time slot negotiation, so that the time slots occupied by the first client and the fifth client are the same, and the data stream can be completely received and transmitted through the first FlexE channel transmission.
In one possible implementation, the time slot occupied by the first client is a receiving time slot, the time slot occupied by the second client is a transmitting time slot, and the direction of the instant adjustment may be consistent with the transmission direction of the traffic stream. Or the time slot occupied by the first client is a transmitting time slot, the time slot occupied by the second client is a receiving time slot, and the direction of the instant message adjustment can be opposite to the transmission direction of the service stream.
In a second aspect, the present application provides a method for adjusting a time slot. The method is performed by a second communication device. The second communication device may be a head node or an intermediate node in the traffic forwarding path. The method comprises the following steps: the second communication device sends a first message to the first communication device, the first message including an identification of a first client, the first client being bound to a first FlexE channel between the first communication device and the second communication device, the first message indicating to the first communication device to adjust a time slot occupied by a second client according to the time slot occupied by the first client, wherein the second client is bound to a second FlexE channel between the first communication device and the third communication device. The second communication device sends the first message to the first communication device, so that the first communication device can adjust the time slot occupied by the second client based on the time slot occupied by the first FlexE channel binding adjacent to the second FlexE channel according to the first message, so that the time slot allocation between adjacent channels is more reasonable, the time delay of forwarding the service flow of a single network device is reduced, and the end-to-end service time delay is further reduced.
In one possible implementation, the first message is carried in FlexE small-particle-based frames.
In one possible implementation, the first message is carried in the base frame overhead of FlexE small-particle base frames.
In one possible implementation, the first message is carried in FlexE overhead frames.
In one possible implementation, both the first client and the second client carry small particle traffic.
In one possible implementation, before sending the first message to the first communication device, the method includes: receiving a third message from the network management device, the third message including an identification of a fifth client and a fourth set of timeslots of the fifth client, the fifth client being bound to the first FlexE channel; and adjusting the time slot occupied by the fifth client from the third time slot set to a fourth time slot set.
In one possible implementation, the number of slots of the third set of slots is the same as the number of slots of the fourth set of slots.
In one possible implementation, the number of slots of the third set of slots is different from the number of slots of the fourth set of slots.
In a third aspect, the present application provides a slot adjustment method. The method is performed by a communication system comprising a first communication device, a second communication device, and a third communication device. The method comprises the following steps:
The second communication device sends a first message to the first communication device, the first message including an identification of a first client, the first client being bound to a first FlexE channel between the first communication device and the second communication device, the first message indicating to the first communication device to adjust a time slot occupied by a second client according to the time slot occupied by the first client, wherein the second client is bound to a second FlexE channel between the first communication device and the third communication device.
The first communication device receives a first message sent by the second communication device, wherein the first message comprises an identification of a first client, the first client is bound with a first FlexE channel between the first communication device and the second communication device, the first message indicates the first communication device to adjust a time slot occupied by the second client according to the time slot occupied by the first client, and the second client is bound with a second FlexE channel between the first communication device and the third communication device;
the first communication device processes the first message.
In one possible implementation, the first message is carried in FlexE small-particle-based frames.
In one possible implementation, the first message is carried in the base frame overhead of FlexE small-particle base frames.
In one possible implementation, the first message is carried in FlexE overhead frames.
In one possible implementation, both the first client and the second client carry small particle traffic.
In one possible implementation, the processing of the first message by the first communication device includes: the first communication device obtains a first time slot set according to the first message and the time slots occupied by the first client; the first communication device adjusts the time slot occupied by the second client from the second time slot set to the first time slot set.
In one possible implementation, the number of slots of the first set of slots is the same as the number of slots of the second set of slots.
In one possible implementation, the number of slots of the first set of slots is different from the number of slots of the second set of slots, and the number of slots of the first set of slots is the same as the number of slots of the slots occupied by the first client.
In one possible implementation, the obtaining, by the first communication device, the first set of slots according to the first message and the slots occupied by the first client includes: the first communication device inputs the time slot occupied by the first client into a time slot allocation algorithm according to the first message so as to obtain a first time slot set output by the time slot allocation algorithm.
In one possible implementation, after the first communication device adjusts the time slot occupied by the second client from the second time slot set to the first time slot set, the method further includes: the first communication device sends a second message to the third communication device through a second FlexE channel, the second message comprises an identifier of a second client, the second message indicates the third communication device to adjust a time slot occupied by a fourth client according to the time slot occupied by the third client, the third client is bound with a second FlexE channel, the fourth client is bound with a third FlexE channel between the third communication device and the fourth communication device, and the identifier of the second client is identical to the identifier of the third client; the third communication device processes the second message.
In one possible implementation, after receiving the first message sent by the second communication device, the first communication device includes: the first communication device sends an acknowledgement message for the first message to the second communication device.
In one possible implementation, the processing of the first message by the first communication device includes: the first communication device sends an acknowledgement message for the first message to the second communication device.
In one possible implementation, before the first communication device receives the first message sent by the second communication device, the method includes: the second communication device sends a time slot negotiation request message to the first communication device, wherein the time slot negotiation request message comprises an identification of a first client, and the time slot negotiation request message is used for indicating that a time slot occupied by the first client is adjusted from a third time slot set to a fourth time slot set; the first communication device sends a time slot negotiation confirmation message to the second communication device, wherein the time slot negotiation confirmation message comprises an identification of a first client, and the time slot negotiation confirmation message indicates that the first communication device confirms the time slot negotiation request message; the second communication device responds to the time slot negotiation confirmation message, the time slot occupied by the fifth client is adjusted from the third time slot set to a fourth time slot set, the fifth client is bound with the first FlexE channel, and the identification of the first client is the same as that of the fifth client; the second communication device sends a time slot adjustment completion message to the first communication device, wherein the time slot adjustment completion message comprises an identifier of the first client, and the time slot adjustment completion message indicates that the second communication device has adjusted the third time slot set to a fourth time slot set; the first communication device responds to the time slot adjustment completion message, and adjusts the time slot occupied by the first client from the third time slot set to a fourth time slot set.
In one possible implementation, the time slot occupied by the first client is a receiving time slot, and the time slot occupied by the second client is a transmitting time slot; or the time slot occupied by the first client is a transmitting time slot, and the time slot occupied by the second client is a receiving time slot.
In one possible implementation, before the second communication device sends the first message to the first communication device, the method includes: receiving a third message from the network management device, the third message including an identification of a fifth client and a fourth set of timeslots of the fifth client; and adjusting the time slot occupied by the fifth client from the third time slot set to a fourth time slot set.
In one possible implementation, the number of slots of the third set of slots is the same as the number of slots of the fourth set of slots.
In one possible implementation, the number of slots of the third set of slots is different from the number of slots of the fourth set of slots.
In a fourth aspect, the present application provides a communication device. The device comprises a receiving and transmitting module and a processing module. The transceiver module is configured to receive a first message sent by the second communication device, where the first message includes an identifier of a first client, the first client is bound with a first FlexE channel between the first communication device and the second communication device, and the first message indicates the first communication device to adjust a time slot occupied by the second client according to the time slot occupied by the first client, where the second client is bound with a second FlexE channel between the first communication device and the third communication device. And the processing module is used for processing the first message.
In one possible implementation, the first message is carried in FlexE small-particle-based frames.
In one possible implementation, the first message is carried in the base frame overhead of FlexE small-particle base frames.
In one possible implementation, the first message is carried in FlexE overhead frames.
In one possible implementation, both the first client and the second client carry small particle traffic.
In one possible implementation manner, the processing module is specifically configured to obtain a first time slot set according to the first message and the time slot occupied by the first client; the processing module is specifically configured to adjust a time slot occupied by the second client from the second time slot set to the first time slot set.
In one possible implementation, the number of slots of the first set of slots is the same as the number of slots of the second set of slots.
In one possible implementation, the number of slots of the first set of slots is different from the number of slots of the second set of slots, and the number of slots of the first set of slots is the same as the number of slots of the slots occupied by the first client.
In one possible implementation, the processing module is configured to input, according to the first message, a time slot occupied by the first client into a time slot allocation algorithm, so as to obtain a first time slot set output by the time slot allocation algorithm.
In one possible implementation, the transceiver module is configured to send, to the third communication device, a second message through the second FlexE channel after adjusting the time slot occupied by the second client from the second time slot set to the first time slot set, where the second message indicates to the third communication device to adjust the time slot occupied by the fourth client according to the time slot occupied by the third client, where the third client is bound to the second FlexE channel, the fourth client is bound to a third FlexE channel between the third communication device and the fourth communication device, and the identifier of the second client is the same as the identifier of the third client.
In one possible implementation, the transceiver module is configured to send an acknowledgement message for the first message to the second communication device after receiving the first message sent by the second communication device.
In one possible implementation, the processing module is configured to send an acknowledgement message for the first message to the second communication device.
In one possible implementation, the transceiver module is configured to receive a timeslot-negotiation request message from the second communications device, where the timeslot-negotiation request message includes an identifier of the first client, and the timeslot-negotiation request message is configured to instruct that a timeslot occupied by the first client is adjusted from the third timeslot set to the fourth timeslot set; the receiving and transmitting module is used for sending a time slot negotiation confirmation message to the second communication device, wherein the time slot negotiation confirmation message comprises an identifier of the first client, and the time slot negotiation confirmation message indicates that the first communication device confirms the time slot negotiation request message; the receiving and transmitting module is configured to receive a time slot adjustment completion message from the second communication device, where the time slot adjustment completion message includes an identifier of a first client, and the time slot adjustment completion message indicates that the second communication device has adjusted a time slot occupied by a fifth client from a third time slot set to a fourth time slot set, the fifth client is bound to the first FlexE channel, and the identifier of the first client is the same as the identifier of the fifth client; the processing module is used for responding to the time slot adjustment completion message, and adjusting the time slot occupied by the first client from the third time slot set to the fourth time slot set.
In one possible implementation, the time slot occupied by the first client is a receiving time slot, and the time slot occupied by the second client is a transmitting time slot; or the time slot occupied by the first client is a transmitting time slot, and the time slot occupied by the second client is a receiving time slot.
In a fifth aspect, the present application provides a communication device. The communication device comprises a processing module and a receiving and transmitting module. The processing module is used for generating a first message. The transceiver module is configured to send a first message to a first communication device. The first message includes an identification of a first client, the first client being bound to a first FlexE channel of the first communication device and the second communication device, the first message indicating the first communication device to adjust a time slot occupied by the second client according to the time slot occupied by the first client, wherein the second client is bound to a second FlexE channel of the first communication device and the third communication device.
In one possible implementation, the first message is carried in FlexE small-particle-based frames.
In one possible implementation, the first message is carried in the base frame overhead of FlexE small-particle base frames.
In one possible implementation, the first message is carried in FlexE overhead frames.
In one possible implementation, both the first client and the second client carry small particle traffic.
In one possible implementation, the transceiver module is configured to receive a third message from the network management device, where the third message includes an identification of a fifth client and a fifth set of timeslots of the fifth client, and the fifth client is bound to the first FlexE channel. And the processing module is used for adjusting the time slot occupied by the fifth client from the sixth time slot set to the fifth time slot set.
In one possible implementation, the number of slots of the fifth set of slots is the same as the number of slots of the sixth set of slots.
In one possible implementation, the number of slots of the fifth set of slots is different from the number of slots of the sixth set of slots.
In a sixth aspect, the present application provides a communication device. The communication device comprises a processor and a communication interface, the communication interface is used for communicating with other communication devices, and according to the communication interface and the processor, the time slot adjusting method in the first aspect or any one of the possible implementation manners of the second aspect or the second aspect is executed.
The communication device of the present application may be a network device such as a router or a switch, or may be a component such as an interface board in a network device, or may be a chip, and is not specifically limited. When the communication device is a chip, the operations performed by the transceiver module or the communication interface may be implemented, for example, by an interface circuit, and the operations performed by the processing module or the processor may be implemented, for example, by a processing circuit.
In a seventh aspect, the present application provides a computer-readable storage medium. The computer readable storage medium comprises instructions which, when run on a processor, perform the above-described first aspect or any one of the possible implementations of the first aspect, or the second aspect or any one of the possible implementations of the second aspect.
In an eighth aspect, the present application provides a computer program product comprising a program which, when run on a processor, performs the above-described first aspect or any one of the possible implementations of the first aspect, or the second aspect or any one of the possible implementations of the second aspect, the time slot adjustment method.
Drawings
FIG. 1 is a diagram of a FlexE generic architecture based on a flexible Ethernet protocol;
Fig. 2 is a diagram of a slot allocation scenario of FlexE Group across 4 physical link interfaces (4 PHYs are aggregated);
fig. 3 is a schematic diagram of an application scenario of FlexE communications system according to the present application;
FIG. 4 is a schematic diagram of a process for transmitting data using FlexE techniques in accordance with the present application;
FIG. 5 is a schematic diagram of the structure of an overhead frame and an overhead multiframe of the 100GE interface as set forth in the OIF IA-FLEXE-02.1 standard;
FIG. 6 is a diagram illustrating a slot allocation for a plurality FlexE Clients of N100G PHYs bundled;
Fig. 7 is a schematic diagram of a base frame encapsulation process according to the present application;
FIG. 8 is a code block format defined by IEEE 802.3;
FIG. 9 is a schematic diagram of a data structure of a sub-user interface transmission provided by the present application;
fig. 10 is a schematic diagram of a format of a multiframe package according to the present application;
fig. 11 is a schematic structural diagram of a communication system according to the present application;
fig. 12 is a flowchart of an embodiment of a method for adjusting timeslots according to the present application;
fig. 13 is a schematic flow chart of a slot negotiation provided in the present application;
fig. 14 is a flowchart of another embodiment of a slot adjusting method according to the present application;
FIG. 15 is a schematic view of OH structure of FlexE small particle-based frames provided by the present application;
fig. 16 is a flowchart illustrating another embodiment of a slot adjusting method according to the present application;
Fig. 17 is a schematic structural diagram of an embodiment of a communication device according to the present application;
fig. 18 is a schematic structural diagram of another embodiment of a communication device according to the present application;
fig. 19 is a schematic structural diagram of a communication device according to another embodiment of the present application.
Detailed Description
The application provides a time slot adjusting method, a communication device and a computer readable storage medium, which are used for reducing the end-to-end time delay of a service flow.
In the application, the Ethernet interface and the Ethernet interface are often used alternately, and the flexible Ethernet interface are often used alternately.
The prior art related to FlexE of the present application may be found in FlexE standard IAOIF-FLEXE-01.0, IA OIF-FLEXE-02.0 or IA OIF-FLEXE02.1, established by OIF, which are incorporated herein by reference in their entirety.
Fig. 1 is a diagram of a FlexE generic architecture based on a flexible ethernet protocol. As shown in fig. 1, flexE Group includes 4 PHYs. FlexE Client represents a customer data stream transmitted over a designated time slot (time slot or slots) on FlexE Group, one FlexE Group may carry multiple FlexE Client, one FlexEClient may correspond to one to multiple customer service data streams (also referred to as MAC CLIENT), and FlexE Shim provides data adaptation and conversion of FlexE Client to MAC CLIENT. FlexE can support mapping and transmission of any number of different FlexEClient on any set of PHYs, thereby implementing functions such as PHY bundling, channelization, and subrate. Multiple PHY groups are combined together into one FlexE group (english may also be referred to as FlexE Group) for carrying one or more FlexE client data streams distributed and mapped through FlexEShim layers. Taking 100GE PHY as an example, flexE Shim layers may divide each 100GE PHY in FlexE Group into 20 slots (slots) of data-carrying channels, each slot corresponding to a bandwidth of 5Gbps.
Fig. 2 schematically shows a diagram of a slot allocation situation of FlexE Group across 4 physical link interfaces (4 PHYs are aggregated). As shown in fig. 2, each PHY has 20 slots, and thus the FlexE Group has 20 x 4 slots. As shown in fig. 2, flexE Group in fig. 1 is described as including 4 PHYs, namely PHY a 1201, PHY B1202, PHY C1203, and PHY D1204, respectively. FlexE Group to a slot allocation table (english may also be called calendar); the slot map table corresponding to a single physical link included in one FlexE Group may be referred to as a sub-slot allocation table (english may be referred to as sub-calendar). FlexE calendar may consist of one or more sub-calendar. Each sub-carrier may indicate how 20 slots (slots) on the single physical link are allocated to a respective FlexE client. That is, each sub-calendar may indicate a correspondence of time slots to FlexEclient on the single physical link. As shown in fig. 2, each PHY may correspond to 20 slots, represented by slots 0 through 19, respectively. Fig. 2 shows a schematic diagram of 20 slots corresponding to each of PHY a 1201, PHY B1202, PHY C1203, and PHY D1204, respectively.
Fig. 3 shows a schematic diagram of an application scenario of FlexE communication system according to the present application. As shown in fig. 3, flexE the communication system 100 includes a network device 1, a network device 2, a user device 1, and a user device 2. The network device 1 may be an intermediate node, in which case the network device 1 is connected to the user device 1 via other network devices. The network device 1 may be an edge node, in which case the network device 1 is directly connected to the user device 1. The network device 1 may be an intermediate node, in which case the network device 1 is connected to the user device 1 via other network devices. The network device 1 may also be an edge node, in which case the network device 1 is directly connected to the user device 1. The network device 2 may be an intermediate node, in which case the network device 2 is connected to the user device 2 via other network devices. The network device 2 may also be an edge node, in which case the network device 2 is directly connected to the user device 2. Network device 1 includes FlexE interface 1 and network device 2 includes FlexE interface 2.FlexE interface 1 is adjacent to FlexE interface 2. Each FlexE interface includes a transmit port and a receive port, and is different from the conventional ethernet interface in that one FlexE interface may carry multiple clients, and a FlexE interface, which is a logical interface, may be formed by combining multiple physical interfaces. The flow of traffic data in the forward path shown in fig. 3 is shown by the solid arrows in fig. 3, and the flow of traffic data in the reverse path is shown by the dashed arrows in fig. 3. The transmission channel in the embodiment of the present application takes a forward channel as an example, and the flow direction of service data in the transmission channel is user equipment 1- > network equipment 2- > user equipment 2.
It should be understood that 2 network devices and 2 user devices are shown in fig. 3 by way of example only, and the network may include any other number of network devices and user devices, and the embodiments of the present application are not limited in this regard. The FlexE communication system shown in fig. 3 is merely illustrative, and the application scenario of the FlexE communication system provided by the present application is not limited to the scenario shown in fig. 3. The technical scheme provided by the application is suitable for all network scenes for data transmission by applying FlexE technology.
The process by which the network device 1 and the network device 2 shown in fig. 3 transmit data using FlexE technology is further described below in connection with fig. 4.
As shown in fig. 4, PHY1, PHY2, PHY3, and PHY4 are bundled into one FlexE group. The network device 1 and the network device 2 are connected through FlexE group interfaces, namely the FlexE interfaces 1 and FlexE interfaces 2. The FlexEgroup interface described above may also be referred to as the FlexE interface. FlexE group interfaces are logical interfaces bound by a set of physical interfaces. The FlexE group interfaces carry 6 clients, respectively client01 to client06. Wherein, the data mapping of client01 and client02 is transmitted on PHY 1; the data mapping of client03 is transmitted on PHY2 and PHY 3; the data map of client04 is transmitted on PHY 3; the data map of client05 and client06 is transmitted on PHY 4. The different FlexE client maps and transmits on FlexE group, implementing the bundling function. Wherein:
FlexE group: may also be referred to as a bundle. Each FlexE group includes a plurality of PHYs having a logical bundling relationship. By logically bundled, it is meant that there may be no physical connection between different PHYs, and thus, the plurality of PHYs in FlexE group may be physically independent. The network device FlexE may implement logical bundling of multiple PHYs by identifying which PHYs are included in one FlexE group by the number of PHYs. For example, the number of each PHY may be identified by a number between 1 and 254, with 0 and 255 being reserved numbers. The number of one PHY may correspond to one interface on the network device. The same number is used between two adjacent network devices to identify the same PHY. The numbering of the individual PHYs included in one FlexEgroup need not be consecutive. Typically, there is one FlexE group between two network devices, but the application is not limited to only one FlexE group between two network devices, i.e., there may be multiple FlexE group between two network devices. One PHY may be used to carry at least one client, and one client may transmit on at least one PHY.
FlexE client various user interfaces or bandwidths corresponding to the network. FlexE client are flexibly configurable according to bandwidth requirements, and support ethernet MAC data streams with various rates (such as 10G, 40G, n x 25G data streams, and even non-standard rate data streams), for example, the data streams can be delivered to FlexE shim layers by means of 64B/66B coding. Clients transmitting through the same FlexE group need to share the same clock and these clients need to adapt according to the assigned slot rate. The FlexE client interface described in the present application is used to transmit the corresponding FlexE client traffic data stream. The FlexEclient interface is a logical interface. Each FlexE interface may be logically divided into one or more FlexEclient interfaces, each FlexE interface may be time-domain divided into a plurality of time slots, and each FlexE client interface occupies at least one of the plurality of time slots.
FlexE shim as an additional logical layer interposed between the MAC and PHY (PCS sublayers) of the conventional ethernet architecture, a core architecture implementing FlexE technology based on a slot distribution mechanism of the calendar. FlexE shim are used to slice data according to the same clock and to encapsulate the sliced data into pre-divided slots (slots). Then, each divided time slot is mapped to PHY in FlexE group for transmission according to a preconfigured time slot allocation table. Wherein each slot maps to one PHY in FlexE group.
Calender: the slot allocation table may also be referred to as a slot table. FlexE Group corresponds to a calendar, and the slot map table corresponding to a single physical link (PHY) included in one FlexE Group may be referred to as a sub-slot allocation table (english: sub-calendar). FlexE calendar may consist of one or more sub-calendar. Each sub-capalendar may indicate how 20 slots (english may be written as slots) on the single physical link are allocated to the corresponding FlexE client. That is, each sub-calendar may indicate a correspondence of time slots to FlexEclient on the single physical link. Two Calender are specified in each FlexE overhead frame, the current primary slot table (CALENDER A) and the backup slot table (Calender B), respectively, as defined in the current standard.
FlexE constructs a fixed frame format for physical interface transmission and performs TDM time slot division. As previously described, the FlexEshim layer embodies the slot mapping relationship in clients and FlexE group and the calendar working mechanism by defining overhead frames and overhead multiframes. It should be noted that the overhead frame may be referred to as a flexible ethernet overhead frame (english: flexE overhead frame), and the overhead frame may be referred to as a flexible ethernet overhead frame (english: flexEoverhead Multiframe). The FlexE shim layer provides an in-band management channel through overhead, supports configuration and management information to be transferred between two FlexE interfaces in butt joint, and realizes automatic negotiation establishment of a link.
The data on each PHY FlexE is aligned by periodically inserting a FlexE overhead frame (OH) frame code block, such as an overhead code block FlexE OH that inserts 1 66 bytes (B) every 1023x20 66B payload data code blocks. According to FlexE Implementation Agreement protocol, a FlexE Group sends out 64B/66B code blocks of a FlexE overhead frame to the far-end PHY at predetermined time intervals on each PHY, and 8 64B/66B code blocks of FlexE overhead frames sent in sequence constitute a FlexE overhead frame. FlexE define that some fields on the overhead frame carry the slot allocation table and synchronize the slot allocation table to the PHY on the far-end communication device via FlexE overhead frame to ensure that the dual-end communication device receives and transmits FlexE customer-corresponding data streams using the same slot allocation table. Specifically, as shown in fig. 5, a schematic diagram of the structure of an overhead frame and an overhead multiframe of the 100GE interface given in the OIF IA-FLEXE-02.1 standard is shown in fig. 5. An overhead frame has 8 overhead blocks, which may also be referred to as overhead slots (overhead slots). Each overhead block is a 64B/66B coded code block that occurs once every 1023x 20 bursts, but contains different fields. In the overhead frame, the first overhead block contains a control character of '0X 4B' and an 'O code' character of '0X 5', and in the data transmission process, the first overhead frame is determined through matching of the control character and the 'O code' character between the butted FlexE interfaces. The 32 overhead frames constitute one overhead multiframe.
Hereinabove, the flexible ethernet protocol-based FlexE generic architecture and the procedure of transmitting data based on the existing FlexE technology are described in connection with fig. 1 to 5. The current OIF FlexE standard defines a 50G/100G/200G/400G interface framework, and FlexE Client interfaces of different rates allocate N slots in one slot cycle period, and the slot bandwidth of each slot is 5Gbps (hereinafter referred to as 5G) granularity, so n=interface rate/5 Gbps. Taking a 100G PHY as an example, as shown in fig. 6, each PHY includes 20 5G slots, and N PHYs are bundled together with n×20 5G slots, so each FlexE Client must be allocated with a bandwidth that is an integer multiple of 5G, and the minimum bandwidth is 5G, i.e., at least one slot is allocated. In fig. 6, each slot has a slot bandwidth of 5G,FlexE client#1 allocated x slots, flexE client #2 allocated y slots, and … FlexE #m allocated z slots. However, there are many low-rate services in the current application layer, such as related services of automatic teller machines (english: automatic tellermachine, ATM), and the bandwidth requirement is very low, and only 100Mbps may be needed, at this time, even if the service is carried by using the smallest 5GFlexE Client channels (only occupying 1 slot), there is a waste of 4.9G bandwidth, and the service requirement cannot be matched accurately.
In order to solve the technical problems, a sub-user sub-client interface with smaller granularity is redefined on the basis of the existing FlexE interface or the common Ethernet physical interface. The interface rate of each sub-client interface can be flexibly set according to the requirements of different low-rate services, so that the waste of bandwidth is avoided as much as possible. Furthermore, the application also provides a sub-time slot crossing technology, which can effectively reduce the forwarding delay by forwarding based on the time slot crossing technology in the equipment on the basis of fully utilizing the bandwidth.
Before describing each technical scheme provided by the application, in order to facilitate understanding of the technical scheme of the application, some technical terms related to the application are simply described and illustrated.
Sub-slots: the sub-slots may also be referred to as low order slots, small granularity slots. Compared to the large bandwidth of the existing FlexE Client interface configured time slots (which may also be referred to as large time slots, large granule time slots, or higher order time slots) or the normal ETH interface. For a standard FlexE Client interface or a common ETH interface, each FlexE Client interface or ETH interface is divided into M sub-slots in the time domain, and each sub-user interface occupies the bandwidth of at least one sub-slot for data transmission.
FlexE sub-shim, based on a sub-slot distribution mechanism, slicing the same sub-client data, and packaging the switched data as sub-slot payloads in pre-divided sub-slots (sub-slots). And then mapping each divided sub-slot into a corresponding FlexE Client interface according to a sub-client sub-slot mapping table acquired in advance. Wherein each sub-slot is mapped to one FlexE client interface.
Sub-users: sub-clients correspond to various sub-user interfaces or bandwidths of the network. FlexE sub-client can be flexibly configured according to bandwidth requirements, and can support Ethernet MAC data streams with various rates (such as 10G, 40G, n x 25G data streams and even nonstandard rate data streams), for example, the data streams can be transferred to a FlexE sub-shim layer by means of 64B/66B or 64B/65B transcoding or 256B/257B transcoding.
Sub-user interface: sub-Client interface. The sub-user interface may also be referred to as a sub-slot interface, a low-order slot interface sub-slot channel, flexE small particle channel, or low-order slot channel. The sub-user interface is a concept with respect to the existing FlexE Client interface or the normal ethernet interface. Each FlexE Client interface or the common ethernet interface is logically divided into a plurality of sub-user interfaces, and is divided into a plurality of sub-slots in the time domain, each sub-user interface occupies at least one sub-slot for data transmission, and the time slot bandwidth granularity of each sub-slot is generally smaller than 5Gbps, for example, can be any value between 10Mbps and 100Mbps, so as to bear more low-rate services and effectively utilize the bandwidth.
The sub-Client sub-slot payload is the data obtained by slicing the same sub-Client data. Each slice is encapsulated as one sub-client sub-slot payload in a pre-divided sub-slot (sub-slot).
Sub-Client Sub-slot mapping table: the Sub-Client Sub-slot allocation table and the low-order channel slot mapping table may also be referred to as a low-order channel slot allocation table. For identifying the number of time slots and the time slot positions allocated per Sub-Client Sub-interface.
Base frame: the data structure provided by the application is used for bearing the business data streams of different sub-clients. Each base frame includes a base frame payload. The base frame payload includes a base frame overhead and a low-order slot payload (i.e., sub-client sub-slot payload). In the present application, each low-order slot payload has the same length, e.g., Y bits. Each low-order slot payload may be a plurality of 64B/66B code blocks. In order to further improve the data transmission efficiency, each low-order time slot payload may be a plurality of 64B/65B code blocks or 256B/257B code blocks, where the plurality of 64B/65B code blocks or 256B/257B code blocks may be obtained by transcoding and compressing a plurality of 64B/66B code blocks encoded by a PCS with a transcoding algorithm, and the forwarding algorithm may be, for example, 64B/65B transcoding or 256B/257B transcoding. The base frame overhead is used to transmit overhead information, which may include, but is not limited to, one or more of the following: sequence number of base frame; sub-client sub-slot mapping table; a time slot adjustment request; a time slot adjustment response; a time slot validation indication; managing channel information; overhead verification information.
The base frame sequence number can be used for identifying the position of the base frame in the whole multi-frame, and the sub-slot number loaded by the base frame can be known according to the position information. Sub-Client Sub-slot mapping tables may be used to identify the number of slots and slot positions allocated per lower-order channel. The slot adjustment request is used to send a slot adjustment request, for example, to adjust the slot of the sub-client, and the slot adjustment response is a response to receiving the slot adjustment request, and the slot validation indication is used to indicate that the slot adjustment is validated. And the management message channel can be used for transmitting network element management messages and also can be used for transmitting Sub-Client Sub-slot mapping table information. Overhead verification information, used to verify the base frame overhead, the verification algorithm may be, but not limited to, a bit error detection algorithm such as CRC or BIP. The Sub-Client Sub-slot payload is used for carrying data of different Sub-Client interfaces according to the Sub-Client Sub-slot mapping table. Each base frame also includes code blocks for defining a base frame header and code blocks for defining a base frame trailer.
Fig. 7 shows a schematic diagram of a specific base frame encapsulation format provided by the present application, but those skilled in the art will appreciate that fig. 7 should not be construed as limiting the base frame encapsulation format. As shown in fig. 7, in order to be compatible with the ethernet frame format defined by IEEE802.3, the base frame is encapsulated with a start (S) code block, a data (D) code block, and an end (terminate, T). Wherein the S code block is used to indicate the frame header of the base frame. The T code block is used to indicate the end of the base frame. The data field of the D code block, such as the payload field of fig. 7, is used to carry the base frame payload. The base frame may be rate adapted with I code blocks. In a specific embodiment, the format of each code block in the base frame may conform to, for example, the IEEE802.3 defined code block format as shown in fig. 8. In a specific embodiment, a part or all of data fields (BP) in the S code block and/or the T code block and the data fields in the D code block jointly carry a base frame payload, where BP in the S code block is an optional field segment, and the T code may be any one of seven code blocks from T0 to T7.
Fig. 9 is a schematic diagram of a data structure of a sub-user interface transmission provided in the present application. As shown in fig. 9, M sub-slots are divided for cyclic transmission in FlexE Client interfaces with a bandwidth of n×5g or normal ETH interfaces. I.e. each cycle period is M sub-slots, which cycle period may also be referred to as sub-slot scheduling period of the sub-user interface or slot scheduling period of the sub-user interface. In a specific embodiment, X base frames are equally distributed over the M sub-slots, with (M/X) lower order slots being loaded into each base frame payload. Every X base frames may also be defined as one multiframe. One multiframe is transmitted during each cycle. In a specific embodiment, the multiframe length should be less than or equal to 9600 bytes, as specified by the transport ethernet message.
In the present application, each FlexE interface may be logically divided into a plurality of FlexE Client interfaces. One FlexE Client interface may be logically divided into a plurality of FlexE sub-client interfaces and one FlexE Client interface may be divided into M sub-slots in the time domain. For FlexE Client interfaces with different bandwidths, the bandwidths of different FlexE sub-client interfaces can be flexibly configured by M. For example, fig. 10 shows a schematic format diagram of a multiframe package provided by the present application. In connection with fig. 10, for each FlexE Client G interface, it may be divided into 480 sub-slots in the time domain (i.e., m=480). Within each slot scheduling period (480 sub-slots are one slot scheduling period) of one FlexE Client interface, 20 base frames, i.e., one multiframe, are evenly distributed. In the present application, english of the base frame is named fgDu. Each base frame contains 24 sub-slots. In a specific embodiment, each sub-slot payload may include 8 66B compressed code blocks, and for a base frame, an Overhead (OH) code block is added, and the T code blocks are encapsulated, and 197 66B code blocks may be included in a base frame. For rate adaptation, an I code block may be added between base frames, or a portion of the I code block may be replaced with an OAM code block transmitted in the FlxeE client interface. Rate adaptation can be achieved by adding Idle blocks between the base frames.
In the application, the time delay tuning means to adjust the receiving time slot and the transmitting time slot of each hop communication device in the forwarding path of the same service flow, so that the connection of the receiving time slot and the transmitting time slot is more reasonable, the internal forwarding time delay of the service flow in each hop communication device is reduced, the total time delay in the end-to-end forwarding path of the service flow is reduced, and the purpose of optimizing the end-to-end time delay is achieved. The time delay tuning needs to adjust the time slot occupied by the service flow, so the time delay tuning is also called time slot adjustment in the application.
The time slot adjusting method of the scheme is described in detail below with reference to specific scenes in the accompanying drawings.
Fig. 11 is a schematic structural diagram of a communication system according to the present application, as shown in fig. 11. In this embodiment, the communication system includes a service provider edge router (PE) 0, a service provider edge router (P) 0, P1, P2, and PE1.PE0, P1, P2, and PE1 are nodes in a traffic flow (client) forwarding path. Wherein PE0 and PE1 are edge nodes, and P0, P1 and P2 are intermediate nodes. The number of communication devices in fig. 11 is merely an example, and the number of intermediate nodes may be fewer (at least 1), or may be more, depending on the actual forwarding paths of the traffic flow, which is not limited herein.
In this embodiment, the time adjustment process is described taking the direction of the traffic flow as PE0→p0→p1→p2→pe1 as an example. In this case, PE0 is the source, or referred to as the head node, and PE1 is the sink, or referred to as the tail node. The traffic is carried in a plurality of flexible ethernet channels (FlexE channel) in the forwarding path of the traffic, flexE channel being, for example, a transmission channel formed by FlexE group as described above. For example, fig. 11 includes 4 adjacent FlexE channel segments, flexE channel1 (the path connecting PE0 and P0), flexE channel2 (the path connecting P0 and P1), flexE channel3 (the path connecting P1 and P2), flexE channel4 (the path connecting P2 and PE 1). The traffic stream occupies one or more time slots in FlexE channel and the traffic stream occupies the same number of time slots, i.e., the same bandwidth, in each segment FlexE channel. In this embodiment, all time slots occupied by the traffic stream at FlexE channel are also sometimes referred to as a time slot set. The slot positions (slot numbers) of the slots occupied by the traffic streams in the different segments FlexE channel may be the same or may be different.
In fig. 11, clients 1 to 8 identify the same service flow, which represents service interfaces at both ends of all FlexE channel through which the service flow passes. The time slots occupied by the service flows in the process of transmitting in the same FlexE channel are not changed, namely the service flows are transmitted on the same time slots in the process of transmitting from one end of FlexE channel to the process of receiving from the other end, so that the time slots corresponding to the service interfaces of the service flows at the two ends of the same segment FlexE channel are identical to the service flow identifiers. For example, the time slot occupied by the client1 is the same as the time slot occupied by the client2, and the service flow identifiers of the client1 and the client2 are the same; the time slot occupied by the client3 is the same as the time slot occupied by the client4, the traffic flow identifications of the client3 and the client4 are the same, and so on. Therefore, the service interfaces at the two ends of the same section FlexE channel of the service flow transmit the service flow on the same time slot, and the data loss in the service flow caused by different sending time slots and receiving time slots is avoided. The traffic flow identities of the traffic flows in the different FlexE channel may be the same or different.
The intermediate node comprises two service interfaces of the service flow, one of which is a receiving interface of the service flow and one of which is a transmitting interface of the service flow. The time slot occupied by the receiving interface is a receiving time slot, and the time slot occupied by the transmitting interface is a transmitting time slot. For example, client2 is a receiving interface for receiving a service flow by P0, a time slot occupied by client2 is a receiving time slot, client3 is a transmitting interface for transmitting the service flow by P0, and a time slot occupied by client3 is a transmitting time slot; client4 is a receiving interface for receiving the service flow by P1, a time slot occupied by client4 is a receiving time slot, client5 is a transmitting interface for transmitting the service flow by P1, a time slot occupied by client5 is a transmitting time slot, and so on.
Inside the intermediate node, a slot crossing table is maintained for the slot crossing relationship between the receive slots and the transmit slots of the same traffic stream. Therefore, the intermediate node maps the code blocks in the receiving time slot to the transmitting time slot in a crossing way through the time slot crossing table, and the forwarding delay can be effectively reduced.
However, when the allocation of the receiving time slot and the transmitting time slot of the service flow in the intermediate node is not reasonable, the residence time of the service flow in the intermediate node is increased, and the end-to-end delay of the service flow is further increased. For example, when the receiving slot of the client2 is 3, the transmitting slot of the client3 is 2, and the P0 receives a plurality of code blocks of the slot 3, the slot 2 of the client3 is already transmitted, and then the code blocks need to wait until the next period of the P0 to be mapped to the slot 2 for transmitting, which increases the forwarding delay of the traffic stream in the P0. When there are more intermediate nodes on the forwarding path of the service flow, the delay accumulation of each intermediate node can bring about larger end-to-end delay.
Therefore, the application provides the following embodiments to solve the problem that the allocation of the receiving time slot and the sending time slot of the intermediate node is unreasonable to increase the service flow forwarding delay.
In the embodiment, the time delay adjustment is performed section by section on a plurality of FlexE channel passing through the service flow, and the time slots occupied by FlexE channel channels with the time slot adjustment completed by the service flow are utilized to determine the time slots occupied by the adjacent FlexE channel channels, so that the allocation of the receiving time slots and the sending time slots of the intermediate nodes is more reasonable, the residence time of the service flow in the intermediate nodes is reduced, and the end-to-end time delay of the service flow is reduced.
The delay tuning is performed on a plurality of FlexE channel segments through which the service flow passes, and in particular, the delay tuning may be performed on service interfaces of the service flow sequentially. According to the time slot for time delay tuning determined by the service interface, the time slot for time delay tuning of the service interface adjacent to the service interface, which is not completed with time delay tuning, can be determined. The service interfaces at both ends of the same FlexE channel, i.e. the time slots between two adjacent service interfaces of different communication devices should be kept consistent, and when one service interface is used for determining the time slot for delay tuning, the other service interface is used for determining the time slot for delay tuning. The service interfaces at two ends of the same FlexE channel carry out time slot adjustment through time slot negotiation, so that the time slots of the service interfaces are the same after the time slots of the service interfaces are adjusted. The specific procedure of slot negotiation will be described below. And calculating the time slot of the service interface with unfinished time slot adjustment by utilizing the time slot of the service interface with completed time slot adjustment between the receiving interface and the transmitting interface of the service stream of the same intermediate node, and replacing the original time slot of the service interface by using the calculated time slot to complete the time slot adjustment of the service interface in the intermediate node.
In one implementation, delay tuning may begin with the source of the traffic flow and adjust the time slots of the traffic interface of the downstream node hop-by-hop, i.e., in the direction of the traffic flow, which may also be referred to as forward tuning. For example, in fig. 11, the direction of the traffic flow is PE0→p0→p1→p2→pe1, the direction of the forward adjustment is PE0→p0→p1→p2→pe1, that is, the adjustment sequence of the traffic interface is client1→client2→client3→client4→client5→client6→client7→client8. And after determining the time slot for time delay tuning of the client1, the service interfaces at the two ends of the client1 and the client2 are adjusted to be the same time slot through time slot negotiation between the client1 and the client2, namely the time slot for time delay tuning of the client 1. The same applies between clients 3 and 4, between clients 5 and 6, and between clients 7 and 8. In this scenario, the transmit time slot of the intermediate node is determined using the receive time slot. For example, if client2 of P0 completes the slot adjustment prior to client3, then the slot of client3 may be determined using the slot of client 2. The time slot determination of client5 and client7 is the same.
In another implementation, the time slots of the traffic interface of the upstream node may also be adjusted hop by hop, starting from the sink of the traffic flow, i.e. in a direction opposite to the direction of the traffic flow, which may also be referred to as reverse adjustment. For example, in fig. 11, the direction of the traffic flow is PE0→p0→p1→p2→pe1, and the direction of the delay adjustment may be PE1→p2→p1→p0→pe0. The adjustment sequence of the service interfaces is from client8 to client7 to client6 to client5 to client4 to client3 to client2 to client1. In this scenario, the receive time slot of the intermediate node is determined using the transmit time slot. For example, if client7 of P2 completes the slot adjustment prior to client6, then the slot of client6 may be determined using the slot of client 7. The time slot determination of Client2 and Client4 is the same.
When the bandwidth of the service flow does not need to be adjusted or the bandwidth of the service flow is adjusted, the delay adjustment can be carried out on the service flow only. When the bandwidth of the service flow needs to be adjusted and the delay adjustment is needed, the delay adjustment can be performed on the service flow while the bandwidth of the service flow is adjusted, namely, the bandwidth adjustment is coupled with the delay adjustment. The time delay adjustment only needs to adjust the time slot position of the time slot occupied by the service flow at FlexE channel, so that the intermediate node can send the service flow out of the sending port as soon as possible after receiving the service flow from the receiving port, and the forwarding time delay of the service flow at the intermediate node is reduced. Bandwidth adjustment requires adjustment of the number of slots of the slots occupied by the traffic stream at FlexE channel. The bandwidth adjustment coupling time delay adjustment is preferably to synchronously adjust the time slot number and the time slot position of the time slot occupied by the service flow, thereby improving the adjustment efficiency.
The intermediate node is for example deployed with a time slot allocation algorithm, which is used for calculating and outputting the time slot of the same service flow at another service interface of the intermediate node according to the time slot of the service interface with the time delay adjusted and optimized in the intermediate node. The time slot output by the time slot allocation algorithm can be the time slot allocation scheme which can lead the residence time of the service flow in the intermediate node to be shortest in all possible time slot allocation schemes of the corresponding service interface. Taking forward adjustment as an example, the intermediate node inputs the time slot of the receiving interface with completed time slot adjustment to a time slot allocation algorithm, and the time slot allocation algorithm determines and outputs a time slot with minimum traffic flow forwarding time delay in the idle time slot (including the time slot currently occupied by the traffic interface) of FlexE channel of the intermediate node according to the time slot of the receiving interface, the processing time delay of the intermediate node (including, for example, extracting code blocks from the receiving interface and mapping to the sending interface according to a time slot cross table, and the like).
In this embodiment, the time slot may be the small granule time slot described above. When the time slot is a small particle time slot, the clients 1 to 8 bear the service flow of the small particle service, the service flow occupies one or more small particle time slots, and the clients 1 to 8 are FlexE sub-clients. FlexE channel have a larger number of small granule time slots and a larger adjustable space.
In this embodiment, the communication system may further include a network management device. The network management equipment is connected with each communication device. In one implementation, the network management device participates in invoking a time slot allocation algorithm of the intermediate node, and the network management device triggers each node in the forwarding path of the service flow to start a delay tuning flow. In another implementation manner, the network management device triggers a head node or a tail node in a forwarding path of the service flow to start a delay tuning flow, the delay tuning flow of other nodes is triggered by the last node which completes delay tuning, and the network management device does not participate in invoking a time slot allocation algorithm of the intermediate node.
The possible implementations described above are described below, respectively. As shown in fig. 12, fig. 12 illustrates an example in which the communication system includes PE0, P1, P2, and PE1, and the direction of traffic flow is PE0→p0→p1→p2→pe1, and forward direction adjustment is performed. In fig. 12, PE0 and P0 are connected by FlexE channel, P0 and P1 are connected by FlexE channel, P1 and P2 are connected by FlexE channel 3), and P2 and PE1 are connected by FlexE channel 4.
1201: The network management equipment transmits a time slot set 1 of the client1 to the PE 0.
The time slot set 1 includes the time slot number of one or more time slots configured by the network management device for client 1. The slot Number (TS Number, ts_num, also called ts_no, TS identification or TS ID) is used to identify the corresponding slot. One FlexE channel typically has a number of slots, which are collectively numbered, each slot corresponding to 1 slot number. The slot number may indicate the location of the slot.
1202: PE0 and P0 replace slots of clients 1 and 2 with slots of slot set 1 through slot negotiation.
1203: The network management equipment calls a time slot allocation algorithm in P0, and takes the time slot set 1 as an input parameter of the time slot allocation algorithm in P0.
The slot allocation algorithm in P0 outputs slot set 2 for client3 based on slot set 1. The number of slots in slot set 2 is the same as the number of slots in slot set 1. Thereby ensuring that the bandwidths of the traffic flows in the different FlexE channel are the same.
1204: P0 sends the set of timeslots 2 to the network management device.
1205: The network management equipment issues a time slot set 2 of the client3 to the P0.
1206: P0 and P1 replace the slots of clients 3 and 4 with slots in slot set 2 through slot negotiation.
1207: The network management equipment calls the time slot allocation algorithm in P1, and takes the time slot set 2 as the input parameter of the time slot allocation algorithm in P1.
The slot allocation algorithm in P1 outputs slot set 3 for client5 based on slot set 2. The number of slots in slot set 3 is the same as the number of slots in slot set 2. Thereby ensuring that the bandwidths of the traffic flows in the different FlexE channel are the same.
1208: P1 sends the set of timeslots 3 to the network management device.
1209: The network management equipment issues a time slot set 3 of client5 to P1.
1210: P1 and P2 replace the slots of clients 5 and 6 with slots in slot set 3 through slot negotiation.
1211: The network management equipment calls the time slot allocation algorithm in P2, and takes the time slot set 3 as the input parameter of the time slot allocation algorithm in P2.
The slot allocation algorithm in P2 outputs slot set 4 for client7 based on slot set 3. The number of slots in slot set 4 is the same as the number of slots in slot set 3. Thereby ensuring that the bandwidths of the traffic flows in the different FlexE channel are the same.
1212: P2 sends the set of timeslots 4 to the network management device.
1213: The network management equipment issues a time slot set 4 of client7 to P2.
1214: P2 replaces the slots of clients 7 and 8 with slots in slot set 4 through slot negotiation with PE 1.
PE1 is a tail node, so that the delay tuning flow of PE0, P1, P2 and PE1 is finished.
It should be noted that, there is no sequence between 1202 and 1203, and execution 1203 may be performed first and then execution 1202, which is not limited herein. 1206 and 1207, 1210 and 1211 are similar.
The slot negotiation process is described below. As shown in fig. 13, fig. 13 illustrates a time slot negotiation between PE0 and P0, and the time slot negotiation process between other nodes is similar, so that the description is omitted.
1301: PE0 sends a slot negotiation request message to P0, which includes the identity of client 1.
The slot negotiation request message may also be referred to as a slot allocation table switch request (CALENDAR SWITCH request, CR) message. Since the identity of client1 is the same as the identity of client2, the identity of client1 in the slot negotiation request message may also be considered as the identity of client 2. The slot negotiation request message is used to request that P0 replace the slot occupied by client2 with the slot in slot set 1.
The set of slots 1 may be sent to P0 via one or more slot negotiation request messages. In this embodiment, the time slot set has the same meaning as the time slot allocation table.
1302: P0 sends a slot negotiation acknowledgement message to PE0, which includes the identity of client 1.
The slot negotiation acknowledgement message may also be referred to as a slot allocation table switch acknowledgement (CALENDAR SWITCH acknowledge, CA) message. The slot negotiation acknowledgement message is used to inform PE0 that P0 has acknowledged the slot negotiation request message, ready to adjust the slot occupied by client 2.
1303: PE0 replaces the time slot occupied by client1 with the time slot in time slot set 1 in response to the time slot negotiation acknowledgement message.
1304: PE0 sends a slot adjustment complete message to P0, which includes the identity of client 1.
The slot adjustment complete message is used to inform P0 that PE0 has adjusted the slots occupied by client1 to slots in slot set 1.
1305: P0 adjusts the time slot occupied by client2 to the time slot in time slot set 1 in response to the time slot adjustment complete message.
Through slot negotiation, PE0 and P0 complete slot adjustment for client1 and client2, respectively, and the adjusted slots are the same.
The network management equipment invokes the time slot allocation algorithm of the intermediate node, and issues a time slot for time delay tuning to each node, so that the time required by end-to-end time delay tuning can be increased to a certain extent. Therefore, the application also provides the following embodiments, so that the efficiency of the delay tuning process is higher, and the time required by end-to-end delay tuning is reduced.
Fig. 14 is a flowchart of another embodiment of a time slot adjustment method according to the present application, as shown in fig. 14. The embodiment comprises the following steps:
1401: the network management equipment transmits a time slot set 1 of the client1 to the PE 0.
The time slot set 1 includes one or more time slots configured by the network management device for client 1.
When only the time delay adjustment is performed on the service flow and the bandwidth adjustment is not performed, the number of time slots in the time slot set 1 is the same as the number of time slots of the time slot currently occupied by the client 1. When the time delay optimization synchronization is carried out on the service flow to carry out bandwidth adjustment, the number of time slots in the time slot set 1 is different from the number of time slots of the time slots currently occupied by the client 1. The number of the time slots in the time slot set 1 can be larger or smaller than the number of the time slots currently occupied by the client1, and according to actual requirements, for example, the bandwidth of the service flow is enlarged, the number of the time slots in the time slot set 1 is larger than the number of the time slots currently occupied by the client 1; e.g., the bandwidth of the traffic stream is reduced, the number of slots in slot set 1 is less than the number of slots currently occupied by client 1.
Optionally, when only performing delay adjustment on the service flow, the PE0 may further determine whether the time slot in the time slot set 1 is the same as the time slot currently used by the client1, and if so, may not execute 1402, and directly execute 1403; if there is at least one time slot that is different, execution proceeds to 1402 and then to 1403.
1402: PE0 and P0 replace slots of clients 1 and 2 with slots of slot set 1 through slot negotiation.
Under the scene of time delay tuning and bandwidth adjustment, the time delay tuning and bandwidth adjustment of client1 and client2 are synchronously completed, the two adjustment processes are fused, and the adjustment efficiency can be improved under the scene that the time delay tuning is needed and the bandwidth adjustment is needed.
1403: PE0 sends a delay tuning request message 1 to P0, and the delay tuning request message 1 includes the identification of client 2.
The delay tuning request message 1 carries an identifier of the client2, which is used for indicating that the client3 with the time slot cross relation exists in the client2 to perform time slot adjustment.
When the clients 1 to 8 bear small-particle service, the delay tuning request message can be borne in the OH of the base frames, the time interval between the base frames is shorter, and the efficiency of transmitting the delay tuning request message to P0 can be improved. In another implementation, the delay tuning request message may also be carried in an idle code of the base frame. In yet another implementation, the delay tuning request message may also be carried in FlexE overhead frames. When clients 1 through 8 carry large-particle traffic, the latency tuning request message may be carried in FlexE overhead frames.
The delay tuning request message is a message type newly added in the embodiment, and is used for indicating the next node to start a delay tuning flow after the service interfaces of the current node all finish time slot adjustment, and because PE0 and P0 transmit the delay tuning message based on the code stream in FlexE channel, the delay tuning message can be processed and transmitted to P0 more quickly without packaging the message through a protocol stack, thereby reducing the time required by P0 to start delay tuning. In order to make the time delay tuning request message distinguishable from other messages, the time delay tuning request message also carries a target value for indicating that the message carried in the base frame or FlexE overhead frame is the time delay tuning request message.
In one possible implementation, if the delay tuning request message may be carried in OH of the base frame, the target value may be carried in S, CR, CA, and C fields in OH. As shown in fig. 15, fig. 15 is a schematic structural diagram of OH of FlexE small particle-based frames provided by the present application.
When the message carried in the OH is the slot negotiation request message, the value of the CR field is 1, and the values of the other 3 fields are 0,S fields, the CR field, the CA field and the C field, which are combined to be 0010. When the message carried by OH is a slot negotiation acknowledgement message, the value of the CA field is 1, the values of the other 3 fields are all 0, and the value of the combination of the four fields is 0001. When the message carried by the OH is a time slot adjustment completion message, the value of the C field is 1, the values of the other 3 fields are all 0, and the value of the combination of the four fields is 0100. When the message carried in OH is a request to start a slot negotiation message (requested by a downstream node to an upstream node), the value of S field is 1, the values of the other 3 fields are all 0, and the value of the combination of the four fields is 1000. Thus, the present embodiment may take a target value to identify the message carried by OH as a latency tuning request message, where the target value is different from the value of the above 4 field combinations, for example, 0011, 1100, 1101, or 0111, etc. Besides the 4 values occupied by the slot negotiation request message, the slot negotiation acknowledgement message, the slot adjustment completion message and the request for starting the slot negotiation message, and 0000 and 1111, the target value has 10 value-taking modes, and the target value can be any value in the 10 values.
In some other implementations, the target value may also be carried in a reserved (or abbreviated Res) field of OH of the base frame. In this case, the target value may be another value.
If the delay tuning request message is carried in the idle code block of the base frame, the target value for identifying the delay tuning request message can be other values.
1404: P0 sends an acknowledgement message 1 for delay tuning request message 1 to PE 0.
The confirmation message 1 is used for informing the PE0 that the P0 has received the delay tuning request message 1, the PE0 can know that the P0 successfully receives the tuning request message 1 after receiving the confirmation message 1, the end-to-end delay tuning flow can be normally carried out, and the PE0 does not need to send the delay tuning request message 1 to the P0. If the PE0 does not receive the acknowledgement message 1 within the preset time period, the PE0 repeatedly sends the delay tuning request message 1 to the P0, so as to ensure that the end-to-end delay tuning process can be continued. If the number of times that the PE0 sends the delay tuning request message 1 to the P0 reaches a preset value, but the confirmation request message 1 is not received yet, the PE0 can report the network management equipment so as to diagnose the fault reason.
1405: P0 obtains a time slot set 2 of the client3 according to the time delay tuning request message 1 and the time slot set 1.
P0 determines a client3 belonging to the same service flow according to the identification of the client2 in the delay tuning request message 1, and P0 stores an association relationship between the client2 and the client3, for example. In response to the identification of the delay tuning request message 1 and the client2, P0 starts a delay tuning flow. The time delay tuning flow of P0 comprises the steps of determining a time slot set 2 of P0 according to a time slot set 1 of a client2, negotiating and adjusting time slots of a client3 and a client4 according to the time slot set 2 and the P1, and then sending a time delay tuning request message to the P1. The delay tuning flow of each intermediate node is similar to P0.
P0 calls a time slot allocation algorithm, takes the time slot set 1 as the input of the time slot allocation algorithm, and the time slot allocation algorithm outputs the time slot set 2 of the client 3. The number of time slots in the time slot set 2 is the same as the number of time slots in the time slot set 1, so that the same bandwidth of the service flow in different FlexE channel is ensured.
Under the scene of time delay tuning and optimizing coupling bandwidth adjustment, the time slot distribution algorithm outputs the time slot set with the same time slot number as the input time slot set, and can simultaneously meet the time slots which are required by the time delay tuning and reduce the internal forwarding time delay of the intermediate node and the time slot number required by the bandwidth adjustment. In the scene, the time slot set 2 output by the time slot allocation algorithm is used for the clients 3 and 4, so that time delay adjustment and bandwidth adjustment can be synchronously realized, no extra steps are required to be executed, and the time slot adjustment efficiency can be improved.
Optionally, when only performing delay adjustment on the service flow, P0 may further determine whether the time slot in the time slot set 2 is the same as the time slot currently used by the client3, and if so, may not execute 1406, and directly execute 1407; if there is at least one time slot that is different, then 1406 is performed and 1407 is performed.
1406: P0 and P1 replace the slots of clients 3 and 4 with slots in slot set 2 through slot negotiation.
1407: P0 sends a delay tuning request message 2 to P1, and the delay tuning request message 2 comprises the identification of client 4.
The delay tuning request message 2 is similar to the delay tuning request message 1, and will not be described here again. The difference is that the delay tuning request message 2 carries the identification of client 4.
1408: P1 sends an acknowledgement message 2 for delay tuning request message 2 to P0.
This step is similar to step 1404 and will not be described further herein.
1409: P1 obtains a time slot set 3 of client5 according to the time delay tuning request message 2 and the time slot set 2.
And P1 determines a client5 belonging to the same service flow according to the identification of the client4 in the delay tuning request message 2, wherein the P1 stores the association relationship between the client4 and the client 5. In response to the identification of the delay tuning request message 2 and the client2, P1 starts a delay tuning flow.
P1 invokes the slot allocation algorithm and takes slot set 2 as input to the slot allocation algorithm, which outputs slot set 3 for client 5. The number of slots in slot set 3 is the same as the number of slots in slot set 3. Thereby ensuring that the bandwidths of the traffic flows in the different FlexE channel are the same.
Optionally, P1 may also determine whether the time slot in the time slot set 3 is the same as the time slot currently used by the client5, and if so, directly execute 1411 without executing 1410; if there is at least one time slot that is different, execution proceeds to 1410 first and then to 1411.
1410: P1 and P2 replace the slots of clients 5 and 6 with slots in slot set 3 through slot negotiation.
1411: P1 sends a delay tuning request message 3 to P2, and the delay tuning request message 3 comprises the identification of client 6.
1412: P2 sends an acknowledgement message 3 to P1 for the delay tuning request message 3.
1413: P2 obtains a time slot set 4 of client7 according to the time delay tuning request message 3 and the time slot set 3.
P2 determines client7 belonging to the same service flow according to the identification of client6 in the delay tuning request message 3, and P2 stores association relation between client6 and client7, for example. In response to the identification of the delay tuning request message 3 and the client6, the P2 starts a delay tuning flow.
P2 invokes the slot allocation algorithm and takes slot set 3 as input to the slot allocation algorithm, which outputs slot set 4 for client 7. The number of slots in the slot set 4 is the same as the number of slots in the slot set 4. Thereby ensuring that the bandwidths of the traffic flows in the different FlexE channel are the same.
Optionally, P3 may also determine whether the time slot in the time slot set 4 is the same as the time slot currently used by the client7, and if so, may not execute 1414, directly execute 1415; if there is at least one time slot that is different, 1414 is performed before 1415 is performed.
1414: P2 replaces the slots of clients 7 and 8 with slots in slot set 4 through slot negotiation with PE 1.
1415: P2 sends a delay tuning request message 4 to PE1, and the delay tuning request message 4 includes the identification of client 8.
1416: PE1 sends an acknowledgement message 4 to P2 for delay tuning request message 4.
Since PE1 is the tail node of the traffic flow forwarding path, the end-to-end delay tuning flow of PE0 to PE1 ends.
It will be appreciated that steps 1404, 1408, 1412 and 1416 are optional steps and that there is no necessarily order relationship between these steps and others.
Of course, since the last node does not need to perform the delay tuning flow, P2 may not send the delay tuning request message 4 to PE1, i.e., P2 does not need to perform step 1415, and PE1 does not need to perform step 1416.
In the above embodiment, the delay tuning request message is sent to the next node after the slot negotiation is completed, and in order to further improve the efficiency of end-to-end delay tuning, in some other embodiments, the delay tuning request message may be sent to the next node after the next node receives the slot set for delay tuning. For example, the time delay tuning request message may be sent after the time slot negotiation request message and before the time slot tuning complete message. Or when the target value for identifying the delay tuning request message is not carried by the four fields, i.e. the S field, the CR field, the CA field and the C field, for example, the target value for identifying the delay tuning request message is carried in a reserved field or an idle code block of OH of the base frame, the delay tuning request message and the slot negotiation request message or the slot adjustment completion message may be sent to the next node through the same base frame. Because the time delay optimal request message, the time slot negotiation request message and the time slot adjustment completion message act on the same client, when the time delay optimal request message and the time slot negotiation request message or the time slot adjustment completion message are sent through the same base frame, the time delay optimal request message and the time slot negotiation request message or the time slot adjustment completion message multiplex the same client identifier, so that the cost of message transmission can be reduced, and the efficiency can be improved.
The above is described based on the forward adjustment example, and the reverse adjustment process is similar to the forward adjustment process. The difference is that the reverse adjustment is to finish end-to-end delay tuning from the downstream node to the upstream node of the traffic stream hop by hop, so that the time slot set for delay tuning is used for the delay tuning, and the delay tuning request message is sent from the downstream node to the adjacent upstream node. In the reverse adjustment process, the downstream node may send the set of timeslots for delay adjustment to the adjacent upstream node by requesting to initiate a timeslot negotiation message. Of course, the set of timeslots used for delay tuning may be sent to the adjacent upstream node by other means, such as by a network management device, etc., without limitation.
In this embodiment, the node with completed delay tuning sends the delay tuning request message to the adjacent node with incomplete delay tuning, so that the adjacent node can be triggered to execute the delay tuning flow rapidly, thereby shortening the actual time delay tuning from end to end, improving the efficiency of end-to-end delay tuning, and reducing the influence of the delay tuning process on the user.
Fig. 16 is a flowchart of another embodiment of a time slot adjustment method according to the present application, as shown in fig. 16. In this embodiment, when the direction of delay adjustment is forward adjustment, the first communication device may be an intermediate node or a tail node, for example, P0, P1, P2 or PE1 in fig. 14, and the second communication device may be a head node or an intermediate node, for example, PE0, P1 or P2 in fig. 14. When the direction tail of the delay tuning is reversely adjusted, the first communication device can be a head node or an intermediate node, and the second communication device can be a tail node or an intermediate node. The first communication device and the second communication device are two adjacent nodes in the service flow forwarding path. Taking forward adjustment, the number of intermediate nodes is greater than or equal to 2 as an example, the first communication device, the second communication device, and the third communication device may be the following four cases:
1. the first communication device is a head node and the second and third communication devices are intermediate nodes. For example, the first communication device is PE0 in fig. 14, the second communication device is P0 in fig. 14, and the third communication device is P1 in fig. 14.
2. The first communication device, the second communication device and the third communication device are all intermediate nodes. For example, the first communication device is P0 in fig. 14, the second communication device is P1 in fig. 14, and the third communication device is P2 in fig. 14.
3. The first communication device and the second communication device are intermediate nodes, and the third communication device is a tail node. For example, the first communication device is P1 in fig. 14, the second communication device is P2 in fig. 14, and the third communication device is PE1 in fig. 14.
4. The first communication device is an intermediate node, the second communication device is a tail node, and the third communication device is substantially absent. For example, the first communication device is P2 in fig. 14, the second communication device is PE1 in fig. 14, the third communication device does not exist, and after receiving the delay tuning request message, the first communication device may send an acknowledgement message of the delay tuning request message to the second communication device.
When the number of the intermediate nodes is 1, the method may further include:
5. The first communication device is a head node, the second communication device is an intermediate node, and the third communication device is a tail node.
In either case, reference may be made to the description of the head node, the intermediate node or the tail node of fig. 14, so that the description of this embodiment is omitted. The embodiment comprises the following steps:
S1601: the second communication device sends a first message to the first communication device, the first message including an identification of the first client, the first message instructing the first communication device to adjust the time slot occupied by the second client according to the time slot occupied by the first client.
The first message is, for example, the delay tuning request message in fig. 14.
The first communication device and the second communication device are connected through a first FlexE channel. The first FlexE channel is, for example, flexE channel, flexE channel2, flexE channel, or FlexE channel4 in fig. 14. The first communication device and the third communication device (if present) are connected by a second FlexE channel, the second FlexE channel being, for example, flexE channel2, flexE channel3 or FlexE channel4 in fig. 14.
The first client binds with the first FlexE channel. The second client binds with the second FlexE channel. For example, when the first FlexE channel is FlexE channel1 in fig. 14, the first client is client2 in fig. 14, the second FlexE channel is FlexE channel2 in fig. 14, the second client is client3 in fig. 14, and so on.
S1602: the first communication device processes the first message.
When the first communication device is an intermediate node, processing the first message by the first communication device may then include operations similar to steps 1404 through 1407 in fig. 14.
When the first communication device is the last node with the optimal time delay, the processing of the first message by the first communication device may then include: the first communication device sends an acknowledgement message for the first message to the second communication device.
In this embodiment, the first communication device may adjust the time slot occupied by the second client based on the time slot occupied by the first FlexE channel bound adjacent to the second FlexE channel according to the first message, so that the time slot allocation between adjacent channels may be more reasonable, thereby reducing the delay of forwarding the service flow of the single network device, and further reducing the end-to-end service delay. And the nodes with finished delay tuning send delay tuning request information to the adjacent nodes with unfinished delay tuning, so that the adjacent nodes can be triggered to execute delay tuning flow rapidly, thereby shortening the actual time delay tuning from end to end, improving the efficiency of end-to-end delay tuning, and reducing the influence of the time delay tuning process on users.
Based on the same technical conception, the application also provides a communication device. Fig. 17 is a schematic structural diagram of an embodiment of a communication device according to the present application. The communication apparatus 1700 may be the first communication apparatus in any embodiment of the above-described slot adjustment method. The communication device 1700 includes a transceiver module 1701 and a processing module 1702. The transceiver module 1701 is configured to receive a first message sent by a second communication device, where the first message includes an identifier of a first client, the first client is bound with a first FlexE channel between the first communication device and the second communication device, and the first message indicates the first communication device to adjust a time slot occupied by the second client according to the time slot occupied by the first client, where the second client is bound with a second FlexE channel between the first communication device and the third communication device. A processing module 1702 is configured to process the first message.
In one possible implementation, the first message is carried in FlexE small-particle-based frames.
In one possible implementation, the first message is carried in the base frame overhead of FlexE small-particle base frames.
In one possible implementation, the first message is carried in FlexE overhead frames.
In one possible implementation, both the first client and the second client carry small particle traffic.
In one possible implementation, the processing module 1702 is specifically configured to obtain a first set of timeslots according to the first message and timeslots occupied by the first client; the processing module 1702 is specifically configured to adjust a time slot occupied by the second client from the second time slot set to the first time slot set.
In one possible implementation, the number of slots of the first set of slots is the same as the number of slots of the second set of slots.
In one possible implementation, the number of slots of the first set of slots is different from the number of slots of the second set of slots, and the number of slots of the first set of slots is the same as the number of slots of the slots occupied by the first client.
In one possible implementation, the processing module 1702 is configured to input, according to the first message, a slot occupied by the first client into a slot allocation algorithm to obtain a first set of slots output by the slot allocation algorithm.
In one possible implementation, the transceiver module 1701 is configured to send, after adjusting the time slot occupied by the second client from the second set of time slots to the first set of time slots, a second message to the third communication device through the second FlexE channel, where the second message includes an identifier of the second client, and the second message instructs the third communication device to adjust the time slot occupied by the fourth client according to the time slot occupied by the third client, where the third client is bound to the second FlexE channel, the fourth client is bound to a third FlexE channel between the third communication device and the fourth communication device, and the identifier of the second client is the same as the identifier of the third client.
In one possible implementation, the transceiver module 1701 is configured to send an acknowledgement message for the first message to the second communication device through the first FlexE channel after receiving the first message sent by the second communication device.
In one possible implementation, the processing module 1702 is configured to send an acknowledgement message for the first message to the second communication device via the first FlexE channel.
In one possible implementation, the transceiver module 1701 is configured to receive a timeslot-negotiation request message from the second communications device, where the timeslot-negotiation request message includes an identifier of the first client, and the timeslot-negotiation request message is configured to instruct that a timeslot occupied by the first client is adjusted from the third timeslot set to the fourth timeslot set; the receiving and transmitting module is used for sending a time slot negotiation confirmation message to the second communication device, wherein the time slot negotiation confirmation message comprises an identifier of the first client, and the time slot negotiation confirmation message indicates that the first communication device confirms the time slot negotiation request message; the receiving and transmitting module is configured to receive a time slot adjustment completion message from the second communication device, where the time slot adjustment completion message includes an identifier of a first client, and the time slot adjustment completion message indicates that the second communication device has adjusted a time slot occupied by a fifth client from a third time slot set to a fourth time slot set, the fifth client is bound to the first FlexE channel, and the identifier of the first client is the same as the identifier of the fifth client; the processing module 1702 is configured to adjust a time slot occupied by the first client from the third set of time slots to a fourth set of time slots in response to the time slot adjustment completion message.
In one possible implementation, the time slot occupied by the first client is a receiving time slot, and the time slot occupied by the second client is a transmitting time slot; or the time slot occupied by the first client is a transmitting time slot, and the time slot occupied by the second client is a receiving time slot.
Fig. 18 is a schematic structural diagram of another embodiment of a communication device according to the present application, as shown in fig. 18. The communication device 1800 may be the second communication device in any of the embodiments of the slot adjustment method described above. The communication device 1800 includes a processing module 1801 and a transceiver module 1802. Wherein the processing module 1801 is configured to generate a first message. The transceiver module 1802 is configured to send a first message to a first communication device. The first message includes an identification of a first client, the first client being bound to a first FlexE channel of the first communication device and the second communication device, the first message indicating the first communication device to adjust a time slot occupied by the second client according to the time slot occupied by the first client, wherein the second client is bound to a second FlexE channel of the first communication device and the third communication device.
In one possible implementation, the first message is carried in FlexE small-particle-based frames.
In one possible implementation, the first message is carried in the base frame overhead of FlexE small-particle base frames.
In one possible implementation, the first message is carried in FlexE overhead frames.
In one possible implementation, both the first client and the second client carry small particle traffic.
In one possible implementation, transceiver module 1802 is configured to receive a third message from the network management device, the third message including an identification of a fifth client and a fourth set of timeslots of the fifth client, the fifth client being bound to the first FlexE channel. A processing module 1801 is configured to adjust a time slot occupied by the fifth client from the third time slot set to a fourth time slot set.
In one possible implementation, the number of slots of the third set of slots is the same as the number of slots of the fourth set of slots.
In one possible implementation, the number of slots of the third set of slots is different from the number of slots of the fourth set of slots.
Fig. 19 is a schematic structural diagram of a communication device according to another embodiment of the present application. The communications device 1900 is configured to implement the functions of the first communications device or the second communications device in the above method. The communications device 1900 includes at least one processor 1902 for implementing the functionality of the first communications device or the second communications device in the methods provided by the present application. The communications device 1900 may also include a communications interface 1901. In the present application, the communication interface 1901 may be an ethernet interface, specifically, for example, a FlexEClient interface or a sub-Client interface, for communicating with other devices through a transmission medium. According to the communication interface 1901 and the processor 1902, the communication apparatus can execute the slot adjustment method in any of the embodiments described above.
The communication device of the present application may be a network device such as a router or a switch, or may be a component such as an interface board in a network device, or may be a chip, and is not specifically limited. When the communication device is a chip, the operations performed by the transceiver module or the communication interface may be implemented, for example, by an interface circuit, and the operations performed by the processing module or the processor may be implemented, for example, by a processing circuit.
The application also provides a computer readable storage medium comprising instructions which, when executed on a processor, perform the slot adjustment method of any embodiment.
The application also provides a computer program product. The computer program product comprises a program which, when run on a processor, performs the slot adjustment method of any of the embodiments described above.
It will be clear to those skilled in the art that, for convenience and brevity of description, specific working procedures of the above-described systems, apparatuses and units may refer to corresponding procedures in the foregoing method embodiments, which are not repeated herein.
In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of the units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, or may be in electrical or other forms.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. With such understanding, all or part of the technical solution of the present application may be embodied in the form of a software product stored in a storage medium, including instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a read-only memory (ROM), a random-access memory (RAM, random access memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
Claims (26)
1. A method of slot adjustment performed by a first communication device, the method comprising:
Receiving a first message sent by a second communication device, wherein the first message comprises an identification of a first client, the first client is bound with a first FlexE channel between the first communication device and the second communication device, the first message indicates the first communication device to adjust a time slot occupied by a second client according to the time slot occupied by the first client, and the second client is bound with a second FlexE channel between the first communication device and a third communication device;
and processing the first message.
2. The method of claim 1, wherein the first message is carried in a FlexE small particle-based frame.
3. The method of claim 2, wherein the first message is carried in a base frame overhead of the FlexE small-grain base frame.
4. The method of claim 1, wherein the first message is carried in FlexE overhead frames.
5. The method of any one of claims 1 to 4, wherein the first client and the second client each carry small particle traffic.
6. The method of any of claims 1-5, wherein the processing the first message comprises:
Obtaining a first time slot set according to the first message and the time slots occupied by the first client;
And adjusting the time slot occupied by the second client from a second time slot set to the first time slot set.
7. The method of claim 6, wherein the number of slots of the first set of slots is the same as the number of slots of the second set of slots.
8. The method of claim 6, wherein the number of slots of the first set of slots is different from the number of slots of the second set of slots, the number of slots of the first set of slots being the same as the number of slots of the first client.
9. The method according to any one of claims 6 to 8, wherein the deriving a first set of time slots from the first message and the time slots occupied by the first client comprises:
And inputting the time slot occupied by the first client into a time slot allocation algorithm according to the first message so as to obtain the first time slot set output by the time slot allocation algorithm.
10. The method according to any one of claims 6 to 9, wherein after said adjusting the time slots occupied by the second client from the second set of time slots to the first set of time slots, further comprising:
And sending a second message to the third communication device through the second FlexE channel, where the second message includes an identifier of the second client, and the second message instructs the third communication device to adjust a time slot occupied by a fourth client according to a time slot occupied by a third client, where the third client is bound to the second FlexE channel, the fourth client is bound to a third FlexE channel between the third communication device and the fourth communication device, and the identifier of the second client is the same as the identifier of the third client.
11. The method according to any one of claims 6 to 10, comprising, after receiving the first message sent by the second communication device:
An acknowledgement message for the first message is sent to the second communication device.
12. The method of claims 1-5, wherein the processing the first message comprises:
An acknowledgement message for the first message is sent to the second communication device.
13. The method according to any one of claims 1 to 12, characterized in that before receiving the first message sent by the second communication device, it comprises:
Receiving a time slot negotiation request message from the second communication device, wherein the time slot negotiation request message comprises an identification of the first client, and the time slot negotiation request message is used for indicating that a time slot occupied by the first client is adjusted from a third time slot set to a fourth time slot set;
Transmitting a time slot negotiation acknowledgement message to the second communication device, the time slot negotiation acknowledgement message including an identification of the first client, the time slot negotiation acknowledgement message indicating that the first communication device has acknowledged the time slot negotiation request message;
Receiving a time slot adjustment completion message from the second communication device, the time slot adjustment completion message including an identification of the first client, the time slot adjustment completion message indicating that the second communication device has adjusted a time slot occupied by a fifth client, which is bound to the first FlexE channel, from the third set of time slots to the fourth set of time slots, the identification of the first client being the same as the identification of the fifth client;
And in response to the time slot adjustment completion message, adjusting the time slot occupied by the first client from the third time slot set to the fourth time slot set.
14. The method according to any one of claims 1 to 13, wherein,
The time slot occupied by the first client is a receiving time slot, and the time slot occupied by the second client is a transmitting time slot; or (b)
The time slot occupied by the first client is the sending time slot, and the time slot occupied by the second client is the receiving time slot.
15. A method of slot adjustment performed by a second communication device, the method comprising:
A first message is sent to a first communication device, the first message including an identification of a first client, the first client being bound to a first FlexE channel between the first communication device and the second communication device, the first message indicating that the first communication device adjusts a time slot occupied by a second client according to the time slot occupied by the first client, wherein the second client is bound to a second FlexE channel between the first communication device and a third communication device.
16. The method of claim 15, wherein the first message is carried in a FlexE small particle-based frame.
17. The method of claim 16, wherein the first message is carried in a base frame overhead of the FlexE small-grain base frame.
18. The method of claim 15, wherein the first message is carried in FlexE overhead frames.
19. The method of any one of claims 15 to 18, wherein the first client and the second client each carry small particle traffic.
20. The method according to any one of claims 15 to 19, characterized in that before said sending the first message to the second communication device, it comprises:
Receiving a third message from a network management device, the third message including an identification of a fifth client and a fourth set of timeslots of the fifth client, the fifth client being bound to the first FlexE channel;
And adjusting the time slot occupied by the fifth client from the third time slot set to the fourth time slot set.
21. The method of claim 20, wherein the step of determining the position of the probe is performed,
The number of time slots of the third time slot set is the same as the number of time slots of the fourth time slot set.
22. The method of claim 20, wherein the step of determining the position of the probe is performed,
The third time slot set has a different number of time slots than the fourth time slot set.
23. A communication device, characterized in that the communication device comprises a transceiver module for communicating with other communication devices and a processing module, which cooperates with the transceiver module to implement the steps performed by a first communication device in a time slot adjustment method according to any one of claims 1 to 14 or by a second communication device in a time slot adjustment method according to any one of claims 15 to 22.
24. A communication device, characterized in that the device comprises a processor and a communication interface for communicating with other communication devices, according to which communication interface and the processor a time slot adjustment method according to any of claims 1 to 14 or 15 to 22 is performed.
25. A computer readable storage medium comprising instructions which, when executed on a processor, perform the time slot adjustment method of any one of claims 1 to 14 or 15 to 22.
26. A computer program product comprising a program which, when run on a processor, performs the time slot adjustment method of any one of claims 1 to 14 or 15 to 22.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211440222.6A CN118054891A (en) | 2022-11-17 | 2022-11-17 | Time slot adjustment method, communication device, and computer-readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211440222.6A CN118054891A (en) | 2022-11-17 | 2022-11-17 | Time slot adjustment method, communication device, and computer-readable storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118054891A true CN118054891A (en) | 2024-05-17 |
Family
ID=91043754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211440222.6A Pending CN118054891A (en) | 2022-11-17 | 2022-11-17 | Time slot adjustment method, communication device, and computer-readable storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118054891A (en) |
-
2022
- 2022-11-17 CN CN202211440222.6A patent/CN118054891A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022022263A1 (en) | Data transmission method, and device | |
CN112688754B (en) | Method and device for transmitting service flow based on flexible Ethernet Flexe | |
CN113300810B (en) | Transmission rate adjusting method and network equipment | |
EP3468075B1 (en) | Method, apparatus, and network system for sending and receiving services | |
CN108965157B (en) | Data transmission method, device, equipment and system | |
KR20020040897A (en) | Method and apparatus for data transportation and synchronization between mac and physical layers in a wireless communication system | |
KR101434931B1 (en) | Method, apparatus and system for transmitting sdh/sonet section overhead bytes | |
WO2021045964A1 (en) | Flexible ethernet and mtn over wireless links | |
WO2022042743A1 (en) | Data transmission method and apparatus, electronic device and computer-readable medium | |
WO2011057545A1 (en) | Method and apparatus for transmitting multipath service | |
KR20080095727A (en) | Method and apparatus for transmitting/receiving packet in mobile communication system | |
US11349595B2 (en) | Service multiplexing method, service demultiplexing method, and related device | |
CN102017566A (en) | A method and apparatus for processing protocol data units in a wireless network | |
US20230412446A1 (en) | Method for Determining Transmission Slot and Related Apparatus | |
KR20080018055A (en) | Method and apparatus for transmitting and receiving packet data | |
EP2077637B1 (en) | System and method for protecting payload information in radio transmission | |
CN114915366A (en) | Communication method, device and chip system | |
CN114173383A (en) | Channel bandwidth adjusting method, device and node | |
US20030043861A1 (en) | Data transmission apparatus and a path control method thereof | |
WO2010102453A1 (en) | Method, communication system and protocol entity for improving performance of relay network system | |
CN118054891A (en) | Time slot adjustment method, communication device, and computer-readable storage medium | |
JP7167345B2 (en) | DATA TRANSMISSION METHOD, COMMUNICATION DEVICE, AND STORAGE MEDIUM | |
CN116264587A (en) | Data transmission method and related device | |
CN110166382B (en) | Message forwarding method and device | |
EP2798790B1 (en) | Compression method for tdm frames in a packet network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |