A method and device for transmitting data in flexible Ethernet
By detecting errors in data blocks in flexible Ethernet and notifying time slot corruption, the problem that the sending FlexE device cannot sense and adjust the damaged time slot in time is solved, and the effect of reducing the impact of time slot corruption is achieved.
Patent Information
- Application Number
- CN202010658947.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2017-02-16
- Publication Date
- 2025-03-07
- Estimated Expiration
- 2037-02-16
AI Technical Summary
In flexible Ethernet, the sending FlexE device cannot sense and adjust the damaged time slot in time, resulting in the impact of message transmission.
By detecting errors in the data block in the receiving end FlexE device and determining the time slot corruption, the sending end FlexE device can receive the information of the damaged time slot through the time slot corruption notification in the overhead head frame, thereby adjusting the transmission time slot.
This method enables the receiver FlexE device to promptly notify the sender FlexE device to timely damage the time slot, prompting the sender to adjust the transmission time slot, thereby reducing the impact of the time slot damage on data transmission.
Smart Images

Figure CN111953450B_ABST
Abstract
Description
[0001] This application is a divisional application entitled “A method and device for transmitting data in a flexible Ethernet”, with patent application number 201710084715.3 and application date February 16, 2017. Technical Field
[0002] The present application relates to the field of communications, and in particular to a method and device for transmitting data in a Flexible Ethernet (FlexEthernet, FlexE). Background Art
[0003] The Flexible Ethernet implementation agreement (implementation agreement) released by the Optical Internetworking Forum (OIF) defines a shim layer between the Media Access Control (MAC) layer and the physical layer. In FlexE-based forwarding, the transmitting FlexE device uses the time slot corresponding to the FlexE client to send the message of the FlexE client to the receiving FlexE device. The FlexE client is an Ethernet stream based on the MAC data rate, which may or may not be equal to the Ethernet physical layer rate. The receiving FlexE device obtains the data sent by the transmitting FlexE device from the time slot corresponding to the FlexE client to recover the message.
[0004] When the hardware used by the transmitting FlexE device to send a message is partially damaged, for example, the FlexE device includes multiple parallel processing components corresponding to multiple time slots, and one of the multiple parallel processing components is damaged, the message sent by the transmitting FlexE device in the time slot corresponding to the damaged processing component will be erroneous. If the message in a certain time slot continues to have errors, it can be called a damaged time slot. After the receiving FlexE device recovers the message, the error message can be found and discarded or the message can be corrected through error checking. However, the transmitting FlexE device cannot sense whether the time slot is damaged, and will continue to use the damaged time slot to send messages, resulting in affected message transmission. Summary of the invention
[0005] The present application provides a method and device for transmitting data in FlexE, which helps to reduce the impact of time slot damage when transmitting data in FlexE.
[0006] In a first aspect, a method for transmitting data in FlexE is provided. The method includes:
[0007] The first FlexE device receives data including a plurality of data blocks sent by the second FlexE device using a first client schedule, wherein the first client schedule indicates a correspondence between clients and a first set of time slots;
[0008] The first FlexE device determines, based on an erroneous data block among the plurality of data blocks, that a first time slot is damaged, the first time slot set including the first time slot;
[0009] The first FlexE device adds a timeslot damage notification in an overhead header frame sent to the second FlexE device, where the timeslot damage notification indicates that the first timeslot is damaged;
[0010] The first FlexE device receives a second customer schedule sent by the second FlexE device, where the second customer schedule indicates a correspondence between the customer and a second time slot set, where the second time slot set includes time slots in the first time slot set except the first time slot;
[0011] The first FlexE device receives data sent by the second FlexE device using the second client schedule.
[0012] Through the above solution, the receiving FlexE device can notify the transmitting FlexE device of the time slot damage, so that the transmitting FlexE device can adjust the transmission time slot in time to reduce the impact of time slot damage on data transmission.
[0013] Optionally, the second time slot set also includes replacement time slots that are not in the first time slot set. Using replacement time slots to replace damaged time slots helps to provide sufficient transmission time slots, further reducing the impact of time slot damage on data transmission.
[0014] Optionally, the first FlexE device determines that the first time slot is damaged according to the erroneous data block, including: if the number of erroneous data blocks corresponding to the first time slot meets a condition, the first FlexE device determines that the first time slot is damaged. By setting the condition for determining time slot damage, accidental transmission errors can be filtered, thereby improving the applicability of the method for transmitting data.
[0015] In a second aspect, a method for transmitting data in FlexE is provided. The method includes:
[0016] The first FlexE device sends data including a plurality of data blocks to the second FlexE device using a first customer schedule, wherein the first customer schedule indicates a correspondence between customers and a first set of time slots;
[0017] The first FlexE device receives a timeslot damage notification in an overhead header frame sent by the second FlexE device, where the timeslot damage notification indicates that a first timeslot in the first timeslot set is damaged;
[0018] The first FlexE device sends a second customer schedule to the second FlexE device, where the second customer schedule indicates a correspondence between the customer and a second time slot set, where the second time slot set includes time slots in the first time slot set except the first time slot;
[0019] The first FlexE device sends data to the second FlexE device using the second customer schedule.
[0020] Optionally, the second time slot set also includes replacement time slots that are not in the first time slot set.
[0021] The above-mentioned solution of the second aspect has the same technical effect as the corresponding solution using the same means in the description of the first aspect.
[0022] In a third aspect, a FlexE device including a media access controller, a FlexE gasket circuit and a physical layer transceiver is provided.
[0023] The FlexE shim circuit is configured to receive data including a plurality of data blocks sent by another FlexE device via the physical layer transceiver using a first client schedule, determine that a first time slot is damaged according to an erroneous data block among the plurality of data blocks determined by the media access controller, and send an overhead header frame including a time slot damage notification to the other FlexE device via the physical layer transceiver. The first client schedule indicates a correspondence between a client and a first time slot set. The first time slot set includes the first time slot. The time slot damage notification indicates that the first time slot is damaged.
[0024] The FlexE shim circuit is further configured to receive a second client schedule sent by the other FlexE device via the physical layer transceiver, and use the second client schedule to receive data sent by the other FlexE device via the physical layer transceiver. The second client schedule indicates a correspondence between the client and a second time slot set. The second time slot set includes time slots in the first time slot set except the first time slot.
[0025] Optionally, the second time slot set also includes replacement time slots that are not in the first time slot set.
[0026] Optionally, the FlexE shim circuit determines that the first time slot is damaged based on the erroneous data blocks among the multiple data blocks determined by the media access controller, including: if the number of erroneous data blocks corresponding to the first time slot meets a condition, the FlexE shim circuit determines that the first time slot is damaged.
[0027] The above-mentioned solution of the third aspect has the same technical effect as the corresponding solution using the same means in the content described in the first aspect.
[0028] In a fourth aspect, a FlexE device including a FlexE gasket circuit and a physical layer transceiver is provided.
[0029] The FlexE shim circuit is used to send data including a plurality of data blocks to another FlexE device via the physical layer transceiver using a first client schedule. The first client schedule indicates a correspondence between clients and a first set of time slots.
[0030] The FlexE shim circuit is further configured to receive, via the physical layer transceiver, a time slot damage notification in an overhead header frame sent by the other FlexE device, wherein the time slot damage notification indicates that a first time slot in the first time slot set is damaged.
[0031] The FlexE shim circuit is further configured to send a second client schedule to the other FlexE device via the physical layer transceiver. The second client schedule indicates a correspondence between the client and a second time slot set. The second time slot set includes time slots in the first time slot set except the first time slot.
[0032] The FlexE shim circuit is further configured to send data to the other FlexE device via the physical layer transceiver using the second client schedule.
[0033] Optionally, the second time slot set also includes replacement time slots that are not in the first time slot set. The above solution of the fourth aspect has the same technical effect as the corresponding solution using the same means in the content described in the first aspect.
[0034] In a fifth aspect, a FlexE device including a receiving unit, a determining unit and a sending unit is provided.
[0035] The receiving unit is configured to receive data including a plurality of data blocks sent by another FlexE device using a first client schedule, wherein the first client schedule indicates a correspondence between a client and a first set of time slots.
[0036] The determining unit is configured to determine that a first time slot is damaged according to an erroneous data block among the multiple data blocks, and the first time slot set includes the first time slot.
[0037] The sending unit is configured to add a timeslot damage notification in an overhead header frame sent to the other FlexE device, wherein the timeslot damage notification indicates that the first timeslot is damaged.
[0038] The receiving unit is further used to receive a second customer schedule sent by the other FlexE device, the second customer schedule indicating the correspondence between the customer and a second time slot set, the second time slot set including time slots in the first time slot set except the first time slot; and to receive data sent by the other FlexE device using the second customer schedule.
[0039] Optionally, the second time slot set also includes replacement time slots that are not in the first time slot set.
[0040] Optionally, the determining unit determines that the first time slot is damaged according to the erroneous data blocks, including: if the number of erroneous data blocks corresponding to the first time slot meets a condition, the determining unit determines that the first time slot is damaged.
[0041] The above-mentioned scheme of the fifth aspect has the same technical effect as the corresponding scheme using the same means in the description of the first aspect.
[0042] In a sixth aspect, a FlexE device including a sending unit and a receiving unit is provided.
[0043] The sending unit is used to send data including multiple data blocks to another FlexE device using a first client schedule, where the first client schedule indicates a correspondence between clients and a first set of time slots.
[0044] The receiving unit is configured to receive a timeslot damage notification in an overhead header frame sent by the other FlexE device, wherein the timeslot damage notification indicates that a first timeslot in the first timeslot set is damaged.
[0045] The sending unit is further used to send a second customer schedule to the other FlexE device, where the second customer schedule indicates the correspondence between the customer and a second time slot set, where the second time slot set includes time slots in the first time slot set except the first time slot; and to send data to the other FlexE device using the second customer schedule.
[0046] Optionally, the second time slot set also includes replacement time slots that are not in the first time slot set.
[0047] The above-mentioned scheme of the sixth aspect has the same technical effect as the corresponding scheme using the same means in the description of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0048] Figure 1 A schematic diagram of data transmitted by a FlexE device using a physical layer transceiver;
[0049] Figure 2 A schematic diagram of a method for transmitting data in FlexE provided in an embodiment of the present application;
[0050] Figure 3 is a structural diagram of a FlexE device 300 provided in an embodiment of the present application;
[0051] Figure 4 is a structural diagram of a FlexE device 400 provided in an embodiment of the present application;
[0052] Figure 5 It is a structural diagram of a FlexE device 500 provided in an embodiment of the present application. DETAILED DESCRIPTION
[0053] In order to make the objectives, technical solutions and advantages of the present invention more clear, the embodiments of the present invention will be further described in detail below with reference to the accompanying drawings.
[0054] The application scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. A person of ordinary skill in the art can appreciate that with the evolution of network architecture and the emergence of new application scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
[0055] The transmission of data in FlexE is based on a time division multiplexing mechanism. Specifically, the time domain resources of a physical layer transceiver with a transmission rate of 100 gigabits per second (Gbit / s) can be divided into 20 time slots, and data can be sent and received with 20 time slots as a cycle. In each of these 20 time slots, the sending and receiving rate of the physical layer transceiver is 5Gbit / s. In each cycle, the FlexE device can send a data block in a time slot using the physical layer transceiver, or it can receive a data block in a time slot. A FlexE client corresponds to one or more time slots. The 20 time slots in the time domain resources of the physical layer transceiver can correspond to one FlexE client or multiple FlexE clients. In other words, the 20 time slots in the time domain resources of the physical layer transceiver can be used only to send or receive data from one FlexE client, or it can be used to send or receive data from multiple FlexE clients. The correspondence between FlexE clients and time slots is called a client calendar (English: Client Calendar). The sending FlexE device A uses the client schedule to send the data block of the FlexE client to the receiving FlexE device B in the time slot corresponding to the FlexE client.
[0056] Figure 1 It is a schematic diagram of data transmitted by a FlexE device using a physical layer transceiver.
[0057] The data transmitted by a FlexE device using a physical layer transceiver consists of a data block and an overhead header. The "*" in this application is a multiplication sign. Specifically, Figure 1 As shown, there is an overhead header before every 20*1023 consecutive data blocks. There are no other data blocks or overhead headers between the overhead header and the 20*1023 consecutive data blocks. After FlexE device A sends 8*32 of the 20*1023 consecutive data blocks, a total of 8*32 overhead headers are sent. Among them, every 8 overhead headers constitute a FlexE overhead header frame (English: Overhead frame). 32 FlexE overhead header frames constitute a FlexE overhead header multiframe (English: Overhead Multiframe). The first 20 FlexE overhead header frames of the FlexE overhead header multiframe each include two FlexE customer indication fields corresponding to a time slot. For example, the first FlexE overhead header frame includes two FlexE customer indication fields corresponding to the first time slot, such as customer bearer schedule A for the first time slot and customer bearer schedule B for the first time slot. The second FlexE overhead header frame includes two FlexE customer indication fields corresponding to the second time slot, such as customer bearer schedule A for the second time slot and customer bearer schedule B for the second time slot. And so on. Before a FlexE overhead header multiframe is sent, the customer schedule agreed upon by FlexE device A and FlexE device B does not change. The FlexE device combines customer bearer schedule A from the 1st time slot to customer bearer schedule A from the 20th time slot to obtain customer schedule A. The FlexE device combines customer bearer schedule B from the 1st time slot to customer bearer schedule B from the 20th time slot to obtain customer schedule B. The receiving FlexE device B can assemble data blocks from the same FlexE customer according to customer schedule A or customer schedule B to restore the original message of the FlexE customer. The FlexE overhead header multiframe may also include other fields. For the specific content of each field in the FlexE overhead header multiframe, refer to the description in the Flexible Ethernet Implementation Agreement 1.0 (English: Flex Ethernet Implementation Agreement 1.0).
[0058] Each of the above 20*1023 data blocks may be a 64-bit / 66-bit (64b / 66b) line-coded data block. The data block in the present application refers to a coded data block. For example, the data block may be a data block coded by a physical coding sublayer (PCS) circuit.
[0059] Each of the eight overhead headers that make up a FlexE overhead header frame is a 66-bit block. According to the description in the Flexible Ethernet Implementation Protocol 1.0, the eight overhead headers include reserved bits that can be used, such as bits 20 to 66 of the second overhead header and bits 38 to 50 of the third overhead header.
[0060] The embodiment of the present application utilizes the reserved bits in the above FlexE overhead header frame to transmit the time slot damage notification. The receiving FlexE device can determine the damaged time slot based on the error block with errors in the received data block, and use the same cable that receives the data block to send the time slot damage notification to the sending FlexE device in the reverse direction. The cable, for example, includes a pair of lines that transmit data in both forward and reverse directions. Thus, the damaged time slot indicated by the time slot damage notification sent by the receiving FlexE device corresponds to the damaged time slot of the sending FlexE device. The sending FlexE device can adjust the time slot used when sending data according to the time slot damage notification. The reserved bit uses, for example, the 38th bit of the 3rd overhead header. A value of 0 indicates that the time slot is in a normal state, and a value of 1 indicates that the time slot is in a damaged state.
[0061] Figure 2 This is a schematic diagram of a method for transmitting data in FlexE provided in an embodiment of the present application. The method flow is as follows:
[0062] S201, FlexE device A sends data including multiple data blocks to FlexE device B using a first customer schedule.
[0063] The first customer schedule indicates the correspondence between customers and the first time slot set. The first time slot set may include multiple time slots. The first customer schedule is, for example, customer schedule A, and customer schedule A indicates the correspondence between one or more customers and the first time slot set. The first time slot set includes one or more time slots. For example, the first time slot set includes the 1st time slot, the 2nd time slot, and the 5th time slot. Customer schedule A indicates that FlexE customer 1 corresponds to the 1st time slot and the 2nd time slot in the first time slot set, and FlexE customer 2 corresponds to the 5th time slot in the first time slot set. According to customer schedule A, FlexE device A periodically sends data to FlexE device B in multiple time slots in the first time slot set, and each time slot in the multiple time slots can send a data block in each sending cycle.
[0064] S202, FlexE device B receives data including multiple data blocks sent by FlexE device A using the first client schedule.
[0065] FlexE device B obtains multiple data blocks from the FlexE customer from the data sent by FlexE device A according to the instruction of the first customer schedule. FlexE device B receives multiple data blocks corresponding to one FlexE customer in one or more time slots corresponding to the one FlexE customer included in the first time slot set. FlexE device B receives multiple data blocks corresponding to another FlexE customer in one or more time slots corresponding to the other FlexE customer included in the first time slot set. FlexE device B assembles the data blocks from the same FlexE customer respectively to restore the original messages from each FlexE customer.
[0066] S203: FlexE device B determines that the first time slot is damaged according to an erroneous data block among the multiple erroneous blocks.
[0067] FlexE device B performs error detection on the original message recovered from multiple data blocks, and the detection uses, for example, a cyclic redundancy check (CRC). Through error detection, the error message in the original message can be determined, and the data block included in the error message is an error data block, thereby determining the error data block in the multiple data blocks. The error data block may be received in multiple time slots within a receiving cycle, or may be received in one time slot or multiple time slots within multiple receiving cycles. One or more time slots of the received error data block are damaged time slots. Based on the error data block in the multiple data blocks, the damaged time slot in the first time slot set, such as the first time slot, can be determined, and the first time slot may include one or more time slots.
[0068] Optionally, if the number of erroneous data blocks corresponding to the first time slot meets the condition, FlexE device B determines that the first time slot is damaged. For example, FlexE device B determines the time slots corresponding to all erroneous data blocks in the multiple data blocks, and counts the number of erroneous data blocks corresponding to each time slot respectively. When the number of erroneous data blocks corresponding to a time slot exceeds a threshold, the time slot is determined to be damaged, or when the number of erroneous data blocks corresponding to a time slot per unit time exceeds a threshold, the time slot is determined to be damaged, or when the ratio of the number of erroneous data blocks corresponding to a time slot per unit time to the total number of data blocks corresponding to a time slot per unit time exceeds a threshold, the time slot is determined to be damaged. The first time slot includes all time slots determined to be damaged. By setting the conditions for determining time slot damage, accidental transmission errors can be filtered, erroneous deletion or replacement of undamaged time slots can be avoided, and the applicability of the method for transmitting data can be further improved.
[0069] S204: FlexE device B adds a time slot damage notification in an overhead header frame sent to FlexE device A, where the time slot damage notification indicates that the first time slot is damaged.
[0070] Each overhead header frame sent by FlexE device B to FlexE device A includes 8 overhead headers, and the reserved bits therein can be selected as time slot damage notifications to indicate damaged time slots. For example, 20 bits, 20 to 39, of the second overhead header are selected, and a value of 0 indicates that the time slot is normal, and a value of 1 indicates that the time slot is damaged. The values of the 20 bits can sequentially represent the damage status of the 20 time slots. For another example, FlexE device B sequentially adds time slot damage notifications to multiple overhead header frames sent to FlexE device A. The multiple overhead header frames can be the first 20 overhead header frames in the overhead header multiframe sent by FlexE device B to FlexE device A. Each overhead header frame in the first 20 overhead header frames sent by FlexE device B to FlexE device A corresponds to a time slot of data sent by FlexE device A to FlexE device B. If a time slot in which FlexE device A sends data to FlexE device B is damaged, FlexE device B adds a time slot damage notification in the corresponding overhead header frame sent by FlexE device B to FlexE device A. For example, the time slot damage notification occupies the 38th bit of the third overhead header in each overhead header frame, and a value of 0 indicates that the time slot is normal, and a value of 1 indicates that the time slot is damaged. Thus, the time slot damage notifications in the 20 overhead header frames sequentially sent by FlexE device B to FlexE device A can sequentially indicate the damage status of the 1st to 20th time slots.
[0071] S205: FlexE device A sends a second customer schedule to FlexE device B, where the second customer schedule indicates a correspondence between the customer and a second time slot set.
[0072] The second time slot set does not include the first time slot. The second time slot set may include any time slot in the first time slot set except the first time slot. The second time slot set may also include a time slot that is not in the first time slot set (eg, a replacement time slot or a newly added time slot).
[0073] FlexE device A deletes the relationship between the customer and the first time slot in the first customer schedule according to the time slot damage notification in the overhead header frame sent by FlexE device B, thereby generating a second customer schedule. The deletion is, for example, deleting the customer bearer schedule corresponding to the first time slot in the first customer schedule or setting the customer bearer schedule to other values that do not indicate any customer. When the first customer schedule is customer schedule A, the second customer schedule is customer schedule B. The second customer schedule generated by FlexE device B can indicate the corresponding relationship between the customer and the second time slot set, and the second time slot set includes the time slots in the first time slot set except the first time slot.
[0074] Optionally, the second time slot set also includes a replacement time slot, which is not in the first time slot set. FlexE device A can search for a replacement time slot for replacing the first time slot, which is not in the first time slot set. FlexE device A adds a customer bearer schedule indicating the customer corresponding to the replacement time slot in the second customer schedule. Thus, the second customer schedule can indicate the correspondence between the customer and the second time slot set, and the second time slot set includes a replacement time slot that is not in the first time slot set. The replacement time slot may be a time slot in the first customer schedule that does not contain a customer bearer schedule or a time slot in which the customer bearer schedule does not indicate any customer. FlexE device A can record the damaged time slot so that when the method is executed again to find a replacement time slot in the future, the damaged time slot that has been recorded is excluded. By using replacement time slots to replace damaged time slots, it helps to provide sufficient transmission time slots, further reduce the impact of time slot damage on data transmission, and ensure sufficient transmission rate.
[0075] After preparing the second customer schedule, FlexE device A sends a calendar request (English: Calendar Request, CR) to FlexE device B, for example, setting the value of the calendar request bit in the overhead header frame sent to FlexE device B, and the 36th bit of the third overhead header in the overhead header frame is the CR bit. When the value of the CR bit in the last overhead header frame sent is 0, FlexE device A changes to continuously sending FlexE overhead header frames with a CR bit value of 1. Or when the value of the CR bit in the last FlexE overhead header frame sent is 1, FlexE device A changes to continuously sending FlexE overhead header frames with a CR bit value of 0.
[0076] FlexE device B identifies the calendar request sent by FlexE device A according to the value of the calendar request bit, and sends a calendar response (Calendar Acknowledge, CA) to FlexE device A, for example, setting the value of the calendar response bit in the overhead header frame sent to FlexE device A, and the 37th bit of the third overhead header in the overhead header frame is the CA bit. The CA value set by FlexE device B is the same as the CR value set by the FlexE device, so that FlexE device A identifies the calendar response sent by FlexE device B for the calendar request.
[0077] S206, FlexE device B receives data sent by FlexE device A using the second customer schedule.
[0078] After receiving the calendar response and completing the sending of the second customer schedule, FlexE device A starts to use the second customer schedule to send data including multiple data blocks to FlexE device B. When the first customer schedule is customer schedule A, the second customer schedule is customer schedule B, and when the first customer schedule is customer schedule B, the second customer schedule is customer schedule A. The second customer schedule indicates the correspondence between the FlexE customer and the second time slot set. According to the second customer schedule, FlexE device A sends data including multiple data blocks to FlexE device B in multiple time slots in the second time slot set. According to the second customer schedule, FlexE device A periodically sends data to FlexE device B in multiple time slots in the second time slot set, and each time slot in the multiple time slots can send a data block in each sending cycle. FlexE device B obtains multiple data blocks from the FlexE customer from the data sent by FlexE device A. FlexE device B receives multiple data blocks corresponding to a FlexE customer in one or more time slots corresponding to the one FlexE customer included in the second time slot set. FlexE device B receives multiple data blocks corresponding to another FlexE client in one or more time slots corresponding to another FlexE client included in the second time slot set. FlexE device B assembles data blocks from the same FlexE client respectively to restore original messages from each FlexE client.
[0079] FlexE device A can set the values of the three C bits in the FlexE overhead header frame to inform FlexE device B whether the data being sent uses customer schedule A or customer schedule B. The above three C bits are located at the 11th bit of the first overhead header, the 3rd bit of the second overhead header, and the 3rd bit of the third overhead header in the overhead header frame. FlexE device A sets the same three C bit values when sending the overhead header frame. After receiving the overhead header frame, FlexE device B uses majority vote to determine the value of the C bit based on the value of the three C bits. When the customer schedule used by FlexE device A switches between customer schedule A and customer schedule B, FlexE device A changes the value of the three C bits, for example, from 0 to 1, or from 1 to 0.
[0080] Through the above Figure 2 According to the method shown in , the receiving FlexE device can notify the transmitting FlexE device of the time slot damage, so that the transmitting FlexE device can adjust the transmission time slot in time and delete the damaged time slot to reduce the impact on data transmission.
[0081] Figure 3 300 is a structural diagram of a FlexE device 300 provided in an embodiment of the present application. The FlexE device 300 is a network device with a FlexE gasket layer processing function, and may include a physical layer transceiver 301, a FlexE gasket circuit 302, and a media access controller 303. The FlexE device 300 may be used as Figure 2 FlexE device B or FlexE device A in the method shown. FlexE device 300 can use physical layer transceiver 301, FlexE shim circuit 302 and media access controller 303 to implement the function of FlexE device B. FlexE device 300 can use physical layer transceiver 301 and FlexE shim circuit 302 to implement the function of FlexE device A.
[0082] When the FlexE device 300 is used as Figure 2 In the method shown, when the FlexE device B is used, the internal implementation of the FlexE device 300 is as follows:
[0083] The FlexE shim circuit 302 receives data including multiple data blocks sent by the FlexE device A via the physical layer transceiver 301 using the first customer schedule, and assembles data blocks from the same FlexE customer to restore the original message from each customer, wherein the first customer schedule indicates the correspondence between the customer and the first time slot set. The media access controller 303 performs error detection on the original message and determines an error message in the original message, wherein the data block included in the error message is an error data block. The FlexE shim circuit 302 determines the damaged time slot in the first time slot set based on the error data block. The above method of receiving data, error detection and determining the damaged time slot using the first customer schedule is the same as Figure 2 The steps S202 and S203 are shown to be the same.
[0084] The FlexE shim circuit 302 adds a time slot damage notification in an overhead header frame sent to the FlexE device A, where the time slot damage notification may indicate a damaged time slot in the first time slot set. The method of adding the time slot damage notification is similar to Figure 2 The step S204 is the same as shown. The FlexE shim circuit 302 sends an overhead header frame including a timeslot damage notification to the FlexE device A via the physical layer transceiver 301 .
[0085] The FlexE shim circuit 302 receives the second customer schedule sent by the FlexE device A via the physical layer transceiver 301, and uses the second customer schedule to receive the data sent by the FlexE device A via the physical layer transceiver 301. The second customer schedule indicates the correspondence between the customer and the second time slot set, and the second time slot set includes the time slots in the first time slot set except the damaged time slots. After receiving the calendar request and the second customer schedule sent by the FlexE device A via the physical layer transceiver 301, and being ready to use the second customer schedule to receive the data sent by the FlexE device A, the FlexE shim circuit 302 can set the value of the calendar response bit in the overhead header frame sent to the FlexE device A, so as to return a calendar response to the FlexE device A. The above receiving the second customer schedule and using the second customer schedule to receive the data sent by the FlexE device A are the same as Figure 2 Step S205 is shown to be the same as step S206.
[0086] The second time slot set does not include the damaged time slot in the first time slot set. Optionally, the second time slot set may include any time slot in the first time slot set except the damaged time slot. The second time slot set may also include time slots that are not in the first time slot set (e.g., replacement time slots or newly added time slots). Figure 2 The replacement time slots in step S205 are the same.
[0087] Optionally, the FlexE shim circuit 302 determines the time slot damage according to whether the number of erroneous data blocks meets the condition. The method and condition for determining the time slot damage are similar to Figure 2 The shown step S203 is the same.
[0088] The media access controller 303, the FlexE gasket circuit 302 and the physical layer transceiver 301 may be integrated on a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC), or may be arranged on different FPGAs or ASICs.
[0089] When the FlexE device 300 is used as Figure 2 In the method shown, when the FlexE device A is used, the internal implementation of the FlexE device 300 is as follows:
[0090] The FlexE pad circuit 302 sends data including a plurality of data blocks to the FlexE device B via the physical layer transceiver 301 using the first client schedule. The first client schedule indicates the correspondence between the client and the first time slot set. The method for sending data is similar to Figure 2 The shown step S201 is the same.
[0091] The FlexE shim circuit 302 receives a time slot damage notification in an overhead header frame sent by the FlexE device B via the physical layer transceiver 301, and the time slot damage notification indicates that the first time slot in the first time slot set is damaged. The FlexE shim circuit 302 deletes the relationship between the customer and the first time slot in the first customer schedule according to the time slot damage notification to generate a second customer schedule. The second customer schedule indicates the corresponding relationship between the customer and the second time slot set. The first time slot is not included in the second time slot set. The second time slot set may include any time slot in the first time slot set except the first time slot. The second time slot set may also include time slots that are not in the first time slot set (for example, replacement time slots or newly added time slots). The above method for the FlexE shim circuit 302 to generate a second customer schedule according to the time slot damage notification is the same as Figure 2 The above replacement time slot is the same as step S205. Figure 2 The replacement time slots in step S205 are the same.
[0092] The FlexE shim circuit 302 sends the second customer schedule to the FlexE device B via the physical layer transceiver 301. The method of sending the second customer schedule by the FlexE shim circuit 302 is the same as that of Figure 2 The shown step S205 is the same.
[0093] The FlexE shim circuit 302 sends data to the FlexE device B via the physical layer transceiver 301 using the second customer schedule. The method of the FlexE shim circuit 302 sending data to the FlexE device B using the second customer schedule is as follows: Figure 2 The shown step S206 is the same.
[0094] The FlexE gasket circuit 302 and the physical layer transceiver 301 may be integrated on one FPGA or one ASIC, or may be arranged on different FPGAs or ASICs.
[0095] Figure 4 400 is a structural diagram of a FlexE device 400 provided in an embodiment of the present application. The FlexE device 400 may be Figure 2 The FlexE device B in the method shown can be Figure 3 The FlexE device 300 is shown as a FlexE device B. The FlexE device 400 includes a receiving unit 401, a determining unit 402, and a sending unit 403. The functions of the receiving unit 401 and the sending unit 403 are, for example, Figure 3 The FlexE pad circuit 302 is implemented in combination with the physical layer transceiver 301, and the function of the determination unit 402 is, for example, Figure 3 The FlexE gasket circuit 302 is implemented in combination with the media access controller 303.
[0096] The receiving unit 401 is configured to receive data including a plurality of data blocks sent by a FlexE device A using a first client schedule, wherein the first client schedule indicates a correspondence between clients and a first set of time slots.
[0097] The determining unit 402 is configured to determine that a first time slot is damaged according to an erroneous data block among the multiple data blocks, wherein the first time slot set includes the first time slot.
[0098] The sending unit 403 is configured to add a timeslot damage notification in an overhead header frame sent to the FlexE device A, where the timeslot damage notification indicates that the first timeslot is damaged.
[0099] The receiving unit 401 is also used to receive a second customer schedule sent by the FlexE device A, wherein the second customer schedule indicates the correspondence between the customer and a second time slot set, wherein the second time slot set includes time slots in the first time slot set except the first time slot; and to receive data sent by the FlexE device A using the second customer schedule.
[0100] Optionally, the second time slot set also includes replacement time slots that are not in the first time slot set.
[0101] Optionally, the determining unit 402 determines that the first time slot is damaged according to the erroneous data blocks, including: if the number of erroneous data blocks corresponding to the first time slot meets a condition, the determining unit 402 determines that the first time slot is damaged.
[0102] Figure 5 is a structural diagram of a FlexE device 500 provided in an embodiment of the present application. The FlexE device 500 may be Figure 2 The FlexE device A and Figure 3 The FlexE device 300 is shown as a FlexE device A. The FlexE device 500 includes a sending unit 501 and a receiving unit 502. The functions of the sending unit 501 and the receiving unit 502 are, for example, Figure 3 The FlexE gasket circuit 302 is implemented in combination with the physical layer transceiver 301 .
[0103] The sending unit 501 is configured to send data including a plurality of data blocks to the FlexE device B using a first client schedule, wherein the first client schedule indicates a correspondence between clients and a first set of time slots.
[0104] The receiving unit 502 is configured to receive a timeslot damage notification in an overhead header frame sent by FlexE device B, where the timeslot damage notification indicates that a first timeslot in the first timeslot set is damaged.
[0105] The sending unit 501 is also used to send a second customer schedule to FlexE device B, where the second customer schedule indicates the correspondence between the customer and a second time slot set, where the second time slot set includes time slots in the first time slot set except the first time slot; and to send data to FlexE device B using the second customer schedule.
[0106] Optionally, the second time slot set also includes replacement time slots that are not in the first time slot set.
[0107] Each part of this specification is described in a progressive manner, and the same or similar parts between the various embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device and system embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment part.
[0108] It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned methods does not mean the order of execution. The execution order of each method should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0109] Those of ordinary skill in the art will appreciate that the circuits and method steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
Claims
1. A method for transmitting data in a flexible Ethernet FlexE, characterized in that: The method comprises: The first FlexE device receives data sent by the second FlexE device; The first FlexE device determines, based on the data having an error, that the first timeslot is damaged; The first FlexE device sends a timeslot damage notification to the second FlexE device, where the timeslot damage notification indicates that the first timeslot is damaged, and the first timeslot is included in a first timeslot set; The first FlexE device receives a message sent by the second FlexE device to indicate a second time slot set, where the second time slot set does not include the first time slot.
2. The method according to claim 1, characterized in that The first set of time slots is determined by a first client schedule, the message indicating the second set of time slots includes a second client schedule, and the second set of time slots is determined by the second client schedule.
3. The method according to claim 1, characterized in that The second time slot set also includes a replacement time slot, and the replacement time slot is used to replace the first time slot.
4. The method according to claim 1, characterized in that The data includes a plurality of data blocks, and the first FlexE device determines that the first time slot is damaged according to an error in the data, including: If the number of erroneous data blocks corresponding to the first time slot satisfies a condition, the first FlexE device determines that the first time slot is damaged.
5. The method according to claim 1, characterized in that The timeslot damage notification is carried in the FlexE overhead header frame.
6. A method for transmitting data in a flexible Ethernet FlexE, characterized in that: The method comprises: The second FlexE device sends data to the first FlexE device, where the data corresponds to the first set of time slots; The second FlexE device receives a timeslot damage notification sent by the first FlexE device, where the timeslot damage notification indicates that a first timeslot is damaged, and the first timeslot set includes the first timeslot; The second FlexE device sends a message indicating a second set of time slots to the first FlexE device, where the second set of time slots corresponds to the data and the second set of time slots does not include the first time slot.
7. The method according to claim 6, characterized in that The first set of time slots is determined by a first client schedule, the message indicating the second set of time slots includes a second client schedule, and the second set of time slots is determined by the second client schedule.
8. The method according to claim 6, characterized in that The second time slot set also includes a replacement time slot, and the replacement time slot is used to replace the first time slot.
9. A flexible Ethernet FlexE device, characterized in that: The FlexE device includes a controller and a transceiver; The transceiver is used to receive data sent by the second FlexE device; The controller is configured to determine that the first time slot is damaged according to the presence of an error in the data, and send a time slot damage notification to the second FlexE device through the transceiver, wherein the time slot damage notification indicates that the first time slot is damaged; The transceiver is further used to receive a message sent by the second FlexE device to indicate a second time slot set, where the second time slot set does not include the first time slot.
10. The FlexE device according to claim 9, characterized in that The first set of time slots is determined by a first client schedule, the message indicating the second set of time slots includes a second client schedule, and the second set of time slots is determined by the second client schedule.
11. The FlexE device according to claim 9, characterized in that The second time slot set also includes a replacement time slot, and the replacement time slot is used to replace the first time slot.
12. The FlexE device according to claim 9, characterized in that The data includes a plurality of data blocks, and the FlexE device determines that the first time slot is damaged according to an error in the data, including: If the number of erroneous data blocks corresponding to the first time slot satisfies a condition, the FlexE device determines that the first time slot is damaged.
13. The FlexE device according to claim 9, characterized in that The timeslot damage notification is carried in the FlexE overhead header frame.
14. A flexible Ethernet FlexE device, characterized in that: The FlexE device comprises a transceiver; the transceiver configured to send data to a first FlexE device via the transceiver, the data corresponding to a first set of time slots; The transceiver is further configured to receive a timeslot damage notification sent by the first FlexE device, where the timeslot damage notification indicates that a first timeslot is damaged, and the first timeslot set includes the first timeslot; The transceiver is further configured to send a message indicating a second time slot set to the first FlexE device, where the second time slot set corresponds to the data and the second time slot set does not include the first time slot.
15. The FlexE device according to claim 14, characterized in that The first set of time slots is determined by a first client schedule, the message indicating the second set of time slots includes a second client schedule, and the second set of time slots is determined by the second client schedule.
16. The FlexE device according to claim 14, characterized in that The second time slot set also includes a replacement time slot, and the replacement time slot is used to replace the first time slot.
Citation Information
Patent Citations
Framer and framing method
WO2016084953A1