A flexible ethernet instance transparent transmission method and device

By slicing the data at the sending end and writing time interval information into the overhead field, the receiver restores the data rate, thus solving the data structure corruption and jitter problems caused by rate adjustment in FlexE transparent transmission and achieving simple and low-latency data transmission.

CN122293264APending Publication Date: 2026-06-26WUHAN FISILINK MICROELECTRONICS TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
WUHAN FISILINK MICROELECTRONICS TECH CO LTD
Filing Date
2026-03-23
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

The existing FlexE technology, during transparent transmission, can disrupt the data structure and increase the risk of transmission errors by adjusting the rate through idle insertion/deletion. Furthermore, when using 66B data blocks for transmission, the rate jitter is too large, which is difficult for downstream devices to withstand.

Method used

The sending end slices the flexible Ethernet instance data stream into integer multiples of preset data block units, generates slice packets, and writes the time interval information between adjacent slice packets into the overhead field. The receiving end controls the reading rate according to this information to restore the service rate of the data stream and removes the overhead information.

Benefits of technology

It enables transparent transmission of data streams in packet-switched systems without disrupting the data structure by restoring the interval between adjacent packets, while satisfying the characteristics of simple circuitry and low transmission latency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122293264A_ABST
    Figure CN122293264A_ABST
Patent Text Reader

Abstract

This invention discloses a method and apparatus for transparent transmission of flexible Ethernet instance data, relating to the field of optical communication technology. The method includes: a transmitting end slicing a flexible Ethernet instance data stream into multiple slice packets according to an integer multiple of a preset data block unit; obtaining time interval information between adjacent slice packets, writing the time interval information into the overhead field of the corresponding slice packet, and sending the slice packet to a receiving end; the receiving end receiving the slice packet, writing the slice packet into a receive buffer, and parsing the time interval information from the overhead field of the slice packet; controlling the rate of reading data from the receive buffer based on the time interval information to restore the service rate of the flexible Ethernet instance data stream, removing the overhead information from the read data, and reassembling the remaining payload data into a continuous flexible Ethernet instance data stream. This application can transparently transmit data streams through a packet-switched system without destroying the data structure or adjusting the rate by adding or deleting idle frames.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of optical communication technology, specifically to a flexible Ethernet instance transparent transmission method and apparatus. Background Technology

[0002] FlexE (Flex Ethernet) technology, based on Ethernet technology and utilizing a high-speed Ethernet interface, decouples the Ethernet MAC and PHY rates to achieve flexible control of the interface rate, adapting to different network transmission structures. FlexE technology defines a FlexE shim layer at the Ethernet physical layer, situated between the MAC and PHY. It maps FlexE Client data streams from the MAC layer to the FlexE Group's PHY for transmission.

[0003] FlexE Client corresponds to the traditional Ethernet interface, representing Ethernet data streams based on the MAC layer rate, which is not fixed. A FlexE Group refers to a combination of several (1~m) bound PHYs. The information structure transmitted on any PHY within the group is called a FlexE instance, which carries FlexE Client data and related overhead. The FlexE shim distributes FlexE Client data in 66-byte blocks carried on the calendar to FlexE instances, and in the reverse direction, reassembles traffic transmitted from different instances into corresponding FlexE Client data streams.

[0004] FlexE Clients achieve rate adaptation by idle insertion / deletion to match the FlexE Group clock. If transparent transmission of FlexE instances is used (i.e., FlexE instances are not resolved into FlexE Clients), the packet-switched receiver cannot restore the sender's rate through idle insertion / deletion. If the sender uses a traditional fixed T value and employs the DSM algorithm module to calculate the varying packet length (B+-1) to transmit clock rate information, byte slicing will inevitably disrupt the 0 / 1 header boundaries, increasing circuit complexity and the risk of data transmission errors. If 66B data blocks are used for (66B+-1) data transmission, the rate jitter is too large, and downstream devices cannot withstand such significant fluctuations. Summary of the Invention

