Method and apparatus for processing flexible ethernet overhead frames

By sending overhead frame phase indication information between the motherboard and the backup board, the alignment and switching of data streams in the FlexE group are realized, which solves the data interruption problem caused by motherboard failure and improves the reliability of data transmission.

CN116746093BActive Publication Date: 2026-07-14HUAWEI TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2020-12-24
Publication Date
2026-07-14

Smart Images

  • Figure CN116746093B_ABST
    Figure CN116746093B_ABST
Patent Text Reader

Abstract

The application provides a flexible Ethernet overhead frame processing method and device, which is used for reducing the influence of a PHY in a fault state on a service data stream borne by a PHY in a normal state in a FlexE group. The method is applied to a network device including a master board and a backup board, and the method includes: the master board sends first indication information to the backup board, the first indication information being used for indicating a phase of a first overhead frame of a service data stream borne on a first PHY of the master board; and the backup board receives the first indication information, and determines a phase of a second overhead frame of the service data stream borne on a second PHY of the backup board according to the phase of the first overhead frame, the second overhead frame being a next overhead frame of the first overhead frame.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a flexible Ethernet overhead frame processing method and apparatus. Background Technology

[0002] Flexible Ethernet (FlexE) technology is a low-cost, highly reliable carrier-grade interface technology based on the high-speed Ethernet interface. It achieves this by decoupling the Ethernet Media Access Control (MAC) layer from the physical layer. FlexE technology decouples the MAC layer from the physical layer by introducing a Flexible Ethernet Shim layer on top of IEEE 802.3, thus enabling flexible rate matching.

[0003] FlexE technology meets the port application requirements for flexible bandwidth by binding multiple Ethernet physical layers (PHYs) into a flexible Ethernet group and providing physical layer channelization. Therefore, the MAC rate provided by FlexE can be greater than the rate of a single PHY (achieved through binding) or less than the rate of a single PHY (achieved through channelization).

[0004] According to the current FlexE standard and related existing technologies, for network devices in FlexE that have security requirements, such as... Figure 1 As shown, this network device primarily achieves service data flow transmission through a protection switching mechanism between the main board and the backup board. Specifically, both the main board and the backup board in this network device send service data flows through FlexE groups. When the main board is working normally, a switch selects the service data flow carried on the main board's FlexE group to send to other devices. When one or more PHYs in the main board's FlexE group are in a faulty state, the switch selects the service data flow carried on the backup board's FlexE group to send to other devices.

[0005] However, the aforementioned protection failover mechanism can cause an interruption in the service data stream carried by the normally functioning PHY in the motherboard's FlexE group. This interruption can last for tens of milliseconds, thus damaging the service data stream carried by the normally functioning PHY. Therefore, how to reduce the impact of a faulty PHY on the service data stream carried by a normally functioning PHY in the FlexE group has become an urgent problem to be solved. Summary of the Invention

[0006] This application provides a flexible Ethernet overhead frame processing method and apparatus to reduce the impact of a faulty PHY on the service data stream carried by a normal PHY in a FlexE group.

[0007] To achieve the above objectives, the embodiments of this application adopt the following technical solutions.

[0008] In a first aspect, a flexible Ethernet overhead frame processing method is provided, applied in a network device including a motherboard and a backup board. The method includes: the motherboard sending first indication information to the backup board, the first indication information indicating the phase of a first overhead frame of a service data stream carried on a first physical layer interface PHY of the motherboard; the motherboard and the network may correspond to a first FlexE group, which may include multiple PHYs, the first PHY being any one of the multiple PHYs bound to the first FlexE group; the backup board receiving the first indication information and determining the phase of a second overhead frame of the service data stream carried on a second PHY of the backup board according to the phase of the first overhead frame, the second overhead frame being the next overhead frame of the first overhead frame; wherein, the backup board and the network may correspond to a second FlexE group, the second PHY being one of the multiple PHYs bound to the second FlexE group used to carry the service data stream, that is, the service data stream carried by the second PHY and the service data stream carried on the first PHY are the same service data stream.

[0009] In the above technical solution, after the backup board determines the phase of the second overhead frame of the service data stream on the second PHY based on the phase of the first overhead frame, it can ensure that the phase of the overhead frame of the service data stream on the backup board is aligned with the phase of the overhead frame of the service data stream on the main board. Thus, when the main board fails, the first network device can send the service data stream to the second network device through the backup board. Since the phases of the overhead frames of the service data stream sent by the main board and the backup board are aligned, the second network device can still lock the overhead frames in the service data stream, thereby reducing the impact of service data stream corruption on other normally functioning PHYs due to a PHY failure on the main board.

[0010] In one possible implementation of the first aspect, the method further includes: when the motherboard is not faulty, the motherboard transmits the service data stream on the first PHY with the phase of a first overhead frame; when the motherboard fails, the backup board transmits the service data stream on the second PHY with the phase of a second overhead frame. In the above possible implementation, when the motherboard fails, the first network device can transmit the service data stream to the second network device through the backup board. Since the phases of the overhead frames of the service data streams transmitted by the motherboard and the backup board are aligned, the second network device can still lock the overhead frames in the service data stream, thereby reducing the impact of service data stream corruption on other normally functioning PHYs due to a PHY failure in the motherboard.

[0011] In one possible implementation of the first aspect, the first indication information is information encoded in a single-bit encoding format. Optionally, the first indication information includes the frame header position of the first overhead frame; further, the first indication information also includes at least one of the following: encoding version number and characteristic information of the first overhead frame. The above possible implementations can improve the efficiency of the backup board in determining the first overhead frame.

[0012] In one possible implementation of the first aspect, the first indication information further includes a Cyclic Redundancy Check (CRC8) code, which is used to verify the encoding version number and / or the characteristic information of the first overhead frame. In the above possible implementations, verifying the encoding version number and / or the characteristic information of the first overhead frame using CRC8 can improve the security of the aforementioned information.

