Method and apparatus for transferring c-value in flexe overhead frame
By utilizing the regular sequence changes of C values in the FlexE protocol to receive and send multiple FlexE overhead frames, the problem of unstable C value transmission when the FlexE protocol code block is modified to a 257 code block is solved, thus realizing reliable C value transmission and accurate switching of the client calendar.
Patent Information
- Application Number
- PCT/CN2025/091340
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-09-13
- Filing Date
- 2025-04-25
- Publication Date
- 2026-03-19
AI Technical Summary
When the FlexE protocol code block is modified to the 257 code block, the existing technology cannot reliably transmit the C value, causing most judgment principles to fail and making it impossible to accurately determine the switching of the customer's calendar.
By receiving and sending multiple FlexE overhead frames, utilizing the regular sequence changes of C values, the correct C value is obtained and determined. The FlexE overhead frame containing the C value of the client calendar is switched according to the regular sequence of C values. This method and apparatus employs a C value transmission method based on regular sequence changes.
It ensures reliable transmission of the C value when the FlexE protocol code block is modified to a 257 code block, thus ensuring accurate switching of the customer's calendar and improving the reliability of transmission.
Smart Images

Figure CN2025091340_19032026_PF_FP_ABST
Abstract
Description
Method and device for transmitting C value in FlexE overhead frame
[0001] Cross-reference to Related Applications
[0002] The present disclosure is based on Chinese Patent Application No. CN202411287454.1 entitled "Method and device for transmitting C value in FlexE overhead frame" filed on September 13, 2024, and claims priority to the same, the disclosure of which is incorporated herein by reference in its entirety. TECHNICAL FIELD
[0003] Embodiments of the present disclosure relate to the field of communications, in particular, to a method and device for transmitting C value in a Flex Ethernet (FlexE) overhead frame. BACKGROUND
[0004] Currently, the physical layer defined in the FlexE protocol V1.0 standard is 100G, and 20 time slots are defined on the 100G physical layer. In the V2.0 draft, only the application method of the physical layer member rate of 200G and 400G is defined, and there is currently no related standard for the 800G and 1.6T rate physical layer (PHY) members. In the scenario of using 257 code blocks for high-speed PHY interface, how to reliably transmit the C value when the FlexE protocol code block is modified to 257 code blocks has not yet been solved. SUMMARY
[0005] Embodiments of the present disclosure provide a method and device for transmitting C value in a FlexE overhead frame to at least solve the problem of how to reliably transmit the C value when the FlexE protocol code block is modified to 257 code blocks in the related art.
[0006] According to one embodiment of the present disclosure, a method for transmitting C value in a FlexE overhead frame is provided, including: receiving a plurality of FlexE overhead frames, wherein the C values carried in the plurality of FlexE overhead frames vary according to a regular sequence, obtaining the C values in the plurality of FlexE overhead frames, and determining a FlexE overhead frame indicating a switching customer calendar table according to a correct C value in at least one FlexE overhead frame and the regular sequence of the C values.
[0007] According to another embodiment of the present disclosure, a method for transmitting C value in a FlexE overhead frame is provided, including: sending a plurality of FlexE overhead frames, wherein the C values carried in the plurality of FlexE overhead frames vary according to a regular sequence.
[0008] According to another embodiment of the present disclosure, a device for transmitting C values in FlexE overhead frames is provided, comprising: a receiving module configured to receive a plurality of FlexE overhead frames, wherein the C values carried in the plurality of FlexE overhead frames vary according to a regular sequence; an obtaining module configured to obtain the C values in the plurality of FlexE overhead frames; a determining module configured to determine a FlexE overhead frame in which a C value indicating a switching customer calendar table is located according to a correct C value in at least one FlexE overhead frame and a regular sequence of the C values.
[0009] According to another embodiment of the present disclosure, a device for transmitting C values in FlexE overhead frames is provided, comprising: a sending module configured to send a plurality of FlexE overhead frames, wherein the C values carried in the plurality of FlexE overhead frames vary according to a regular sequence.
[0010] According to another embodiment of the present disclosure, a computer readable storage medium is further provided, wherein the computer readable storage medium stores a computer program, and the computer program is configured to execute the steps in any of the method embodiments described above when executed.
[0011] According to another embodiment of the present disclosure, an electronic device is further provided, comprising a memory and a processor, wherein the memory stores a computer program, and the processor is configured to execute the computer program to execute the steps in any of the method embodiments described above.
[0012] According to another embodiment of the present disclosure, a computer program product is further provided, comprising a computer program, and the computer program is configured to execute the steps in any of the method embodiments described above when executed by a processor.
[0013] According to the above embodiments of the present disclosure, since the C values carried in the plurality of received FlexE overhead frames vary according to a regular sequence, the FlexE overhead frame in which a C value indicating a switching customer calendar table is located can be determined according to a correct C value in at least one FlexE overhead frame and a regular sequence of the C values, thereby solving the problem of how to reliably transmit C values when a FlexE protocol code block is modified to a 257 code block, and achieving the effect of reliable transmission of C values. BRIEF DESCRIPTION OF DRAWINGS
[0014] FIG. 1 is a schematic diagram of a transmission channel of four 100G optical modules combined;
[0015] FIG. 2 is a 64 / 66 encoding rule defined by the 802.3 protocol;
[0016] FIG. 3 is a schematic diagram of a code block of 64 / 66 encoding;
[0017] Figure 4 is a schematic diagram of distributing 1 66-bit overhead block among 1023*20 66-bit code blocks;
[0018] Figure 5 is a schematic diagram of 4-way 100G physical layer constituting a 400G logical service bandwidth;
[0019] Figure 6 is a schematic diagram of 8 66-bit overhead blocks constituting a FlexE frame;
[0020] Figure 7 is a schematic diagram of a process of carrying customer service by FlexE protocol;
[0021] Figure 8 is a schematic diagram of a process of recovering customer service;
[0022] Figure 9 is a schematic diagram of 800G Ethernet interface standard;
[0023] Figure 10 is a schematic diagram of 257-bit code block with a synchronization header of 1;
[0024] Figure 11 is a schematic diagram of 257-bit code block with a synchronization header of 0;
[0025] Figure 12 is a schematic diagram of distributing 4 66-bit overhead blocks among 4*1023*20 66-bit code blocks;
[0026] Figure 13 is a schematic diagram of converting 4 overhead blocks into 257-bit code blocks;
[0027] Figure 14 is a schematic diagram of distributing 1 257-bit overhead block among 4*1023*5 257-bit code blocks;
[0028] Figure 15 is a schematic diagram of 2 257-bit overhead blocks constituting a FlexE frame;
[0029] Figure 16 is a schematic diagram of FlexE master calendar layer of 257-bit length code block;
[0030] Figure 17 is a flow chart of a method of transmitting C value in FlexE overhead frame according to an embodiment of the present disclosure;
[0031] Figure 18 is another flow chart of a method of transmitting C value in FlexE overhead frame according to an embodiment of the present disclosure;
[0032] Figure 19 is a structural block diagram of a device for transmitting C value in FlexE overhead frame according to an embodiment of the present disclosure;
[0033] Figure 20 is another structural block diagram of a device for transmitting C value in FlexE overhead frame according to an embodiment of the present disclosure;
[0034] Figure 21 is a schematic diagram of C value change according to an embodiment of the present disclosure;
[0035] FIG. 22 is another schematic diagram of C value variation according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0036] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings and in conjunction with embodiments.
[0037] It should be noted that the terms "first", "second", and the like in the specification and claims of the present disclosure and the above-described drawings are used to distinguish similar objects, and do not necessarily have to describe a specific order or sequence.
[0038] The rapid increase in user network information traffic has prompted the rapid increase in communication network information transmission bandwidth. The interface bandwidth speed of communication equipment has increased from 10M (unit: bit / s) to 100M, 1G, 10G, and has reached a bandwidth speed of 100G. 100G optical modules have been widely used in the market, and 400G optical modules have been developed, but the price of 400G optical modules is higher than that of four 100G optical modules, resulting in a lack of commercial economic value of 400G optical modules. In order to transmit 400G services on 100G optical modules, the international standards organization defines a Flex Ethernet (FlexE for short) protocol. The FlexE protocol combines multiple 100G optical modules to form a logical transmission channel with a larger carrying bandwidth. FIG. 1 is a schematic diagram of a transmission channel formed by combining four 100G optical modules. As shown in FIG. 1, four 100G optical modules are combined by the FlexE protocol to form a 400G transmission channel, which is equivalent to the transmission speed of a 400G optical module. The transmission requirement of 400G services is met without increasing the cost.
[0039] For the physical layer is 100G rate, Ethernet protocol defines 100G data packet before sending, the data packet is 64 / 66 encoding, the 64-bit data block is expanded into 66-bit information block, the increased 2 bits are located in front of the 66-bit block, as the start flag of the 66-bit block, and then sent out from the optical port in the form of 66-bit block. Figure 2 is the 64 / 66 encoding rule defined by 802.3 protocol. Figure 3 is a schematic diagram of 64 / 66 encoding code block, each code block is composed of 66 bits, as shown in Figure 3, the first 2 bits are the synchronization header of the code block, the synchronization header bit "01" indicates that it is a D code block (data code block), and the next 8 bytes (64-bit bits) are 8-byte data content, such as the first code block in Figure 3. The synchronization header bit "10" indicates that it is a control code block, and the first byte content following is the block type field, indicating the specific type of the control block, and the next 7 bytes are the content of the control block, which is associated with the specific type of the control block, such as the second code block in Figure 3. For the control code block, the block type field is 8-bit, and the content is a specific encoding content. Different block type contents represent different types of control code blocks. S, T, O, idle code blocks belong to control code blocks. The block type field content in S code block is 0x78, indicating that the control code block is S code block. In addition to indicating the end block, T code block can also carry customer byte content (located at the position of the last 7 bytes in the code block). In the Ethernet standard, T code block is divided into 8 types: T0, T1, T2, T3, T4, T5, T6, T7, T0 (block type field content is 0x87) code block does not carry customer information, T1 code block (block type field content is 0x99) carries 1 byte of customer information, T2 code block (block type field content is 0x99) carries 2 bytes of customer information, and so on, T7 code block.
[0040] FlexE protocol defines that in each 100G member, every 20 66-bit code blocks are divided into a code block group, each group has 20 code blocks, representing 20 time slots, and each time slot represents a service speed of 5G (bit / s) bandwidth. Figure 4 is a schematic diagram of distributing 1 66-bit overhead block between 1023*20 66-bit code blocks. When sending 66-bit code blocks, after sending 1023 code block groups (1023*20 code blocks), an FlexE overhead block is inserted, as shown in black in Figure 4. After inserting the overhead block, the code blocks are continued to be sent, and after sending the second 1023*20 code blocks, the overhead block is inserted again, and so on. In this way, in the process of sending code blocks, the overhead block will be periodically inserted, and the interval between adjacent two overhead blocks is 1023*20 code blocks. For the physical line speed of 100G (bit / s), FlexE protocol divides the physical port into 20 time slots, so the bandwidth corresponding to each time slot is 5G.
[0041] Figure 5 is a schematic diagram of a 4-lane 100G physical layer constituting a 400G logical service bandwidth, as shown in Figure 5, when the 4-lane 100G physical layer constitutes a 400G logical service bandwidth, each physical layer still constitutes a code block group according to 20 time slots of code blocks, and an overhead byte is inserted every 1023 code block groups. In the master calendar (shim layer) of FlexE, the 4-lane 20 time slot code blocks are assembled into a code block group composed of 80 time slot code blocks, and there are 80 time slots in the block group. The customer service is transmitted in the 80 time slots, and the bandwidth of each time slot is 5G, and the shim layer has a total of 400G service transmission bandwidth.
[0042] The FlexE overhead block is an overhead block of 66 bits, and an overhead block is inserted every 1023*20 data blocks when transmitting a service data stream. The overhead block functions as a positioning function in the entire service stream, and the position of the first code block group in the service and the positions of subsequent code block groups can be determined once the position of the overhead block is determined. FIG. 6 is a schematic diagram of 8 66-bit overhead blocks forming a FlexE frame, and the content of the overhead frame is shown in FIG. 6. The 8 66-bit overhead blocks in succession form a FlexE frame structure. An overhead block is composed of a 2-bit block synchronization header and a 64-bit block content. The block synchronization header is located in the first 2 columns, and the following 64 columns are the block content. The block flag of the first overhead block is 10, and the block flags of the following 7 overhead blocks are 01 or SS (SS indicates uncertain content). In the FlexE protocol, 8 overhead blocks are defined to form a frame, and there are 8 overhead blocks in an overhead frame structure, of which the first overhead block is a control code block, and the code block characteristic value is identified by two fields of 0x4B (hexadecimal, identified as 0x4B) and 0x05 (hexadecimal, identified as 0x5). When the code block is detected as a control code block in the overhead block, and the corresponding positions are 0x4B and 0x05 content, it indicates that the overhead block is the first overhead block in the overhead frame structure, and the following 7 overhead blocks form a frame. The content of the first overhead block is: 0x4B (8 bits, hexadecimal 0x4B), C bit (1 bit, indicating adjustment control), OMF bit (1 bit, indicating overhead frame repetition indication), RPF bit (1 bit, indicating remote defect indication), RES bit (1 bit, reserved bit), FlexE group number (20 bits, indicating the number of bundled groups), 0x5 (4 bits, hexadecimal 5), 000000 (28 bits, all 0). The 0x4B and 0x5 in the first overhead block are flag indications, and when a corresponding position in an overhead block is 0x4B and 0x5, it is found that the overhead block is the first overhead block in the overhead frame, and the following 7 overhead blocks in succession form an overhead frame. In the overhead frame, the reserved part is reserved content and has not been defined. The PHY number indicates the number of the member PHY in the group, and the number range is 0-255. The PHY map indicates the bit situation of each PHY in the group. There are 8 bits of the PHY map in a frame, and there are 256 bits in 32 repetition frames, indicating whether 256 PHY members are in the group. If yes, the corresponding position is "1", otherwise "0". In the FlexE frame of 100G rate, there are 20 time slots, and each time slot can carry customer information, which is indicated by the client calendar Client calendar.20 time slots carrying customer name is represented by two groups of customer calendar Client calendar A and Client calendar B, normal work, only one group of customer calendar Client calendar content in working condition (indicated by C bit that group in working condition), the other group Client calendar in standby, in the process of modifying. Frame has 3 C bit indicating signal, distributed in 3 different 66 bit code block, 3 C bit using majority decision principle to determine C value result, at least 2 C value in 3 C value in a frame is "0", then indicates C value is judged as "0", indicates that the customer calendar Client calendar A table is enabled, the content in the customer calendar Client calendar A table is effective. At least 2 C value in 3 C value is "1", then indicates C value is judged as "1", indicates that the customer calendar Client calendar B table is enabled, the content in the customer calendar Client calendar B table is effective. Since 3 C bit indicating signal is distributed in 3 66 bit code block, mutually interval 20*1023 code block, therefore even if due to error code causes 1 C bit to appear error, also does not affect the final judgment result, has certain error code tolerance. In order to timely, accurately deliver C value change result, due to 3 C value majority decision principle, therefore in standard definition, C value is not affected by the overhead cyclic redundancy check (Cyclic Redundancy Check, abbreviated as CRC) check result. CRC check error, shows that there is overhead error, possible a C bit value error (a C value error, as long as the other two C value is correct can. In single bit error code scene, at most appears one bit error), also have no influence to extract 3 C bit value, judge C value final result through majority decision principle.
[0043] Figure 7 is a schematic diagram of a process of carrying customer traffic by FlexE protocol. As shown in Figure 7, customer traffic is first encoded by 64 / 66, and the customer traffic stream is cut into 64-bit (8-byte) long bit blocks, and then the 64-bit data information is encoded into 66-bit data blocks. After 64 / 66 encoding, the traffic stream becomes a 66-bit length data block stream. Idle blocks are inserted or deleted in the data stream to adjust the speed to adapt to the rate of the master calendar in the FlexE protocol. The 66-bit code blocks are placed in the master calendar of the FlexE protocol according to the time slot configuration. In the FlexE protocol, 20 time slots are divided in each member (each time slot is a 66-bit data block, and each time slot represents a 5G traffic bandwidth), and if there are 4 members, there are a total of 80 time slots in the planning table. Through configuration, it is determined which time slots are selected by each customer traffic to carry. The planning table groups all the time slots, 20 time slots in each group, and sends them to each member defined by the FlexE protocol, and each member inserts a FlexE overhead block (the overhead block is also a 66-bit block, and an overhead block is inserted every 20*1023 time slot blocks) on the basis of these time slots. In the figure, each member is a sub calendar, which is carried and delivered on a PHY. After inserting the FlexE overhead block, each PHY scrambles the carried traffic stream, and sends it out through the physical medium attachment (PMA). Figure 8 is a schematic diagram of a process of recovering customer traffic. At the receiving end, as shown in Figure 8, the PMA receives the signal and recovers the 66-bit code block after descrambling. In the 66-bit block rate, each PHY finds the FlexE protocol overhead block, recovers the FlexE frame structure based on the overhead block as the reference position, and obtains the sub calendar. The time slots of all members are arranged in order, and the master calendar structure is recovered. According to the configuration information, the traffic stream is taken out from the corresponding time slot of the calendar, the idle information block is deleted, and then 66 / 64-bit decoding is performed to recover the original customer traffic.
[0044] With the improvement of the physical interface speed, in order to reliably transmit information bits, the Ethernet physical interface needs to re-encode 66 code blocks, 4 66-bit code blocks are encoded into 257-bit code blocks, and 257-bit code blocks are transmitted. After 4 66-bit code blocks become 257 code blocks, 7 bits are saved, and after the number of bits is saved, the bits of the forward error correction (FEC) function can be inserted, and in the case of keeping the total number of bits unchanged, the transmitted customer code blocks are corrected and checked to improve the transmission quality of the code blocks. Fig. 9 is a schematic diagram of the 800G Ethernet interface standard, as shown in Fig. 9, in the standard, 66-bit code blocks are divided into two groups, and 66-bit code blocks in each group are encoded into 66 / 257 bits. After subsequent scrambling, alignment insertion, FEC and other modules, the output is sent out. The subsequent processing is based on 257-bit length code blocks. As can be seen from Fig. 9, the physical coding sublayer (PCS) mainly processes code blocks with a length of 257 bits. The total length of the 257-bit code block is 257 bits (from 0-256), of which the first bit is the synchronization header value of the 257 code block. The synchronization header is 1, indicating that the code block is a pure data code block (the code block is composed of 4 66-bit data code blocks), and Fig. 10 is a schematic diagram of a 257-bit code block with a synchronization header of 1, as shown in Fig. 10. The 257 code block is composed of a 1-bit synchronization header and 4 content fields, and the 256 bits after the synchronization header are the contents of the 4 fields D1-D4. The content of each D field is the last 8 data bytes (64 bits) in the 66-bit length data code block. The synchronization header is 0, indicating that the 257 code block is a code block containing at least one control code block. The 257 code block is composed of a synchronization header, a 4-bit type field and 4 content fields, and Fig. 11 is a schematic diagram of a 257-bit code block with a synchronization header of 0, as shown in Fig. 11. The 4-bit value (bit1-4) after the synchronization header is the type value, which is used to indicate the content type of the 4 fields behind. Each bit corresponds to the type of a content field. The type bit value is 1, indicating that the corresponding field content behind is data code block content. The type bit value is 0, indicating that the corresponding field content behind is control code block type content. The last 252 bits in the code block are 4 content fields, one of which is 60-bit length (the first control code block type content length is 60), and three of which are 64-bit length. In Fig. 11, if the type field is 0111, i.e. the first content field is control block content and the rest is data block content, the first content field length is 60 bits, and the second, third and fourth content field lengths are 64 bits.
[0045] In the FlexE standard, each time slot is a 66-bit code block, and each code block represents the transmission rate of 5G. In high-speed Ethernet interfaces such as 800G, processing is performed in 257 bits. If the FlexE protocol of 800G rate is still processed according to the length of 66 bits per time slot and the speed of 5G per time slot, it will cause a large number of time slots to be processed, and the conversion of 257-bit code blocks to 66-bit code blocks and then the conversion of 66-bit code blocks to 257-bit code blocks need to be performed in the device, which requires two times of code block encoding format conversion and high processing circuit cost. In order to unify the code block format and improve the bandwidth of a single time slot, a FlexE frame structure based on 257-bit length can be used. In the current FlexE frame structure, the code block is 66 bits long, and the distribution of the overhead block is changed from 1 overhead block distributed between 1023*20 code blocks to 4 overhead blocks distributed between 4*1023*20 code blocks. FIG. 12 is a schematic diagram of 4*1023*20 66-bit code blocks distributed with 4 66-bit overhead blocks, and the overhead block and service block distribution structure of the distribution shown in FIG. 12. The FlexE overhead frame is composed of 8 overhead blocks, and in the FlexE frame structure in FIG. 12, the first 4 overhead code blocks are placed together, or the last 4 overhead code blocks in the FlexE frame structure are placed together. FIG. 13 is a schematic diagram of converting each 4 overhead blocks into a 257-bit code block. Every 4 overhead blocks, every 4 code blocks are encoded by 66 / 257, and then the structure after conversion into a 257-bit code block is shown in FIG. 13. The structure of FlexE is composed of time slot code blocks with a length of 257 bits, and there is an overhead block every 20*1023 code blocks, and the overhead block is also a 257-bit code block. When the basic code block length of FlexE is a 257-bit code block, each time slot code block and overhead code block is a 257-bit code block, each 257-bit code block is a time slot, each time slot represents a 20G customer speed, and there are 5 time slots in each physical interface member. A 257-bit overhead code block is inserted every 4*1023*5 code blocks, and FIG. 14 is a schematic diagram of 4*1023*5 257-bit code blocks distributed with 1 257-bit overhead block, as shown in FIG. 14. FIG. 15 is a schematic diagram of 2 257-bit overhead code blocks forming a FlexE frame, as shown in FIG. 15. The first 257 code block has the contents of block1, block2, block3, and block4 of the 66-bit overhead block in the FlexE frame, and the second 257 code block has the contents of block5, block6, block7, and block8 of the 66-bit overhead block in the FlexE frame. Among the 8 66-bit length overhead blocks in the FlexE frame, the first overhead block is a control block, the second and third overhead blocks are data blocks, and the types of the fourth, fifth, sixth, seventh, and eighth overhead blocks are uncertain, which can be data blocks or control blocks.For the FlexE frame composed of two 257-bit blocks, the four 66-bit overhead blocks in the first 257-bit block in the FlexE frame are composed of one control block and two data blocks, one data block or a control block. Since the first 66-bit block is fixed as a control block (the feature value in the 66-bit block has a block synchronization head bit 10, a block type field value 0x4B, and a sequence value 0x5), the four 66-bit overhead blocks in the 257-bit block are fixed in the specific position in the 257-bit block. The specific position is shown in FIG. 15. The block1 of the 66-bit overhead block is located in bit5-bit64 in the 257-bit block (only half of the 8 bits in the block control field is reserved, and the content 0xB in 0x4B is reserved), the block2 is located in bit65-bit128 in the 257-bit block, the block3 is located in bit129-bit192 in the 257-bit block, and the block4 is located in bit193-bit256 in the 257-bit block. The four 66-bit overhead blocks block5, block6, block7 and block8 in the second 257-bit block in the FlexE frame. Since the type of any one of the four 66-bit overhead blocks block5, block6, block7 and block8 can be a data block or a control block, the position of the four 66-bit blocks in the 257-bit block needs to be determined according to the type of each 66-bit block.
[0046] In the FlexE protocol based on the 257-bit length, the length of the time slot block and the overhead block is the 257-bit block structure. There are 5 time slots in each member, each time slot is a 257-bit length block, each time slot represents a 20G transmission bandwidth, every 4*1023*5 time slot blocks transmit an overhead block, each two 257-bit overhead blocks form a FlexE overhead frame, and each FlexE overhead frame carries the content of the eight 66-bit overhead blocks block1-block8 in the current FlexE protocol frame. The block1-block8 carries all the overhead contents of the eight 66-bit overhead blocks in the FlexE frame, such as C bits, OMF bits, RPF bits, FlexE group number, PHY number, PHY map and the like.
[0047] Figure 16 is a schematic diagram of a FlexE master calendar layer of 257-bit length code blocks, a FlexE shim layer (master calendar) structure of 257-bit length code blocks is shown in Figure 16, the FlexE master calendar is composed of n*5 time slots (n is an arbitrary natural number), each time slot is a 257-bit length code block, representing a speed of 20G, customer services select any number of time slots according to bandwidth requirements to carry customer services, and the customer services are first encoded to 257, and then mapped to the corresponding FlexE shim layer time slot after being converted to a 257-bit length code block stream. The n*5 time slot code blocks of the FlexE shim layer are borne by n instances, and each instance member shares 5 time slots, as shown in Figure 16. A FlexE overhead block is inserted every 4*1023*5 code blocks in each instance member, and the overhead block is also 257 code blocks long. Every 2 257-bit length code blocks form a FlexE frame, and the FlexE frame has 8 66-bit length overhead blocks defined by the current FlexE protocol, and the overhead blocks have FlexE overhead content. When the FlexE protocol code block is modified to 257 code blocks, since the 3 C bits are located in the same 257-bit code block, once the 257 code block has an error, the 3 C bits will also have an error, and the majority judgment principle cannot be used to overcome the consequences of the error. In the FlexE protocol structure with 66 bits as the basic unit, the interval between the 3 C bits is 20*1023 code blocks, and a code block error does not affect other code blocks, and the influence of a single code block error can be corrected by the majority judgment principle, but in the FlexE protocol structure with 257 bits as the basic code block, since the 3 C bits are in the same code block, a code block error causes 3 C bits to have an error, and the majority judgment principle fails.
[0048] If the 8 66-bit conversion to 1 513 code block occurs (the conversion process can refer to the above process of 8 66-bit conversion to 2 257-bit code blocks, which will not be repeated here), the FlexE frame composed of the original 8 66-bit overhead blocks is modified to a FlexE frame composed of 1 513-bit overhead blocks, and 3 C bits in the same code block also exist, a code block error causes 3 C bits to have an error, and the majority judgment principle fails.
[0049] To solve the above-mentioned problem that the FlexE protocol code block is modified to 257-bit code block (or even modified to 513-bit code block), since 3 C bits are in the same code block, one code block error causes 3 C bits to all have errors, and the majority judgment principle fails, and the C value cannot be reliably transmitted, in the embodiment, a method for transmitting the C value in the FlexE overhead frame is provided, and FIG. 17 is a flowchart of the method for transmitting the C value in the FlexE overhead frame according to the embodiment of the present disclosure. As shown in FIG. 17, the flowchart includes the following steps:
[0050] In step S1702, a plurality of FlexE overhead frames are received, wherein the C values carried in the plurality of FlexE overhead frames change according to a regular sequence.
[0051] In step S1704, the C values in the plurality of FlexE overhead frames are obtained.
[0052] In step S1706, the C value indicating the switching of the customer calendar table is determined according to the correct C value in at least one FlexE overhead frame and the regular sequence of the C values.
[0053] In an example embodiment, each FlexE overhead frame includes three C bits, the values of the three C bits constitute the C value of each FlexE overhead frame, and the regular sequence of the C values is a frame-by-frame change process in which the values of the three C bits change from all 0 to all 1 or from all 1 to all 0 in the plurality of FlexE overhead frames.
[0054] In an example embodiment, the corresponding customer calendar table can be switched in the next frame of the FlexE overhead frame in which the values of the three C bits change to all 0 or all 1.
[0055] For example, when the values of the three C bits change to all 0, the customer calendar table A is switched in the next frame of the FlexE overhead frame, and when the values of the three C bits change to all 1, the customer calendar table B is switched in the next frame of the FlexE overhead frame.
[0056] In an example embodiment, the C value indicating the switching of the customer calendar table can be determined according to the correct C value in at least one FlexE overhead frame and the regular sequence of the C values in the following two ways:
[0057] Method one: in the transition frame in which the values of the three C bits change from all 0 to all 1 or from all 1 to all 0 respectively, when the values of the three C bits in one frame are correct, the C value indicating the switching of the customer calendar table is determined according to the regular sequence of the C values.
[0058] The second mode: in the transition frame in which the values of the three C bits change from all 0 to all 1 or change from all 1 to all 0 respectively, if the values of the three C bits in at least two frames are correct and the code block positions of the correct three C bits values comply with the C value regular sequence, the FlexE overhead frame in which the C value indicating switching the customer calendar table is located is determined according to the C value regular sequence.
[0059] In an example embodiment, after step S1704, whether the values of the three C bits in each FlexE overhead frame are correct can be determined according to the check result of the cyclic redundancy check (CRC) in each FlexE overhead frame.
[0060] Through the above steps, the multiple FlexE overhead frames are received, the C values carried in the multiple FlexE overhead frames change according to the regular sequence, the C values in the multiple FlexE overhead frames are obtained, and the FlexE overhead frame in which the C value indicating switching the customer calendar table is located is determined according to the correct C value in at least one FlexE overhead frame and the C value regular sequence, thereby solving the problem of how to reliably deliver the C value when the FlexE protocol code block is modified to 257 code blocks or even 513 code blocks, and achieving the effect of reliable delivery of the C value.
[0061] In the embodiment, a method for delivering the C value in the FlexE overhead frame is also provided. FIG. 18 is another flowchart of the method for delivering the C value in the FlexE overhead frame according to the embodiment of the present disclosure. As shown in FIG. 18, the flowchart includes the following steps:
[0062] Step S1802, multiple FlexE overhead frames are sent, wherein the C values carried in the multiple FlexE overhead frames change according to a regular sequence.
[0063] Through the above steps, the multiple FlexE overhead frames are sent, the C values carried in the multiple FlexE overhead frames change according to the regular sequence, thereby solving the problem of how to reliably deliver the C value when the FlexE protocol code block is modified to 257 code blocks or even 513 code blocks, and achieving the effect of reliable delivery of the C value.
[0064] Through the above description of the embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be realized by means of software and a necessary general hardware platform, and of course, it can also be realized by hardware, but in many cases, the former is a better embodiment. Based on such understanding, the technical solutions of the present disclosure can be embodied in the form of a software product, which is stored in a storage medium (such as a ROM / RAM, a magnetic disk, or an optical disk) and includes a plurality of instructions for causing a terminal device (which can be a mobile phone, a computer, a server, or a network device) to execute the method of each embodiment of the present disclosure.
[0065] An apparatus for communicating C values in FlexE overhead frames is also provided in the embodiments, which is configured to implement the embodiments and preferred implementation manners described above, and will not be described here. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the apparatus described in the following embodiments is preferably implemented in software, implementation in hardware, or a combination of software and hardware, is also possible and contemplated.
[0066] FIG. 19 is a structural block diagram of an apparatus for communicating C values in FlexE overhead frames according to an embodiment of the present disclosure. As shown in FIG. 19, the apparatus 1900 includes:
[0067] A receiving module 1902 configured to receive a plurality of FlexE overhead frames, wherein the C values carried in the plurality of FlexE overhead frames vary according to a regular sequence.
[0068] An obtaining module 1904 configured to obtain the C values in the plurality of FlexE overhead frames.
[0069] A determining module 1906 configured to determine, according to the correct C value in at least one FlexE overhead frame and the regular sequence of the C values, a FlexE overhead frame in which a C value indicating switching of a customer calendar table is located.
[0070] In one example embodiment, each FlexE overhead frame includes three C bits, the values of the three C bits constitute the C value of each FlexE overhead frame, and the regular sequence of the C values is a frame-by-frame change process in which the values of the three C bits change from all 0 to all 1 or from all 1 to all 0 in the plurality of FlexE overhead frames.
[0071] In one example embodiment, the determining module 1906 includes:
[0072] A switching submodule configured to switch the corresponding customer calendar table at a frame after the FlexE overhead frame in which the values of the three C bits change to all 0 or all 1.
[0073] In one example embodiment, the determining module 1906 includes:
[0074] A first determining submodule configured to, in a case where the values of the three C bits in one of the transition frames in which the values of the three C bits change from all 0 to all 1 or from all 1 to all 0, respectively, are correct, determine, according to the regular sequence of the C values, the FlexE overhead frame in which the C value indicating switching of the customer calendar table is located.
[0075] The second determining sub-module is configured to, in a case where the values of the three C bits in at least two of the transition frames in which the values of the three C bits respectively change from all 0 to all 1 or respectively change from all 1 to all 0 are correct, and the code block positions of the correct values of the three C bits comply with the C value regular sequence, determine the FlexE overhead frame in which the C value indicating the switching of the customer calendar table is located according to the C value regular sequence.
[0076] In one example embodiment, the apparatus 1900 comprises:
[0077] The determining module is configured to determine whether the values of the three C bits in each FlexE overhead frame are correct according to a check result of a cyclic redundancy check (CRC) in each FlexE overhead frame.
[0078] In this embodiment, a device for transmitting C values in a FlexE overhead frame is also provided. FIG. 20 is another structural block diagram of the device for transmitting C values in a FlexE overhead frame according to an embodiment of the present disclosure. As shown in FIG. 20, the device 2000 comprises:
[0079] The sending module 2002 is configured to send a plurality of FlexE overhead frames, wherein the C values carried in the plurality of FlexE overhead frames change according to a regular sequence.
[0080] It should be noted that the above modules can be implemented by software or hardware. For the latter, the following implementation manners can be used, but are not limited thereto: the above modules are located in the same processor; or the above modules are located in different processors in any combination.
[0081] Embodiment one
[0082] In this embodiment, in the scenario of a FlexE overhead frame with 257 bits as a basic code block, the values of the three C bits in one frame are correct, and the transition frame is 6 frames.
[0083] First, the sending end sends a plurality of FlexE overhead frames, wherein the C values carried in the plurality of FlexE overhead frames change according to a regular sequence.
[0084] Then, the receiving end receives the plurality of FlexE overhead frames and acquires the C values in the plurality of FlexE overhead frames.
[0085] For example, the initial C value is 000, in the 1st frame, after a code block interval of a FlexE frame (one frame interval is 2*4*1023*5 code blocks), the C value becomes 001 in the 2nd frame, after a fixed frame interval, the C value becomes 010 in the 3rd frame, and so on, the C value becomes 011 in the 4th frame, the C value becomes 100 in the 5th frame, the C value becomes 101 in the 6th frame, the C value becomes 110 in the 7th frame, and the C value becomes 111 in the 8th frame. The C value changes from 000 in the 1st frame to 111 in the 8th frame in 8 frames, and the C value changes from 001 to 010, 011, 100, 101, and 110 in the 2nd to 7th frames. The C value sequence is as follows:
[0086] 000, 000, 001, 010, 011, 100, 101, 110, 111, 111,...
[0087] Since the C value changes from 000 to 111 in 8 frames, even if there is an error in the overhead block in some frames, as long as the C value of at least one frame in the transition is correct (the value of the three C bits in each FlexE overhead frame can be determined by the check result of the cyclic redundancy check (CRC) in each FlexE overhead frame), the C value indicating the switching of the client calendar table can be determined according to the C value sequence, and the code block position of other C values and the accurate position of the code block where the C value becomes 111 can also be determined.
[0088] For example, the C value in the FlexE frame series is as follows:
[0089] xxx, xxx, xxx, 011, xxx, xxx, xxx, yyy,
[0090] xxx, yyy indicates that the CRC check of the frame is incorrect, and the C value in the frame may be incorrect and the real content cannot be known. Since 011 is a correct C value, even if the C value of other frames cannot be known due to errors, yyy can still be inferred to be 111 by the C value sequence, and the value of the three C bits in the frame position becomes 111, indicating that the frame is switched to the content of the client calendar B table item.
[0091] Embodiment two
[0092] In this embodiment, the FlexE overhead frame has a basic code block of 257 bits, and the values of the three C bits in at least two frames are correct, and the transition frame is 6 frames.
[0093] First, the sending end sends a plurality of FlexE overhead frames, wherein the C values carried in the plurality of FlexE overhead frames change according to a regular sequence.
[0094] Then the receiving end receives a plurality of FlexE overhead frames, and obtains the C value in the plurality of FlexE overhead frames.
[0095] For example, the initial C value is 111, the C value is 111 in the first frame, the C value becomes 110 in the second frame after a FlexE frame code block interval (one frame interval is 2*4*1023*5 code blocks), the C value becomes 101 in the third frame after a fixed frame interval, the C value becomes 100 in the fourth frame, the C value becomes 011 in the fifth frame, the C value becomes 010 in the sixth frame, the C value becomes 001 in the seventh frame, the C value becomes 000 in the eighth frame, and 3 is the time of the C value experienced 8 frames from 111 in the first frame to 000 in the eighth frame, and the second frame to the seventh frame is the change process according to the C value regular sequence. The C value regular sequence is as follows:
[0096] 111, 111, 110, 101, 100, 011, 010, 001, 000, 000,...
[0097] Since the C value changes from 111 to 000 in 8 frames, even if errors occur in some frames during this period, as long as the C value of at least two frames in the 8 frames is correct (the correctness of the three C bits in each FlexE overhead frame can be determined by the check result of the cyclic redundancy check (CRC) in each FlexE overhead frame), and the code block position of the correct C value conforms to the C value regular sequence, the C value indicating the switching of the customer calendar table can be determined according to the C value regular sequence, the code block position of other C values can be determined, and the code block position of the C value all becoming 000 can be determined.
[0098] For example, the C value in the FlexE frame series is:
[0099] xxx, 110, xxx, 100, xxx, xxx, xxx, yyy,
[0100] xxx, yyy indicates that the CRC check of this frame is incorrect, and the C value in this frame may be incorrect and the true content cannot be known. Since 110 and 100 are correct C values, even if the C values of other frames cannot be known due to errors, yyy can be inferred to be 000 through the correct C values 110 and 100, and the code block position of the correct C values 110 and 100 conforms to the C value regular sequence. The C value at this frame position is 000, indicating that the switching is to the content of the client calendar A table item.
[0101] Embodiment three
[0102] In the above embodiment one and two, when the C value in the FlexE frame changes from 000 to 111 or from 111 to 000, a C value regular sequence of 6 frames is needed, and there is a transition stage of 6 frames in between, which is long. In the present embodiment, the number of transition frames can be reduced.
[0103] The present embodiment is a scenario of a FlexE overhead frame with 257 bits as a basic code block, in which the values of three C bits in at least two frames are correct, and the transition frame is 3 frames.
[0104] First, the sending end sends a plurality of FlexE overhead frames, wherein the C values carried in the plurality of FlexE overhead frames change according to a regular sequence.
[0105] Then, the receiving end receives the plurality of FlexE overhead frames and acquires the C values in the plurality of FlexE overhead frames.
[0106] For example, the C value regular sequence in which the C value changes from 000 to 111 is: 000, 001, 010, 100, 111, and there are only three transition frames of 001, 010, and 100 in between. FIG. 21 is a schematic diagram of C value change according to an embodiment of the present disclosure. As shown in FIG. 21, even if the C value in the third frame is incorrect (whether the values of the three C bits in each FlexE overhead frame are correct can be determined by the check result of the cyclic redundancy check (CRC) in each FlexE overhead frame), the C value of the fifth frame can be determined to change to 111 through the correct C values of the second frame and the fourth frame, the code block positions of the correct C values of the second frame and the fourth frame, and the C value regular sequence. The C value of the fifth frame changing to 111 indicates that the frame switches to the content of the client calendar B table item.
[0107] Embodiment four
[0108] The present embodiment is a scenario of a FlexE overhead frame with 257 bits as a basic code block, in which the values of three C bits in at least two frames are correct, and the transition frame is 3 frames.
[0109] First, the sending end sends a plurality of FlexE overhead frames, wherein the C values carried in the plurality of FlexE overhead frames change according to a regular sequence.
[0110] Then, the receiving end receives the plurality of FlexE overhead frames and acquires the C values in the plurality of FlexE overhead frames.
[0111] For example, the C value regular sequence when the C value changes from 111 to 000 is: 111, 110, 101, 011, 000, and only three transition frames 110, 101, and 011 are present in the middle. Even if the C value of part of the frames is incorrect, FIG. 22 is another schematic diagram of C value change according to an embodiment of the present disclosure. As shown in FIG. 22, even if the C value in the fourth frame and the fifth frame is incorrect (whether the value of the three C bits in each FlexE overhead frame is correct can be determined by the checking result of the cyclic redundancy check (CRC) in each FlexE overhead frame), the C value of the fourth frame changes to 011 and the C value of the fifth frame changes to 000 can be determined by the correct C value of the second frame and the third frame, the code block position of the correct C value of the second frame and the third frame, and the C value regular sequence. The C value of the fifth frame changes to 000, which indicates that the frame switches to the content of the Client calendar A table entry.
[0112] Through the above embodiment, the requirement that the C value changes from 000 to 111 or from 111 to 000 is not a sudden change, but a change after a plurality of intermediate transition states of the C value regular sequence. At the receiving end, whether the C value is correct can be determined by the CRC checking algorithm. For the correct C value, according to the content of the C value, the code block position, and the C value regular sequence, even if the C value of part of the frames is incorrect and cannot be used, the accurate position (the frame in which the new C value takes effect) at which the C value changes from 000 to 111 or from 111 to 000 can be determined from the frame position of the correct C value, so that the correct position (the starting frame in which the new table entry switching takes effect) at which the Client calendar A table entry switches to the Client calendar B table entry or the correct position (the starting frame in which the new table entry switching takes effect) at which the Client calendar B table entry switches to the Client calendar A table entry can be determined.
[0113] It should be noted that the C value regular sequence can be various defined sequences, which are not described one by one in the present disclosure. The method for transmitting the C value in the FlexE overhead frame proposed in the embodiment of the present disclosure is not only applicable to the scenario of the FlexE overhead frame with 257 bits as a basic code block, but also applicable to the scenario of the FlexE overhead frame with 513 bits as a basic code block, which is not described here.
[0114] The embodiment of the present disclosure further provides a computer readable storage medium, and the computer readable storage medium stores a computer program. When the computer program is executed, the steps in any one of the method embodiments described above are performed.
[0115] In an example embodiment, the computer readable storage medium described above can include, but is not limited to, a U disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and various media that can store computer programs.
[0116] Embodiments of the present disclosure also provide an electronic device including a memory and a processor, the memory storing a computer program, and the processor being configured to execute the computer program to perform the steps in any of the method embodiments described above.
[0117] In an example embodiment, the electronic device described above can further include a transmission device connected to the processor and an input and output device connected to the processor.
[0118] The specific examples in the present embodiment can refer to the examples described in the above embodiments and example implementations, and the present embodiment will not be described here again.
[0119] Obviously, those skilled in the art should understand that the modules or steps of the present disclosure described above can be realized by general computing devices, which can be concentrated on a single computing device or distributed on a network composed of multiple computing devices, and they can be realized by program codes executable by computing devices, so that they can be stored in storage devices and executed by computing devices, and in some cases, the steps shown or described can be executed in different order, or they can be manufactured into individual integrated circuit modules, or multiple modules or steps among them can be manufactured into a single integrated circuit module. Thus, the present disclosure is not limited to any specific combination of hardware and software.
[0120] The above is only a preferred embodiment of the present disclosure and is not intended to limit the present disclosure. For those skilled in the art, the present disclosure can have various modifications and changes. Any modification, equivalent replacement, improvement, etc. within the principles of the present disclosure shall be included in the protection scope of the present disclosure.
Claims
1. A method for transmitting C value in FlexE overhead frame, comprising: receiving a plurality of FlexE overhead frames, wherein the C value carried in the plurality of FlexE overhead frames varies according to a regular sequence; obtaining the C value in the plurality of FlexE overhead frames; determining a FlexE overhead frame in which the C value indicating switching of a customer calendar table according to a correct C value in at least one of the FlexE overhead frames and the regular sequence of the C value.
2. The method of claim 1, wherein, Each of the FlexE overhead frames comprises three C bits, the values of the three C bits constitute the C value of each FlexE overhead frame, and the regular sequence of the C value is a frame-by-frame variation process in which the values of the three C bits change from all 0 to all 1 or from all 1 to all 0 in the plurality of FlexE overhead frames.
3. The method of claim 2, wherein, The determining of the FlexE overhead frame in which the C value indicating switching of the customer calendar table comprises: switching the corresponding customer calendar table in a frame subsequent to the FlexE overhead frame in which the values of the three C bits change to all 0 or all 1.
4. The method of claim 2, wherein, The determining of the FlexE overhead frame in which the C value indicating switching of the customer calendar table according to the correct C value in at least one of the FlexE overhead frames and the regular sequence of the C value comprises: in a transition frame in which the values of the three C bits change from all 0 to all 1 or from all 1 to all 0 respectively, determining the FlexE overhead frame in which the C value indicating switching of the customer calendar table according to the regular sequence of the C value in a case where the values of the three C bits in one of the frames are correct.
5. The method of claim 2, wherein, The determining of the FlexE overhead frame in which the C value indicating switching of the customer calendar table according to the correct C value in at least one of the FlexE overhead frames and the regular sequence of the C value comprises: in a transition frame in which the values of the three C bits change from all 0 to all 1 or from all 1 to all 0 respectively, determining the FlexE overhead frame in which the C value indicating switching of the customer calendar table according to the regular sequence of the C value in a case where the values of the three C bits in at least two of the frames are correct and the code block positions of the correct values of the three C bits conform to the regular sequence of the C value.
6. The method of claim 2, wherein, After the obtaining of the C value in the plurality of FlexE overhead frames, comprising: judging whether the values of the three C bits in each of the FlexE overhead frames are correct according to a check result of a cyclic redundancy check (CRC) in each of the FlexE overhead frames. 7.A method for transmitting C value in FlexE overhead frame, comprising: sending a plurality of FlexE overhead frames, wherein the C value carried in the plurality of FlexE overhead frames varies according to a regular sequence. 8.An apparatus for transmitting C value in FlexE overhead frame, comprising: a receiving module configured to receive a plurality of FlexE overhead frames, wherein the C value carried in the plurality of FlexE overhead frames varies according to a regular sequence; an obtaining module configured to obtain the C value in the plurality of FlexE overhead frames; a determining module configured to determine a FlexE overhead frame in which the C value indicating switching of a customer calendar table according to a correct C value in at least one of the FlexE overhead frames and the regular sequence of the C value.
9. An apparatus for transmitting C values in FlexE overhead frames, comprising: a sending module configured to send a plurality of FlexE overhead frames, wherein the C values carried in the plurality of FlexE overhead frames vary according to a regular sequence.
10. A computer-readable storage medium having stored therein a computer program, wherein, The computer program, when executed by a processor, implements the steps of the method recited in any one of claims 1 to 6, or the steps of the method recited in claim 7.
11. An electronic device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein the processor, when executing the computer program, implements the steps of the method recited in any one of claims 1 to 6, or the steps of the method recited in claim 7.
12. A computer program product comprising a computer program, wherein the computer program, when executed by a processor, implements the steps of the method recited in any one of claims 1 to 6, or the steps of the method recited in claim 7.
Citation Information
Patent Citations
Service carrying method, equipment and system
CN108809901A
Bandwidth allocation configuration switching method of flexible Ethernet, related device and system
CN109962798A
Flexible Ethernet overhead multiframe receiving method, device, equipment and medium
CN112994839A
Method and device for flexe low-speed service processing
WO2022016831A1