[0005] This application provides a flexible Ethernet instance transparent transmission method and apparatus, which can transparently transmit data streams through a packet switching system without destroying the data structure or adjusting the rate by adding or deleting idle frames.

[0006] In a first aspect, embodiments of this application provide a method for transparent transmission of flexible Ethernet instances, the method comprising the following steps: The sending end slices the Flexible Ethernet instance data stream into multiple slice packets according to an integer multiple of a preset data block unit. Obtain the time interval information between adjacent slice packets, write the time interval information into the overhead field of the corresponding slice packet, and send the slice packet to the receiving end; The receiving end receives the slice packet, writes the slice packet into the receiving buffer, and parses the time interval information from the overhead field of the slice packet; Based on the time interval information, the rate at which data is read from the receive buffer is controlled to restore the service rate of the flexible Ethernet instance data stream, remove overhead information from the read data, and reassemble the remaining load data into a continuous flexible Ethernet instance data stream.

[0007] In conjunction with the first aspect, in one implementation, controlling the rate at which data is read from the receive buffer based on the time interval information includes: Record the local time stamp of the current moment; Retrieve the historical timestamp of the last time a read request was initiated; Calculate the difference between the local time stamp and the historical time stamp. When the difference is greater than or equal to the time interval information, initiate the next read request.

[0008] In conjunction with the first aspect, in one implementation, obtaining the time interval information between adjacent slice packets includes: Based on a unified reference clock, record the first time marker of the current slice packet transmission time; Obtain the second timestamp of the time when all the above packets were sent; The difference between the first time marker and the second time marker is calculated as the time interval information.

[0009] In conjunction with the first aspect, in one implementation, slicing the data stream according to integer multiples of preset data block units includes: The data streams of the Flexible Ethernet instance are counted at a granular level of 66-byte data blocks; When the count value reaches the length of the slice packet, a slice packet is output, wherein the length of the slice packet is an integer multiple of 66B data blocks.

[0010] In conjunction with the first aspect, in one embodiment, after writing the slice packet into the receive buffer, the method further includes: Monitor the data fill level of the received buffer; When the data fill level reaches the preset starting read water line, a read request is responded to and data is read from the receive buffer.

[0011] In conjunction with the first aspect, in one implementation, it further includes: If the data fill level of the received buffer is higher than the high water level threshold or lower than the low water level threshold, an adjustment factor is added to the parsed time interval information to obtain the adjusted time interval information. The rate at which data is read from the receive buffer is controlled based on the adjusted time interval information.

[0012] In conjunction with the first aspect, in one implementation, it further includes: The time interval information is in units of the number of time slots in the scheduling calendar; The transmitting end converts the time interval calculated based on the reference clock into the number of calendar slots and writes it into the overhead field; The receiving end controls the rate at which it reads data from the receiving buffer based on the parsed number of calendar slots and the receiving end's local calendar count.

[0013] Secondly, embodiments of this application provide a flexible Ethernet instance transparent transmission device, characterized in that the flexible Ethernet instance transparent transmission device comprises: The transmitting end slicing module is used to slice the Flexible Ethernet instance data stream according to an integer multiple of a preset data block unit, generating multiple slice packets; The sending end calculation module is used to obtain the time interval information between adjacent slice packets, write the time interval information into the overhead field of the corresponding slice packet, and send the slice packet to the receiving end. A receiving end buffer module is used to receive the slice packet, write the slice packet into the receiving buffer, and parse the time interval information from the overhead field of the slice packet; The receiving end control module controls the rate at which data is read from the receiving buffer based on the time interval information, so as to restore the service rate of the flexible Ethernet instance data stream, remove overhead information from the read data, and reassemble the remaining load data into a continuous flexible Ethernet instance data stream.