[0013] In one possible implementation of the first aspect, the backup board determines the phase of the second overhead frame of the service data stream carried on the second PHY of the backup board based on the phase of the first overhead frame, including: the backup board determines the frame header position of the second overhead frame on the first PHY based on the frame header position of the first overhead frame and the overhead frame interval; and determines the phase of the second overhead frame of the service data stream carried on the second PHY of the backup board based on the frame header position of the second overhead frame on the first PHY. The above possible implementation provides a simple and effective way to determine the phase of the second overhead frame on the backup board.

[0014] In one possible implementation of the first aspect, the method further includes: the backup board compensating for the phase of the second overhead frame of the service data stream carried on the second PHY on the backup board based on the inter-board transmission delay and / or encoding / decoding delay. In the above possible implementation, the accuracy of the phase of the second overhead frame on the backup board is improved.

[0015] In one possible implementation of the first aspect, the feature information includes the padding block PAD phase, and the method further includes: determining the PAD phase in the second overhead frame of the service data stream on the second PHY based on the PAD phase; and / or, the feature information also includes the alignment flag word AM phase, and the method further includes: determining the AM phase in the second overhead frame of the service data stream on the second PHY based on the AM phase. In the above possible implementations, the backup board can ensure that the PAD phase and AM phase in the second overhead frame of the first PHY of the main board are aligned with the PAD phase and AM phase in the second overhead frame of the second PHY of the backup board, thereby ensuring the consistency of PAD and AM insertion between the main board and the backup board.

[0016] In one possible implementation of the first aspect, the method further includes: the backup board determining the frame header phase deviation between the main board and the backup board based on the frame header of the same overhead frame of the service data stream carried on the first PHY and the second PHY; when the frame header phase deviation is greater than a preset deviation, the backup board triggers an alarm message. In the above possible implementation, the backup board sends an alarm message to the processor in the network device to realign the overhead frames between the main board and the backup board.

[0017] In a second aspect, a flexible Ethernet overhead frame processing apparatus is provided, the apparatus comprising a motherboard and a backup board; wherein the motherboard is configured to send first indication information to the backup board, the first indication information being configured to indicate the phase of a first overhead frame of a service data stream carried on a first physical layer interface PHY of the motherboard; the backup board is configured to receive the first indication information and determine the phase of a second overhead frame of the service data stream carried on a second PHY of the backup board based on the phase of the first overhead frame, the second overhead frame being the next overhead frame of the first overhead frame.

[0018] In one possible implementation of the second aspect, the motherboard is further configured to transmit the service data stream on the first PHY in the phase of a first overhead frame when the motherboard is not faulty; the backup board is further configured to transmit the service data stream on the second PHY in the phase of a second overhead frame when the motherboard is faulty.

[0019] In one possible implementation of the second aspect, the first instruction information is information encoded in a single-bit encoding format.

[0020] In one possible implementation of the second aspect, the first indication information includes the frame header position of the first overhead frame.

[0021] In one possible implementation of the second aspect, the backup board is further configured to: determine the frame header position of the second overhead frame on the first PHY based on the frame header position of the first overhead frame and the overhead frame interval; and determine the phase of the second overhead frame of the service data stream carried on the second PHY on the backup board based on the frame header position of the second overhead frame on the first PHY.

[0022] In one possible implementation of the second aspect, the backup board is also used to: compensate for the phase of the second overhead frame of the service data stream carried on the second PHY based on the inter-board transmission delay and / or encoding / decoding delay.

[0023] In one possible implementation of the second aspect, the first indication information further includes at least one of the following: encoding version number and feature information of the first overhead frame.

[0024] In one possible implementation of the second aspect, the first indication information further includes: a Cyclic Redundancy Check (CRC8) code, which is used to verify the encoding version number and / or the characteristic information of the first overhead frame.

[0025] In one possible implementation of the second aspect, the feature information includes the padding block PAD phase, and the backup board is further configured to: determine the PAD phase in the second overhead frame of the service data stream on the second PHY based on the PAD phase; and / or, the feature information also includes the alignment flag word AM phase, and the backup board is further configured to: determine the AM phase in the second overhead frame of the service data stream on the second PHY based on the AM phase.

[0026] In one possible implementation of the second aspect, the backup board is further configured to: determine the frame header phase deviation between the main board and the backup board based on the frame header of the same overhead frame of the service data stream carried on the first PHY and the second PHY; and trigger an alarm message when the frame header phase deviation is greater than a preset deviation.

[0027] In another aspect, this application provides a readable storage medium storing instructions that, when the readable storage medium is run on a device, cause the device to perform the method provided by the first aspect or any possible implementation thereof.

[0028] Another aspect of this application provides a computer program product that, when run on a computer, causes the computer to perform the method provided by the first aspect or any possible implementation thereof.

[0029] Understandably, any of the apparatuses, computer storage media, or computer program products of the flexible Ethernet overhead frame processing method provided above are used to execute the corresponding method provided above. Therefore, the beneficial effects that can be achieved can be referred to the beneficial effects of the corresponding method provided above, and will not be repeated here. Attached Figure Description

[0030] Figure 1 This is a schematic diagram illustrating the transmission of service data streams through a protection switching mechanism.

[0031] Figure 2 A schematic diagram of a FlexE OH frame provided in an embodiment of this application;

[0032] Figure 3 A schematic diagram of a FlexE group provided in an embodiment of this application;

[0033] Figure 4 A schematic diagram illustrating the functionality of a 100GBASE-R FlexE multiplexer provided in this application embodiment;

[0034] Figure 5 A schematic diagram illustrating the function of a 100GBASE-R FlexE demultiplexer provided in this application embodiment;

[0035] Figure 6 This application provides an illustration of an application scenario for a FlexE communication system.

[0036] Figure 7 A flowchart illustrating a flexible Ethernet overhead frame processing method provided in an embodiment of this application;