[0014] In conjunction with the second aspect, in one implementation, the receiving end control module controls the rate at which data is read from the receiving buffer based on the time interval information, including: Record the local time stamp of the current moment; Retrieve the historical timestamp of the last time a read request was initiated; Calculate the difference between the local time stamp and the historical time stamp. When the difference is greater than or equal to the time interval information, initiate the next read request.

[0015] In conjunction with the second aspect, in one implementation, the sending end calculation module obtains the time interval information between adjacent slice packets, including: Based on a unified reference clock, record the first time marker of the current slice packet transmission time; Obtain the second timestamp of the time when all the above packets were sent; The difference between the first time marker and the second time marker is calculated as the time interval information.

[0016] The beneficial effects of the technical solutions provided in this application include at least the following: The Flexible Ethernet Instance Transparent Transmission method in this application involves the sending end slicing the Flexible Ethernet Instance data stream into multiple slice packets according to an integer multiple of a preset data block unit; obtaining the time interval information between adjacent slice packets, writing the time interval information into the overhead field of the corresponding slice packet, and sending the slice packet to the receiving end; the receiving end receiving the slice packet, writing the slice packet into a receive buffer, and parsing the time interval information from the overhead field of the slice packet; controlling the rate of reading data from the receive buffer based on the time interval information to restore the service rate of the Flexible Ethernet Instance data stream, removing the overhead information from the read data, and reassembling the remaining load data into a continuous Flexible Ethernet Instance data stream.

[0017] Therefore, this application can achieve transparent transmission of Flexe instances in packet-switched systems by restoring the interval between adjacent packets, without adjusting the rate by adding or deleting idle frames within data block units. This satisfies the characteristics of simple circuitry and low transmission latency. Attached Figure Description

[0018] Figure 1 This is a flowchart illustrating an embodiment of the flexible Ethernet instance transparent transmission method of this application; Figure 2 This is a schematic diagram illustrating the transparent transmission flow of the flexible Ethernet instance in this application; Figure 3 This is a schematic diagram of the slice package generated in this application; Figure 4 This is a schematic diagram of the slice packet overhead of the Flexe Instance in this application; Figure 5 This is a waveform diagram related to this application; Figure 6 This is a structural block diagram of an embodiment of the Flexible Ethernet Instance Transparent Transmission Device of this application. Detailed Implementation

[0019] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present application.

[0020] The terms "comprising" and "having," and any variations thereof, in the specification, claims, and accompanying drawings of this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to such process, method, product, or apparatus. The terms "first," "second," and "third," etc., are used to distinguish different objects, etc., and do not indicate a sequence, nor do they limit "first," "second," and "third" to different types.

[0021] In the description of the embodiments of this application, terms such as "exemplary," "for example," or "for instance" are used to indicate examples, illustrations, or explanations. Any embodiment or design described as "exemplary," "for example," or "for instance" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of terms such as "exemplary," "for example," or "for instance" is intended to present the relevant concepts in a concrete manner.

[0022] In the description of the embodiments of this application, unless otherwise stated, " / " means "or". For example, A / B can mean A or B. The "and / or" in the text is merely a description of the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. In addition, in the description of the embodiments of this application, "multiple" means two or more.

[0023] In some processes described in the embodiments of this application, multiple operations or steps are included in a specific order. However, it should be understood that these operations or steps may not be executed in the order they appear in the embodiments of this application, or they may be executed in parallel. The sequence number of the operation is only used to distinguish different operations, and the sequence number itself does not represent any execution order. In addition, these processes may include more or fewer operations, and these operations or steps may be executed sequentially or in parallel, and these operations or steps may be combined.

[0024] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0025] In a first aspect, embodiments of this application provide a flexible Ethernet instance transparent transmission method.

[0026] In one embodiment, reference is made to Figure 1 , Figure 1 This is a flowchart illustrating an embodiment of a flexible Ethernet instance transparent transmission method according to this application. Figure 1 As shown, the flexible Ethernet instance transparent transmission method includes: S1. The sending end slices the flexible Ethernet instance data stream into multiple slice packets according to an integer multiple of the preset data block unit. Specifically, the sending end slices the Flexible Ethernet Instance data stream into integer multiples of a preset data block unit, including: S11. Count the data stream of the Flexible Ethernet instance in 66B data blocks; S12. When the count value reaches the length of the slice packet, output a slice packet, wherein the length of the slice packet is an integer multiple of 66B data blocks.

[0027] S2. Obtain the time interval information between adjacent slice packets, write the time interval information into the overhead field of the corresponding slice packet, and send the slice packet to the receiving end; Specifically, obtaining the time interval information between adjacent slice packets includes: S21. Based on a unified reference clock, record the first time marker of the current slice packet transmission time; S22. Obtain the second time stamp of the transmission time of all previous fragment packets; S23. Calculate the difference between the first time marker and the second time marker, and use it as the time interval information.

[0028] S3. The receiving end receives the slice packet, writes the slice packet into the receiving buffer, and parses the time interval information from the overhead field of the slice packet; S4. Based on the time interval information, control the rate at which data is read from the receive buffer to restore the service rate of the flexible Ethernet instance data stream, remove overhead information from the read data, and reassemble the remaining load data into a continuous flexible Ethernet instance data stream.

[0029] Specifically, controlling the rate at which data is read from the receive buffer based on the time interval information includes: S41. Record the local time stamp of the current moment; S42. Obtain the historical timestamp of the last time a read request was initiated; S43. Calculate the difference between the local time stamp and the historical time stamp. When the difference is greater than or equal to the time interval information, initiate the next read request.

[0030] Preferably, after writing the slice packet into the receive buffer, the method further includes: Monitor the data fill level of the receive buffer; when the data fill level reaches the preset starting read line, respond to the read request and start reading data from the receive buffer.

[0031] Furthermore, if the data fill level of the receiving buffer is higher than the high water level threshold or lower than the low water level threshold, an adjustment factor is added to the parsed time interval information to obtain the adjusted time interval information; the rate at which data is read from the receiving buffer is controlled based on the adjusted time interval information.

[0032] Furthermore, to address the issue of excessive parallel processing resources in the receiver rate recovery circuit, one embodiment converts the adjacent packet time interval unit from a reference clock to time information based on a calendar. Calendar is a scheduling mechanism used by the Flexe shim layer to allocate bandwidth, dividing time into slots, each corresponding to a 66-byte block. Calendar specifies which slot is sent to which FlexE Client or Flexe instance.

[0033] Specifically, the time interval information is in units of the number of time slots in the scheduling calendar; The transmitting end converts the time interval calculated based on the reference clock into the number of calendar slots and writes it into the overhead field; The receiving end controls the rate at which it reads data from the receiving buffer based on the parsed number of calendar slots and the receiving end's local calendar count.

[0034] Furthermore, to address the issue of bursty data transmission of Flexe instance data upstream, a software-based calendar homogenization algorithm is used to allocate channel time slot scheduling opportunities before slicing to smooth out bursty data packets in the channel.

[0035] Thus, without disrupting the 66B data block unit or adjusting the rate by adding or deleting idle frames, Flexe instance can be transparently transmitted in a packet-switched system by restoring the interval between adjacent packets.

[0036] For ease of understanding, see [link to relevant documentation]. Figures 2 to 5As shown, the following explanation uses a single path in a 100G Flexe Instance. It is worth noting that this application is also applicable to other MAC rate services in the FlexE system and does not limit the number of paths.