[0037] Figure 8 This is a schematic diagram illustrating the encoding of a first indication information provided in an embodiment of this application;

[0038] Figure 9 A flowchart illustrating another flexible Ethernet overhead frame processing method provided in this application embodiment;

[0039] Figure 10 A schematic diagram illustrating the determination of the phase of a second overhead frame on a second PHY, provided as an embodiment of this application;

[0040] Figure 11 This is a schematic diagram of the structure of a first network device provided in an embodiment of this application. Detailed Implementation

[0041] In this application, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple. Furthermore, embodiments of this application use terms such as "first" and "second" to distinguish identical or similar items with essentially the same function and effect. For example, the first threshold and the second threshold are merely to distinguish different thresholds and do not limit their order. Those skilled in the art will understand that terms such as "first" and "second" do not limit the quantity or execution order.

[0042] It should be noted that, in this application, the terms "exemplary" or "for example" are used to indicate that something is being described as an example, illustration, or illustration. Any embodiment or design described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or design solutions. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.

[0043] Before introducing the technical solution of this application, the relevant technologies and concepts involved in the embodiments of this application will be introduced and explained first.

[0044] In Ethernet, Ethernet ports typically appear as a logical, data-oriented concept, called logical ports or simply ports, while Ethernet physical interfaces appear as a hardware concept, called physical interfaces or simply interfaces. The speed of an Ethernet port is usually determined based on the speed of the Ethernet physical interface; generally, the maximum bandwidth of an Ethernet port corresponds to the bandwidth of one Ethernet physical interface. With the development and application of Ethernet over the past period, Ethernet port speeds have increased tenfold, evolving from 10 megabits per second (Mbps) to 100 Mbps, 1000 Mbps (1 Gbps), 10 Gbps, 40 Gbps, 100 Gbps, 400 Gbps, and so on. However, the bandwidth growth required by actual applications does not exhibit this tenfold increase; for example, it may be 50 Gbps, 75 Gbps, or 200 Gbps. This has resulted in a widening discrepancy between the Ethernet port speed and the expected speeds of actual applications. Therefore, the industry desires, on the one hand, the availability of flexible bandwidth logical ports. These logical ports can share one or more Ethernet physical interfaces, such as two 40GE ports and two 10GE ports sharing a single 100G physical interface. They also need to be able to flexibly adjust their speeds as demand changes, for example, from 200Gbps to 330Gbps, or from 50Gbps to 20Gbps, to improve port utilization efficiency or extend their lifespan. For fixed-speed physical links, they can be cascaded to support the stacking of logical port speeds (e.g., stacking two 100GE physical interfaces to support a 200GE logical port). On the other hand, there is a desire to pool the bandwidth resources obtained from the flexible stacking of physical interfaces, allocating the bandwidth to specific Ethernet logical ports in granular units (e.g., 5G as a unit), enabling efficient sharing of several Ethernet virtual connections across stacked physical link groups.

[0045] Thus, the concept of Flexible Ethernet (FlexE) emerged, also known as Flexible Virtual Ethernet. FlexE supports features such as sub-rate, channelization, and reverse multiplexing for Ethernet services. For example, in sub-rate applications, FlexE can support the transmission of 250G Ethernet services (MAC streams) using three existing 100GE physical interfaces. In reverse multiplexing scenarios, FlexE can support the transmission of 200G Ethernet services using two 100GE physical medium dependent (PMD) sublayers. In channelization scenarios, FlexE can support several logical ports sharing one or more physical interfaces, enabling the multiplexing of multiple low-rate Ethernet services into a high-rate Flexible Ethernet network. The introduction of FlexE's sub-rate, channelization, and reverse multiplexing features greatly expands the application scenarios of Ethernet, enhances the flexibility of Ethernet applications, and allows Ethernet technology to gradually penetrate the transport network field.

[0046] FlexE borrows from Synchronous Digital Hierarchy (SDH) / Optical Transfer Network (OTN) technologies to construct a fixed frame format for physical interface transmission and performs time division multiplexing (TDM) time slot allocation. The following example uses an existing FlexE frame format. FlexE's TDM time slot allocation granularity is 66 bits, corresponding to a 64B / 66B bit block. For example... Figure 2 As shown, a FlexE frame contains eight Flexible Ethernet Overhead (FlexE OH) blocks (also called OH blocks, each OH block is a 64B / 66B bit block). The first FlexE OH block is the frame header position of the FlexE OH frame. Between the FlexE OH blocks is the payload area for time slot division. This payload area is granular with 66 bits, corresponding to 1023×20 66-bit bearer spaces (i.e., 1023 groups of time slots, each group of 20 time slots, each time slot is 66 bits). The bandwidth of the 100GE interface is divided into 20 time slots, and the bandwidth of each time slot is approximately 5Gbps. Figure 2The diagram only shows a schematic of two adjacent FlexE OH blocks within a single FlexE frame, and the payload area between these two FlexE OH blocks. FlexE implements multiple transmission channels, i.e., multiple time slots, on a single physical interface through interleaving and multiplexing. Several physical interfaces can be bundled, and all the time slots of these physical interfaces can be combined to carry a single Ethernet logical port. For example, 10GE requires two time slots, 25GE requires five time slots, and so on. What is visible on the logical port is still sequentially transmitted 64B / 66B bit blocks. Each logical port corresponds to a MAC address, transmitting the corresponding Ethernet packets. The identification of packet start and end and idle padding is the same as in traditional Ethernet. FlexE is only an interface technology; related switching technologies can be based on existing Ethernet packets or on FlexE cross-connection, which will not be elaborated here.