[0037] This embodiment's transparent transmission method restores data service rates by restoring the time space between adjacent packets at the receiving end. First, it requires that the time space units of the receiving and transmitting ends be consistent. Therefore, the time space generation circuit at the transmitting end and the parsing circuit at the receiving end must be based on a unified reference clock. Further optimization involves converting the time space interval into the number of serial channel scheduling opportunities (calendars) using the reference clock as the unit. This allows the multi-channel rate recovery processing at the receiving end to be based on serial calendars, significantly saving resources in the rate recovery circuit. Simultaneously, the cycle settings for calendar generation should be consistent, as should the number of service channel time slots and the uniformization algorithm.

[0038] To enhance the robustness of the switching system, a valid range for time_space is defined. When the time_space received by the receiving end exceeds this valid range, an error alarm should be reported, and the data packet recovery rate should be restored according to the default value to prevent excessive data flow rate jitter and reduce the impact on downstream modules.

[0039] At the transmitting end, the Flexe instance data envelope of each channel is first counted. When the counter reaches a preset value and the channel scheduling calendar is enabled, the smoothed channel envelope is output downstream. This preset value is greater than the maximum value of the upstream envelope burst. The smoothing effect is illustrated below. Figure 5 As shown, the upstream data packet network (vld) has a bursty condition, and smooth_vld is the smoothed data packet network.

[0040] When generating the time space, a cyclic counting time stamp is first set based on the channel calendar, ranging from 0 to Max_timestamp. Max_timestamp should be set much larger than the time space. Then, the smoothed channel envelope is counted. When the count reaches the slice packet length, the current timestamp is subtracted from the previous packet timestamp (last_timestamp), and the resulting time space is written to the packet interval FIFO. Simultaneously, the current timestamp is latched into the last_timestamp register.

[0041] The time_space of the first packet slice can be set to the default value. The packet interval FIFO depth is set to a range that can tolerate upstream packet network jitter. As mentioned above, the time_space cannot exceed the preset normal range. When the time_space exceeds the preset range, an error alarm is reported, and the default value is written to the packet interval FIFO. The generation of time_space can be found in [reference needed]. Figure 5 The waveforms shown: The first sop differs from the second sop by 2 calendars, therefore time_space is 2. The first sop differs from the second sop by 3 calendars, therefore time_space is 3.

[0042] In addition, the sending end allocates channel time slots according to data service traffic and sets a fixed calendar cycle, and distributes channel scheduling opportunities evenly according to a uniformization algorithm.

[0043] See Figure 3 As shown, the sending end counts the channel envelope in 66-byte data blocks. When the channel envelope count reaches the slice packet length, a slice packet is output. The slice packet contains the data payload, overhead, and header and trailer indicators. The packet overhead fields include: packet interval (time_space), sequence number (sq), and packet checksum (CRC). An overhead bit distribution diagram can be found in the reference diagram. Figure 4 The packet interval `time_space` is obtained from the packet interval FIFO. The sequence number is a consecutive packet sequence, ranging from 0 to 15.

[0044] See Figure 2 As shown, at the receiving end, the sliced ​​packets output by the cell exchange matrix are written to the receive buffer based on the channel. The channel buffer responds to read requests from the receiving end read control module only after reaching the start_rd_level from its initial empty state. If the data buffer reaches an abnormal state of empty or full, it needs to be reinitialized to its initial state, and the data buffer will only respond to read requests again after reaching start_rd_level. When the receive buffer is higher than high_level or lower than low_level, a high / low level alarm is reported.

[0045] When the receiver buffer reaches the starting waterline (start_rd_level), a read request is initiated. The time_space is parsed from the packet switching overhead. If the difference between the receiver's local time stamp (rx_timestamp) and the last read request's time (last_rd_timestamp) is greater than or equal to the time_space, the next read request is initiated. The time scale of this read request is latched into the last_rd_timestamp register. This process is repeated. If the time_space in the packet overhead exceeds a preset range or a packet loss error occurs, an error alarm should be reported, and the next read request is initiated when the difference between Rx_timestamp and last_rd_timestamp reaches the default value. When the receiver buffer is higher than the high_level, the received time_space is subtracted from the adjustment factor, shortening the read request interval; when the receiver buffer is lower than the low_level, the received time_space is added to the adjustment factor, increasing the read request interval; when the buffer waterline returns to the starting waterline (start_rd_level), the normal read request interval is restored.