[0047] FlexE technology decouples the MAC layer from the physical layer by introducing a Flexible Ethernet Slicing (FlexE shim) layer on top of IEEE 802.3, enabling flexible rate matching. For example... Figure 3 As shown, FlexE can bind one or more physical layer interfaces (PHY) together to form a FlexE group. Multiple FlexE clients from different MAC addresses can be transmitted through a FlexE group to achieve flexible matching of Ethernet interface speeds. Figure 3 The following example illustrates how four PHYs can be bound together to form a FlexE group.

[0048] FlexE group: Also known as a bundled group, each FlexE group includes multiple PHYs that are logically bundled. These PHYs can be physically independent and not physically connected. Network devices in FlexE can identify which PHYs are included in a FlexE group by their PHY numbers, thus achieving logical bundling of multiple PHYs. For example, each PHY number can be identified by a number between 1 and 254, with 0 and 255 being reserved numbers. A PHY number corresponds to a physical interface on a network device. Adjacent network devices must use the same number to identify the same PHY. The PHY numbers included in a FlexE group do not need to be consecutive.

[0049] FlexE client: Corresponds to various user interfaces on the network, consistent with traditional service interfaces in existing Internet protocols or Ethernet networks. FlexE clients can be flexibly configured according to bandwidth requirements, supporting Ethernet MAC data streams of various rates; for example, data streams can be transmitted to the FlexE shim using 64B / 66B encoding. A FlexE client can be interpreted as an Ethernet stream based on a single physical address. Clients sending data through the same FlexE group need to share the same clock, and these clients need to adapt to the allocated time slot rates.

[0050] FlexE shim: As an additional logical layer inserted between the MAC and PHY (PCS sublayer), it implements the core architecture of FlexE technology through a time slot distribution mechanism based on a calendar. The main function of the FlexE shim is to slice data according to the same clock and encapsulate the sliced ​​data into pre-divided time slots. Then, according to a pre-configured time slot configuration table, each time slot is mapped to a PHY in the FlexE group for transmission. Each time slot is mapped to one PHY within the FlexE group.

[0051] For example, for the sending end, with Figure 4Taking the 100GBASE-R FlexE multiplexer (mux) function as an example, for multiple data streams (represented as cl#1 to cl#M) from the MAC layer (corresponding to the client clock domain), after client processing, these multiple data streams enter the FlexE shim (corresponding to the FlexE clock domain). The processing of these multiple data streams by the FlexE shim can include: for each of the multiple data streams, adding or deleting idle code patterns to complete the rate adaptation of the data stream, that is, adapting the rate of the data stream from the MAC rate to the PHY rate; mapping the rate-adapted multiple data streams to the time slots of the FlexE shim to obtain a calendar data stream, the total bandwidth of which can be N×20×5Gbps; inserting OH frames (also called FlexE frames or FlexE OH frames) on multiple PHYs in a FlexE group; and distributing the calendar data stream to the multiple PHYs. The data carried on each of the multiple PHYs is mapped starting from the frame header position of the OH frame of that PHY, and transmission begins after the OH frame headers of the multiple PHYs are aligned. The data carried on the multiple PHYs can be represented as FlexE#1 100G instance to FlexE#N 100G instance, which can also be called a sub-calendar data stream.

[0052] For example, for the receiving end, with Figure 5 Taking the 100GBASE-R FlexE demultiplexer (demux) function as an example, the FlexE shim processing can include: for multiple received sub-calendar data streams (represented as FlexE#1 100G instance to FlexE#N 100G instance respectively), locking the OH frame on each PHY; aligning the data on multiple PHYs in the same FlexE group according to the boundary of the OH frame, and removing the phase deviation between multiple PHYs during the alignment process; rearranging the data on the multiple PHYs into a calendar data stream; extracting multiple data streams from the calendar data stream through the client's mapping information; for each of the multiple data streams, completing the rate adaptation of the data stream by adding or deleting idle code patterns, that is, adapting the data stream rate from the PHY rate to the MAC rate, thus obtaining multiple data streams (represented as cl#1 to cl#M respectively).

[0053] Figure 6The diagram illustrates an application scenario of the FlexE communication system involved in this application. The FlexE communication system includes user equipment 1, network device 1, network device 2, and user equipment 2. Network device 1 and network device 2 can be two logically adjacent network devices. Network device 1 can be an intermediate node, in which case network device 1 is connected to user equipment 1 through other network devices; or, network device 1 can be an edge node, in which case network device 1 is directly connected to user equipment 1. Similarly, network device 2 can be an intermediate node, in which case network device 2 is connected to user equipment 2 through other network devices; or, network device 2 can be an edge node, in which case network device 2 is directly connected to user equipment 2.

[0054] Network device 1 may include network interface cards (NICs) 11 and 12, serving as the motherboard and backup board respectively, and a switch 13 for switching between NICs 11 and 12. NIC 11 has a FlexE interface a, and NIC 12 has a FlexE interface b. Network device 2 includes NIC 21, which has a FlexE interface c. Each FlexE interface can also be called a FlexE group. Unlike traditional Ethernet interfaces, a single FlexE interface can support multiple clients, and as a logical interface, a FlexE interface can be composed of multiple physical interfaces. Optionally, each NIC in each network device may have one or more FlexE interfaces, and network device 2 may also include two NICs, one serving as the motherboard and the other as the backup board. Figure 6 The following example illustrates the concept of a network card with one FlexE interface and a network device 2 with one network card.

[0055] Specifically, assuming that network device 1 is required for security protection, network card 11 is used as the motherboard and network card 12 is used as the backup board to achieve protection for the motherboard and the backup board. The process of communication between network device 1 and network device 2 through the protection switching mechanism can include the following: When network device 1 sends data to network device 2, network cards 11 and 12 can send two data streams to the switch 13 through FlexE interface a and FlexE interface b, respectively. These two data streams are the same data. The switch 13 selects one of these two data streams to send to network device 2. That is, the data sent by network device 1 is selectively received at the switch 13, i.e., selecting data from network card 11 or network card 12 to send to network device 2. Usually, data from network card 11 (i.e., the motherboard) is selected. When network card 11 fails, data from network card 12 (i.e., the backup board) is selected. When network device 1 receives data from network device 2, the switch 13 will send the received data to network card 11 and network card 12 through FlexE interface a and FlexE interface b, respectively. That is, the received data is dual-transmitted at the switch 13 so that both network card 11 and network card 12 receive the data.

[0056] It should be understood that Figure 6 The system shown is illustrated using only two user devices and two network devices as an example. The FlexE communication system may also include a larger number of user devices and network devices, and this application embodiment does not limit this. Figure 6 The FlexE communication system shown is merely an example, and the application scenarios of the FlexE communication system provided in this application are not limited to... Figure 6 The scenario shown is applicable to all network scenarios where applications use FlexE technology for data transmission.

[0057] Figure 7 This is a flowchart illustrating a flexible Ethernet overhead frame processing method provided in an embodiment of this application. The method is applied to a first network device including a motherboard and a backup board. For example, the first network device is the one described above. Figure 6 The method for the network device 1 shown includes the following steps.

[0058] S201: The motherboard sends a first indication message to the backup board. The first indication message is used to indicate the phase of the first overhead frame of the service data stream carried on the first PHY of the motherboard.

[0059] The motherboard and the network can correspond to a first FlexE group (also called a first FlexE interface). The first FlexE group can include multiple PHYs, and the first PHY can be any one of these PHYs. The service data stream carried on the first PHY can include data from one or more clients. Specifically, when the motherboard is functioning correctly and the first network device is sending the service data stream to the second network device through the motherboard (i.e., the switch in the first network device selects the motherboard's data to be sent to the second network device), the motherboard can send a first indication message to the backup board. This first indication message indicates the phase of the first overhead frame of the service data stream carried on the motherboard's first PHY. The first overhead frame can be the overhead frame (also called a FlexE frame) currently being sent by the motherboard, and the phase of the first overhead frame can refer to the time domain position of the currently sent first overhead frame, such as a timeslot.

[0060] Optionally, the first indication information may include the frame header position of the first overhead frame; wherein, the first overhead frame may include 8 overhead blocks, and the frame header of the first overhead frame may refer to the first overhead block among these 8 overhead blocks. The frame header position is the time domain position of the first overhead block, and thus the phase of the first overhead frame can be the frame header position of the first overhead frame (or the time domain position of the first overhead block). Further, the first indication information may also include characteristic information of the first overhead frame, which may include the padding block (PAD) phase and / or the alignment marker (AM) phase; wherein, PAD and AM are used in Ethernet for rate matching and data alignment, respectively, and during the transmission of the service data stream, PAD and AM are inserted into the service data stream according to a certain pattern. For example, the first network device can insert overhead frames at interval a1, PADs at interval a2, and AMs at interval a3 in the service data stream. If the overhead frames, PADs, and AMs are phase-aligned at initialization, then after the service data stream has been transmitted through the least common multiple of a1, a2, and a3, the phases of the overhead frames, PADs, and AMs will be aligned again. Thus, when the second network device receives the service data stream, it can achieve data alignment based on any one of the overhead frames, the PADs, or the AMs. It should be noted that the relevant descriptions of the PADs and AMs can be found in related technical documents, and will not be repeated here.

[0061] Specifically, during the process of the first network device sending the first overhead frame through the motherboard, the motherboard can sample the first overhead frame to determine the frame header position of the first overhead frame included in the first indication information; furthermore, the motherboard can also count the number of bit blocks starting from the frame header position to determine the number of bit blocks of the PAD and the AM relative to the frame header of the first overhead frame, that is, determine the PAD phase and AM phase in the first overhead frame included in the first indication information; then, the motherboard can send the first indication information to the backup board.

[0062] In one possible embodiment, the motherboard may also encode the first indication information using a single-bit encoding format. For example, such as... Figure 8 As shown, the motherboard can start encoding from the header position of the first overhead frame, and complete the encoding of the header through M (M is a positive integer) encoding cycles (for example, using an encoding frequency of 10MHz, i.e., one encoding cycle is 100ns). The header can include N cycles of high level and N cycles of low level, for example, M equals 20 and N equals 10. Furthermore, as... Figure 8As shown, for other information in the first indication information (e.g., the feature information of the first overhead frame), data "0" can be represented by an encoding method of high level for length "x" and high level for length "y" within one encoding cycle, and data "1" can be represented by an encoding method of high level for length "y" and high level for length "x" within one encoding cycle, for example, x = 25ns, y = 75ns. Furthermore, when a different encoding version is used each time, the first indication information can also include an encoding version number; the first indication information can also include a Cyclic Redundancy Check (CRC8) code, which can be used to verify the encoding version number and the feature information of the first overhead frame (taking an 86-bit length as an example) to ensure the security of the encoding version number and the feature information of the first overhead frame. In addition, the first indication information can also include an end field, for example, the end field can be a low level for k encoding cycles, for example, k = 30.

[0063] S202: When the backup board receives the first indication information, the backup board determines the phase of the second overhead frame of the service data stream carried on the second PHY of the backup board according to the phase of the first overhead frame. The second overhead frame is the next overhead frame after the first overhead frame.

[0064] Specifically, the backup board can correspond to a second FlexE group (also known as a second FlexE interface) with the network. The second FlexE group can include multiple PHYs, and the second PHY can be one of these PHYs used to carry the service data stream. That is, the service data stream carried by the second PHY is the same service data stream carried on the first PHY. When the backup board receives the first indication information, it can determine the phase of the first overhead frame based on the first indication information, and then determine the phase of the second overhead frame of the service data stream on the second PHY based on the phase of the first overhead frame.

[0065] Specifically, when the first indication information includes the frame header position of the first overhead frame, the backup board can determine the frame header position of the second overhead frame on the first PHY based on the frame header position of the first overhead frame and the interval between the two overhead frames (this interval is fixed, for example, it can be 163688 (i.e., 20×1023×8+8) 64B / 66B bit blocks). Then, the backup board can align the frame header position of the second overhead frame on the second PHY of the service data stream based on the frame header position of the second overhead frame on the first PHY. For example, the frame header position of the second overhead frame on the first PHY can be used as the frame header position of the second overhead frame of the data stream on the second PHY, thereby achieving phase alignment of the second overhead frame of the service data stream on the second PHY. Furthermore, when the first indication information also includes a PAD phase, the backup board can also determine the PAD phase in the second overhead frame of the service data stream on the second PHY based on the PAD phase. If the PAD phase is the interval between the PAD and the frame header of the first overhead frame, the backup board can determine the PAD phase in the second overhead frame on the second PHY based on the PAD phase, the interval between the two PADs, and the interval between the two overhead frames. Similarly, when the first indication information also includes an AM phase, the backup board can also determine the AM phase in the second overhead frame of the service data stream on the second PHY based on the AM phase. If the AM phase is the interval between the AM and the frame header of the first overhead frame, the backup board can determine the AM phase in the second overhead frame on the second PHY based on the AM phase, the interval between the two AMs, and the interval between the two overhead frames. In this way, the backup board can ensure that the PAD phase and AM phase in the second overhead frame on the first PHY of the motherboard are aligned with the PAD phase and AM phase in the second overhead frame on the second PHY of the backup board, thereby ensuring the consistency of PAD and AM insertion between the motherboard and the backup board.

[0066] In one possible embodiment, when the motherboard encodes the first indication information using a single-bit encoding format, the backup board can decode the first indication information upon receiving it to obtain the relevant information within the first indication information. For example, using... Figure 8Taking the encoding method shown as an example, the backup board can start decoding after detecting an upward transition of the signal from the main board's data stream. After receiving N consecutive high-level signals, when a downward transition is detected, the position of this downward transition is determined as the header position of the first overhead frame. Subsequently, N consecutive low-level signals are detected. If N consecutive low-level signals are detected, the header position of the first overhead frame is correct; otherwise, the header position is redefined. Furthermore, the backup board can decode the encoding version number, the characteristic information of the first overhead frame (e.g., PAD phase and AM phase), and CRC8 based on the encoding methods of data "0" and data "1". The encoding version number can be used to indicate the encoding version, allowing the backup board to identify differences between different encoding versions. Correspondingly, the backup board can also verify the characteristic information of the first overhead frame using CRC8. If the verification is successful, the characteristic information of the first overhead frame is determined to be correct; if the verification fails, the detection of the first indication information restarts. Finally, when the backup board detects the end field, for example, when it detects a low level for k (e.g., k=30) encoding cycles, the backup board can determine that the first indication information decoding is complete.

[0067] It should be noted that when this backup board detects N cycles of low level or N cycles of high level, signal jitter may occur due to the influence of inter-board traces, resulting in the actual number of detected low or high level cycles being greater than or less than N. For example, the number of detected cycles may be N+1 or N-1. Therefore, as long as the absolute value of the difference between N and the number of detected low level cycles is less than a preset threshold, it can be considered that N cycles of low level or N cycles of high level have been detected.

[0068] Furthermore, such as Figure 9 As shown, the method may further include: S203.

[0069] S203: The backup board compensates for the phase of the second overhead frame of the service data stream on the second PHY based on the inter-board transmission delay and / or encoding / decoding delay.

[0070] The inter-board transmission delay refers to the transmission delay of the phase of the first overhead frame (e.g., the frame header position of the first overhead frame) from the motherboard to the backup board. This inter-board transmission delay can be measured in advance using external hardware devices such as an oscilloscope and configured for the backup board. Therefore, when compensation for the phase of the second overhead frame on the second PHY is required, the backup board can directly obtain the inter-board transmission delay according to the corresponding configuration. Furthermore, the encoding / decoding delay includes encoding delay and decoding delay. The encoding delay refers to the delay when the motherboard encodes the phase of the first overhead frame, and the decoding delay refers to the delay when the backup board decodes the phase of the first overhead frame. Both the encoding and decoding delays can be measured in advance and configured for the backup board.

[0071] Specifically, when the first indication information includes the frame header position of the first overhead frame, and the main board sends the single-bit encoded first indication information to the backup board, the backup board determines the phase of the second overhead frame of the service data stream on the second PHY by: determining the phase of the second overhead frame of the service data stream on the second PHY based on the frame header position of the first overhead frame, the encoding delay, the inter-board transmission delay, the decoding delay, the transmission delay of the characteristic information of the first overhead frame, and the overhead frame interval, wherein the phase of the second overhead frame is the frame header position of the second overhead frame. For example, as shown... Figure 10 As shown, taking the first PHY and the second PHY as 100G PHYs as an example, if the frame header of the first overhead frame on the first PHY is T0, the encoding delay is t1, the inter-board transmission delay is t2, the decoding delay is t3, the transmission delay of the feature information of the first overhead frame is t4 (t4 is less than the interval of the overhead frames), and the interval of the overhead frames is Δt, then the backup board determines the phase of the second overhead frame on the first PHY as T1 (for example, T1 = T0 + Δt - t1 - t2 - t3 - t4), thereby determining the phase of the second overhead frame on the second PHY as T1. Figure 10 In this context, t5 = Δt - t1 - t2 - t3 - t4, which represents the actual distance from the second overhead frame after compensating for the phase of the first overhead frame.

[0072] After the backup board determines the phase of the second overhead frame of the service data stream on the second PHY using the above method, the phases of the same overhead frame of the service data stream on the first PHY and the second PHY are aligned. This can also be understood as the phase of the overhead frame of the service data stream on the second PHY tracking and aligning with the phase of the overhead frame of the service data stream on the first PHY. Thus, when the mainboard fails, the first network device can send the service data stream to the second network device through the backup board. For example, the backup board can send the service data stream on the second PHY with the aligned phase of the second overhead frame. Since the phases of the overhead frames of the service data streams sent by the mainboard and the backup board are aligned, when the mainboard fails and the second network device receives the service data stream sent by the backup board, the second network device can still lock the overhead frames in the service data stream and achieve data alignment in multiple PHYs based on the locked overhead frames, thereby extracting customer data from the aligned data. Optionally, when the first indication information also includes the PAD phase or AM phase of the first overhead frame, the second network device can also achieve data alignment in multiple PHYs based on the PAD phase or the AM phase.

[0073] It should be noted that the specific process of locking the overhead frame by the second network device, aligning the data in multiple PHYs based on the locked overhead frame, and extracting the client's data from the aligned data can be referred to the relevant descriptions in the prior art, and will not be repeated here in the embodiments of this application.

[0074] Furthermore, such as Figure 9 As shown, the method may further include: S204-S205. S204-S205 and S201-S203 can be performed in any order. Figure 9 The example below illustrates this by taking S204-S205 as an example of S203.

[0075] S204: The backup board determines the frame header phase deviation between the main board and the backup board based on the frame header of the same overhead frame of the service data stream carried on the first PHY and the second PHY.

[0076] The backup board can be used to detect the phase deviation between the frame headers of the same overhead frame on the main board and the backup board for the service data stream. For example, the backup board can integrate a counter that starts counting at the frame header position of a certain overhead frame on the main board as determined by the backup board, and stops counting at the frame header position of the same overhead frame on the backup board (or at the calculated frame header position of the same overhead frame on the backup board). The accumulated value of the counter is the phase deviation between the frame headers of the same overhead frame on the main board and the backup board for the service data stream. For example, in a scenario where the first overhead frame on the main board is earlier than the first overhead frame on the backup board, the counter first starts counting at the "frame header of the first overhead frame on the main board calculated by the backup board," and then stops counting when the frame header of the first overhead frame on the backup board arrives. The accumulated value of the counter is the frame header phase deviation.

[0077] S205: When the phase deviation of the frame header is greater than the preset deviation, the backup board triggers an alarm message.

[0078] For example, if the preset deviation is 5ns and the phase deviation obtained by the calculator for the backup board is 7ns, then the backup board can send an alarm message to the processor in the first network device to realign the overhead frames between the main board and the backup board. The preset deviation can be set in advance; for example, it can be determined based on the alignment capability of the switch in the first network device used to switch between the main board and the backup board. This embodiment does not impose specific limitations on this.

[0079] For ease of understanding, the following will be used as an example. Figure 11Taking the structure of the first network device shown as an example, the method provided in this application embodiment will be illustrated. Assuming the FlexE group between the motherboard and the network is the first FlexE group (also called the working group) and the FlexE group between the backup board and the network is the second FlexE group (also called the backup group), then the first and second FlexE groups may include a receive (RX) decoding unit, a frame header locking and checking unit, a PHY phase alignment unit, a transmit (TX) encoding unit, and a sampling unit. The motherboard and the backup board may also each be connected to a programmable device for compiling or decoding the data they exchange. Specifically, taking the sending of first instruction information from the mainboard to the backup board as an example, the sampling unit in the mainboard can be used to sample the frame header of the first overhead frame of the service data stream carried on the first PHY in the first FlexE group; the TX encoding unit in the mainboard can be used to encode the sampled frame header of the first overhead frame and send it to the backup board; the RX decoding unit in the backup board can decode the received data; the frame header locking and checking unit in the backup board can lock the frame header of the first overhead frame according to the decoded data, and check the frame header phase deviation of the same overhead frame in the mainboard and the backup board; the PHY phase alignment unit in the backup board can be used to align the frame header of the second overhead frame of the backup board according to the frame header of the first overhead frame.

[0080] It should be noted that the mainboard and backup board in this application embodiment are interchangeable. For example, when the backup board is upgraded to the mainboard, the backup board can also send the phase of the currently transmitted overhead frame to the mainboard so that the mainboard tracks and aligns the phase of the overhead frame of the backup board. The above description only uses the example of the backup board tracking and aligning the phase of the overhead frame of the mainboard as an example. The technical solution provided in this application embodiment is also applicable to the solution of the mainboard tracking and aligning the phase of the overhead frame of the backup board, and will not be repeated here.

[0081] In this embodiment, the motherboard sends a first indication message to the backup board. This first indication message indicates the phase of the first overhead frame of the service data stream on the motherboard. Upon receiving the first indication message, the backup board can determine the phase of the second overhead frame of the service data stream on its own board based on the phase of the first overhead frame. This ensures that the phase of the overhead frames of the service data stream on the backup board is aligned with the phase of the overhead frames of the service data stream on the motherboard. Thus, when the motherboard fails, the first network device can send the service data stream to the second network device through the backup board. Since the phases of the overhead frames of the service data stream sent by the motherboard and the backup board are aligned, the second network device can still lock the overhead frames in the service data stream, thereby reducing the impact of a PHY failure on other normally functioning PHYs causing service data stream corruption.

[0082] The above description primarily focuses on the methods provided in the embodiments of this application from the perspective of a first network device. It is understood that, in order to achieve the aforementioned functions, the first network device includes corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should readily recognize that, based on the network elements and algorithm steps described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0083] This application embodiment can divide the first network device into functional modules according to the above method example. For example, each function can be divided into a separate functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.

[0084] This application provides a first network device, the structural schematic diagram of which is shown below. Figure 6The network device 1 is shown in the diagram. The first network device includes a network interface card (NIC) 11 and a network interface card (NIC) 12. NIC 11 can serve as the motherboard, and NIC 12 can serve as a backup board. NIC 11 is used to support the first network device in executing S201 of the above method embodiments; NIC 12 is used to support the first network device in executing one or more of S202-S205 of the above method embodiments, and / or other processes used in the technology described herein. Further, the first network device also includes a switching switch 13; wherein the switching switch 13 is used to support the first network device in selecting data sent by NIC 11 to be sent to the second network device when NIC 11 is not faulty, and in selecting data sent by NIC 12 to be sent to the second network device when NIC 11 is faulty. All relevant content of each step involved in the above method embodiments can be referenced to the functional description of the corresponding functional module, and will not be repeated here.

[0085] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0086] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0087] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0088] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, essentially, or the parts that contribute to the prior art, or all or part of the technical solutions, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a terminal to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.