[0046] At the receiving end, channel scheduling opportunities are also evenly distributed, and the implementation mechanism is the same as that at the sending end.

[0047] The entire process is described below: Step S100: Perform envelope smoothing on the FLEX Instance 66B bitstream in the FlexE system. When the envelope of the FLEX Instance 66B bitstream is valid, the envelope is counted. When the envelope count is greater than the smoothing threshold (smooth_th) and the smoothing calendar channel is valid, the envelope vld_smooth is output to the downstream timestamp generation module.

[0048] Step S200: If an n*66B slice packet is generated based on the smoothed envelope vld_smooth, a time_space is produced. The time_space of the first slice packet is the default value. Each time a slice packet time_space is generated, it is written into the packet interval FIFO.

[0049] Step S300: When the data link slicing module has enough data to form an n*66B slice packet, it takes a time_space from the packet interval FIFO and adds it to the corresponding bit position in the slice overhead.

[0050] Step S400: The sliced ​​packet is transmitted from the sending end to the receiving end through the cell switching matrix; Step S500: The receiving end sets the buffer capacity according to the maximum jitter in the cell exchange matrix, and the sliced ​​data packets are buffered into the receiving buffer by channel; Step S600: After the receiving end reaches the starting watermark according to the receiving buffer watermark, it requests the first slice packet; it parses the time_space from the first slice packet. If the time interval between the last packet request and the previous packet request is greater than or equal to the time_space, it sends a request for the next packet. Subsequent packets will receive the next packet request in the same way.

[0051] If the received time_space interval is abnormal, if the interval exceeds the maximum range of time_space, the packet assembly circuit should promptly provide a request response to avoid the receiving buffer becoming full due to excessive interval. If the interval is less than the minimum range of time_space, the packet assembly circuit should delay the response to avoid sudden business interruptions.

[0052] When the receive buffer is higher than high_level or lower than low_level, a high / low water level alarm is reported, and an appropriate adjustment factor can be added to the received time_space to eliminate the cumulative effect of time error caused by circuit processing and avoid dangerous situations where the receive buffer water level is too high or too low.

[0053] Step S700: At the data slice packet receiving end, strip the overhead bytes and extract the data payload from the payload according to the slice packet length. Then, shift and concatenate the data payload to reassemble it into a continuous Flexe Instance 66B data service.

[0054] In summary, the Flexible Ethernet Instance Transparent Transmission method of this application involves the sending end slicing the Flexible Ethernet Instance data stream into multiple slice packets according to an integer multiple of a preset data block unit; obtaining the time interval information between adjacent slice packets, writing the time interval information into the overhead field of the corresponding slice packet, and sending the slice packet to the receiving end; the receiving end receiving the slice packet, writing the slice packet into a receive buffer, and parsing the time interval information from the overhead field of the slice packet; controlling the rate of reading data from the receive buffer based on the time interval information to restore the service rate of the Flexible Ethernet Instance data stream, removing the overhead information from the read data, and reassembling the remaining load data into a continuous Flexible Ethernet Instance data stream.

[0055] Therefore, this application can achieve transparent transmission of Flexe instances in packet-switched systems by restoring the interval between adjacent packets, without adjusting the rate by adding or deleting idle frames within data block units. This satisfies the characteristics of simple circuitry and low transmission latency.

[0056] Secondly, embodiments of this application also provide a flexible Ethernet instance transparent transmission device.