[0089] Finally, it should be noted that the above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A flexible Ethernet overhead frame processing method, characterized in that, Applied to network devices including a motherboard and a spare board, the method includes: The motherboard sends a first indication information to the backup board, the first indication information being used to indicate the phase of the first overhead frame of the service data stream carried on the first physical layer interface PHY of the motherboard; The backup board receives the first indication information and determines the phase of the second overhead frame of the service data stream carried on the second PHY of the backup board according to the phase of the first overhead frame. The second overhead frame is the next overhead frame after the first overhead frame.

2. The method according to claim 1, characterized in that, The method further includes: When the motherboard is not malfunctioning, the motherboard transmits the service data stream on the first PHY at the phase of the first overhead frame; When the motherboard fails, the backup board transmits the service data stream on the second PHY at the phase of the second overhead frame.

3. The method according to claim 1 or 2, characterized in that, The first indication information is information encoded in a single-bit encoding format.

4. The method according to claim 1, characterized in that, The first indication information includes the frame header position of the first overhead frame.

5. The method according to claim 4, characterized in that, The backup board determines the phase of the second overhead frame of the service data stream carried on the second PHY of the backup board based on the phase of the first overhead frame, including: The backup board determines the frame header position of the second overhead frame on the first PHY based on the frame header position of the first overhead frame and the overhead frame interval. Based on the frame header position of the second overhead frame on the first PHY, the phase of the second overhead frame of the service data stream carried on the second PHY on the backup board is determined.

6. The method according to claim 1, characterized in that, The method further includes: The backup board compensates for the phase of the second overhead frame of the service data stream carried on the second PHY on the backup board based on the inter-board transmission delay and / or encoding / decoding delay.

7. The method according to claim 1, characterized in that, The first indication information also includes at least one of the following: encoding version number, and feature information of the first overhead frame.

8. The method according to claim 7, characterized in that, The first indication information further includes: a cyclic redundancy check code, which is used to verify the encoding version number and / or the feature information of the first overhead frame.

9. The method according to claim 7 or 8, characterized in that, The feature information includes the padding block PAD phase, and the method further includes: determining the PAD phase of the service data stream in the second overhead frame on the second PHY based on the PAD phase; And / or, The feature information also includes the alignment flag word AM phase, and the method further includes: determining the AM phase of the service data stream in the second overhead frame on the second PHY based on the AM phase.

10. The method according to claim 1, characterized in that, The method further includes: The backup board determines the frame header phase deviation between the main board and the backup board based on the frame header of the same overhead frame of the service data stream carried on the first PHY and the second PHY. When the frame header phase deviation is greater than a preset deviation, the backup board triggers an alarm message.

11. A flexible Ethernet overhead frame processing apparatus, characterized in that, The device includes a main board and a backup board; wherein... The motherboard is configured to send first indication information to the backup board, wherein the first indication information is configured to indicate the phase of the first overhead frame of the service data stream carried on the first physical layer interface PHY of the motherboard; The backup board is configured to receive the first indication information and determine the phase of the second overhead frame of the service data stream carried on the second PHY of the backup board according to the phase of the first overhead frame, wherein the second overhead frame is the next overhead frame after the first overhead frame.