[0057] In one embodiment, reference is made to Figure 5 , Figure 5 This is a functional module diagram of an embodiment of the flexible Ethernet instance transparent transmission device of this application. Figure 5 As shown, the Flexible Ethernet Instance Transparent Transmission Device includes: The transmitting end slicing module is used to slice the Flexible Ethernet instance data stream according to an integer multiple of a preset data block unit, generating multiple slice packets; The sending end calculation module is used to obtain the time interval information between adjacent slice packets, write the time interval information into the overhead field of the corresponding slice packet, and send the slice packet to the receiving end. A receiving end buffer module is used to receive the slice packet, write the slice packet into the receiving buffer, and parse the time interval information from the overhead field of the slice packet; The receiving end control module controls the rate at which data is read from the receiving buffer based on the time interval information, so as to restore the service rate of the flexible Ethernet instance data stream, remove overhead information from the read data, and reassemble the remaining load data into a continuous flexible Ethernet instance data stream.

[0058] Further, in one embodiment, the receiving end control module controls the rate at which data is read from the receiving buffer based on the time interval information, including: Record the local time stamp of the current moment; Retrieve the historical timestamp of the last time a read request was initiated; Calculate the difference between the local time stamp and the historical time stamp. When the difference is greater than or equal to the time interval information, initiate the next read request.

[0059] Furthermore, in one embodiment, the sending end calculation module obtains the time interval information between adjacent slice packets, including: Based on a unified reference clock, record the first time marker of the current slice packet transmission time; Obtain the second timestamp of the time when all the above packets were sent; The difference between the first time marker and the second time marker is calculated as the time interval information.

[0060] Further, in one embodiment, the sending end slicing module slices the data stream according to integer multiples of a preset data block unit, including: The data streams of the Flexible Ethernet instance are counted at a granular level of 66-byte data blocks; When the count value reaches the length of the slice packet, a slice packet is output, wherein the length of the slice packet is an integer multiple of 66B data blocks.

[0061] Furthermore, in one embodiment, after writing the slice packet into the receive buffer, the receive-end buffer module is further configured to: Monitor the data fill level of the received buffer; When the data fill level reaches the preset starting read water line, a read request is responded to and data is read from the receive buffer.

[0062] Furthermore, in one embodiment, the receiving end buffer module is further configured to: If the data fill level of the received buffer is higher than the high water level threshold or lower than the low water level threshold, an adjustment factor is added to the parsed time interval information to obtain the adjusted time interval information. The rate at which data is read from the receive buffer is controlled based on the adjusted time interval information.

[0063] Furthermore, in one embodiment: The time interval information is in units of the number of time slots in the scheduling calendar; The transmitting end slicing module converts the time interval calculated based on the reference clock into the number of calendar slots and writes it into the overhead field; The receiving end control module controls the rate at which data is read from the receiving buffer based on the parsed number of calendar slots and the local calendar count at the receiving end.

[0064] Furthermore, in one embodiment, a sending-end scheduling module is also included: The sending end scheduling module allocates channel time slots according to data service traffic and sets a fixed calendar cycle, and distributes channel scheduling opportunities as evenly as possible according to a uniformity algorithm.

[0065] Preferably, it also includes a receiving end scheduling module, the implementation mechanism of which is the same as that of the sending end scheduling module.

[0066] The functions of each module in the above-mentioned Flexe instance transparent transmission device correspond to the steps in the above-mentioned Flexe instance transparent transmission method embodiment, and their functions and implementation processes will not be described in detail here.

[0067] The above are merely preferred embodiments of this application and do not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.

Claims

1. A flexible Ethernet instance transparent transmission method, characterized in that, The flexible Ethernet instance transparent transmission method includes the following steps: The sending end slices the Flexible Ethernet instance data stream into multiple slice packets according to an integer multiple of a preset data block unit. Obtain the time interval information between adjacent slice packets, write the time interval information into the overhead field of the corresponding slice packet, and send the slice packet to the receiving end; The receiving end receives the slice packet, writes the slice packet into the receiving buffer, and parses the time interval information from the overhead field of the slice packet; Based on the time interval information, the rate at which data is read from the receive buffer is controlled to restore the service rate of the flexible Ethernet instance data stream, remove overhead information from the read data, and reassemble the remaining load data into a continuous flexible Ethernet instance data stream.