12. The apparatus according to claim 11, characterized in that, The motherboard is also configured to transmit the service data stream on the first PHY at the phase of the first overhead frame when the motherboard is not malfunctioning. The backup board is also used to transmit the service data stream on the second PHY at the phase of the second overhead frame when the main board fails.

13. The apparatus according to claim 11 or 12, characterized in that, The first indication information is information encoded in a single-bit encoding format.

14. The apparatus according to claim 11, characterized in that, The first indication information includes the frame header position of the first overhead frame.

15. The apparatus according to claim 14, characterized in that, The spare plate is also used for: The frame header position of the second overhead frame on the first PHY is determined based on the frame header position of the first overhead frame and the overhead frame interval. Based on the frame header position of the second overhead frame on the first PHY, the phase of the second overhead frame of the service data stream carried on the second PHY on the backup board is determined.

16. The apparatus according to claim 11, characterized in that, The spare plate is also used for: The phase of the second overhead frame of the service data stream carried on the second PHY is compensated based on the inter-board transmission delay and / or encoding / decoding delay.

17. The apparatus according to claim 11, characterized in that, The first indication information also includes at least one of the following: encoding version number, and feature information of the first overhead frame.

18. The apparatus according to claim 17, characterized in that, The first indication information further includes: a cyclic redundancy check code, which is used to verify the encoding version number and / or the feature information of the first overhead frame.

19. The apparatus according to claim 17 or 18, characterized in that, The feature information includes the padding block PAD phase, and the backup board is further configured to: determine the PAD phase of the service data stream in the second overhead frame on the second PHY based on the PAD phase; And / or, The feature information also includes the alignment flag word AM phase, and the backup board is further configured to: determine the AM phase of the service data stream in the second overhead frame on the second PHY based on the AM phase.

20. The apparatus according to claim 11, characterized in that, The spare plate is also used for: Based on the frame header of the same overhead frame of the service data stream carried on the first PHY and the second PHY, determine the frame header phase deviation between the motherboard and the backup board; An alarm message is triggered when the frame header phase deviation is greater than a preset deviation.