2. The flexible Ethernet instance transparent transmission method as described in claim 1, characterized in that, The method of controlling the rate at which data is read from the receive buffer based on the time interval information includes: Record the local time stamp of the current moment; Retrieve the historical timestamp of the last time a read request was initiated; Calculate the difference between the local time stamp and the historical time stamp. When the difference is greater than or equal to the time interval information, initiate the next read request.

3. The flexible Ethernet instance transparent transmission method as described in claim 1, characterized in that, The step of obtaining the time interval information between adjacent slice packets includes: Based on a unified reference clock, record the first time marker of the current slice packet transmission time; Obtain the second timestamp of the time when all the above packets were sent; The difference between the first time marker and the second time marker is calculated as the time interval information.

4. The flexible Ethernet instance transparent transmission method as described in claim 1, characterized in that, The step of slicing the data stream according to integer multiples of preset data block units includes: The data streams of the Flexible Ethernet instance are counted at a granular level of 66-byte data blocks; When the count value reaches the length of the slice packet, a slice packet is output, wherein the length of the slice packet is an integer multiple of 66B data blocks.

5. The flexible Ethernet instance transparent transmission method as described in claim 1, characterized in that, After writing the sliced ​​packet into the receive buffer, the method further includes: Monitor the data fill level of the received buffer; When the data fill level reaches the preset starting read water line, a read request is responded to and data is read from the receive buffer.

6. The flexible Ethernet instance transparent transmission method as described in claim 5, characterized in that, Also includes: If the data fill level of the received buffer is higher than the high water level threshold or lower than the low water level threshold, an adjustment factor is added to the parsed time interval information to obtain the adjusted time interval information. The rate at which data is read from the receive buffer is controlled based on the adjusted time interval information.

7. The flexible Ethernet instance transparent transmission method as described in claim 1, characterized in that, Also includes: The time interval information is in units of the number of time slots in the scheduling calendar; The transmitting end converts the time interval calculated based on the reference clock into the number of calendar slots and writes it into the overhead field; The receiving end controls the rate at which it reads data from the receiving buffer based on the parsed number of calendar slots and the receiving end's local calendar count.

8. A flexible Ethernet instance transparent transmission device, characterized in that, The flexible Ethernet instance transparent transmission device includes: The transmitting end slicing module is used to slice the Flexible Ethernet instance data stream according to an integer multiple of a preset data block unit, generating multiple slice packets; The sending end calculation module is used to obtain the time interval information between adjacent slice packets, write the time interval information into the overhead field of the corresponding slice packet, and send the slice packet to the receiving end. A receiving end buffer module is used to receive the slice packet, write the slice packet into the receiving buffer, and parse the time interval information from the overhead field of the slice packet; The receiving end control module controls the rate at which data is read from the receiving buffer based on the time interval information, so as to restore the service rate of the flexible Ethernet instance data stream, remove overhead information from the read data, and reassemble the remaining load data into a continuous flexible Ethernet instance data stream.

9. The flexible Ethernet instance transparent transmission device as described in claim 8, characterized in that, The receiving end control module controls the rate at which data is read from the receiving buffer based on the time interval information, including: Record the local time stamp of the current moment; Retrieve the historical timestamp of the last time a read request was initiated; Calculate the difference between the local time stamp and the historical time stamp. When the difference is greater than or equal to the time interval information, initiate the next read request.

10. The flexible Ethernet instance transparent transmission device as described in claim 8, characterized in that, The sending end calculation module obtains the time interval information between adjacent slice packets, including: Based on a unified reference clock, record the first time marker of the current slice packet transmission time; Obtain the second timestamp of the time when all the above packets were sent; The difference between the first time marker and the second time marker is calculated as the time interval information.