Method for Receiving Code Block Stream, Method for Sending Code Block Stream, and Communications Apparatus

20210160346 · 2021-05-27

    Inventors

    Cpc classification

    International classification

    Abstract

    This application provides a method which includes: receiving, by a receiving device from a transport network, a code block stream that is in a first rate mode and that includes a plurality of code blocks; determining a target code block from the code block stream, where the target code block is a code block received by the receiving device in an inter-packet gap of the code block stream, the target code block includes a first target code block, and the first target code block is a code block of a data type, and/or the target code block includes a second target code block, and the second target code block is a code block of a termination type; and modifying the target code block to modify the target code block to a code block, of an ordered set type, that is in a second rate mode.

    Claims

    1. A method for receiving a code block stream, comprising: receiving, by a receiving device from a transport network, a code block stream that is in a first rate mode and that comprises a plurality of code blocks; determining, by the receiving device, a target code block from the code block stream, wherein the target code block is a code block received by the receiving device in an inter-packet gap of the code block stream, wherein the target code block comprises a first target code block, and the first target code block is a code block of a data type; and/or the target code block comprises a second target code block, and the second target code block is a code block of a termination type; and modifying, by the receiving device, the target code block to modify the target code block to a code block, of an ordered set type, that is in a second rate mode.

    2. The method according to claim 1, wherein before the determining, by the receiving device, a target code block from the code block stream, the method further comprises: determining, by the receiving device, a termination location of the inter-packet gap based on a code block of a start type in the code block stream; and determining, by the receiving device, a start location of the inter-packet gap based on a code block of the termination type in the code block stream.

    3. The method according to claim 2, wherein the determining, by the receiving device, a start location of the inter-packet gap based on a code block of the termination type in the code block stream comprises: determining, by the receiving device, the start location of the inter-packet gap based on a code block of a first termination type in the code block stream, wherein the code block of the first termination type is a first code block that is of the termination type and that is located after the code block of the start type in a transmission sequence.

    4. The method according to claim 1, wherein the modifying, by the receiving device, the target code block comprises: modifying, by the receiving device, information carried in a synchronization header field of the first target code block to synchronization header information corresponding to the ordered set type; and/or modifying, by the receiving device, information carried in a code block type field of the second target code block to code block type information corresponding to the ordered set type.

    5. The method according to claim 4, wherein the modifying, by the receiving device, information carried in a code block type field of the second target code block to code block type information corresponding to the ordered set type comprises: modifying, by the receiving device based on a mapping relationship, information carried in a code block type field of a second target code block of the first termination type to information corresponding to a first ordered set type, wherein the mapping relationship is used to indicate a one-to-one mapping relationship between at least two termination types and at least two ordered set types, the first ordered set type corresponds to the first termination type, and the first termination type is any one of the at least two termination types.

    6. The method according to claim 1, wherein the second rate mode comprises at least one of a 5 Gigabit per second Gbps mode, a 10 Gbps mode, and a 25 Gbps mode; and the first rate mode comprises at least one of a 40 Gbps mode, a 100 Gbps mode, a 200 Gbps mode, or a 400 Gbps mode.

    7. The method according to claim 1, wherein the code block comprises a 64-bit/66-bit code block.

    8. The method according to claim 1, wherein the code block, of the ordered set type, that is in the second rate mode comprises a code block in which information carried in a code block type field is 0x2d or 0x55.

    9. A method for sending a code block stream, comprising: determining, by a sending device, a code block stream in a first rate mode based on a code block stream of a plurality of code blocks that is in a second rate mode, wherein a code block of an ordered set type in the code block stream in the second rate mode is modified to a code block of a data type; and/or a code block of an ordered set type in the code block stream in the second rate mode is modified to a code block of a termination type; and sending, by the sending device, the code block stream in the first rate mode to a transport network.

    10. The method according to claim 9, wherein information carried in a synchronization header field of the code block of the ordered set type is modified to synchronization header information corresponding to the data type.

    11. The method according to claim 9, wherein information carried in a code block type field of the code block of the ordered set type is modified to code block type information corresponding to the termination type.

    12. The method according to claim 11, wherein the determining, by a sending device, a code block stream in a first rate mode based on a code block stream of a plurality of code blocks that is in a second rate mode comprises: modifying, by the sending device based on a mapping relationship, information carried in a code block type field of a code block of a first ordered set type to information corresponding to a first termination type, wherein the mapping relationship is used to indicate a one-to-one mapping relationship between at least two termination types and at least two ordered set types, the first ordered set type corresponds to the first termination type, and the first ordered set type is any one of the at least two ordered set types.

    13. The method according to claim 9, wherein the second rate mode comprises at least one of a 5 Gigabit per second Gbps mode, a 10 Gbps mode, and a 25 Gbps mode; and the first rate mode comprises at least one of a 40 Gbps mode, a 100 Gbps mode, a 200 Gbps mode, or a 400 Gbps mode.

    14. The method according to claim 9, wherein the code block comprises a 64-bit/66-bit code block.

    15. The method according to claim 9, wherein the code block, of the ordered set type, that is in the second rate mode comprises a code block in which information carried in a code block type field is 0x2d or 0x55.

    16. An apparatus for receiving a code block stream, comprising: a transceiver, configured to a receive, from a transport network, a code block stream that is in a first rate mode and that comprises a plurality of code blocks; and a processor, configured to: determine a target code block from the code block stream, wherein the target code block is a code block received by the receiving device in an inter-packet gap of the code block stream, wherein the target code block comprises a first target code block, and the first target code block is a code block of a data type, and/or the target code block comprises a second target code block, and the second target code block is a code block of a termination type; and modify the target code block to modify the target code block to a code block, of an ordered set type, that is in a second rate mode.

    17. The apparatus according to claim 16, wherein the processor is configured to: determine a termination location of the inter-packet gap based on a code block of a start type in the code block stream, and determine a start location of the inter-packet gap based on a code block of the termination type in the code block stream.

    18. The apparatus according to claim 17, wherein the processor is configured to determine the start location of the inter-packet gap based on a code block of a first termination type in the code block stream, wherein the code block of the first termination type is a first code block that is of the termination type and that is located after the code block of the start type in a transmission sequence.

    19. The apparatus according to any claim 16, wherein the processor is configured to: modify information carried in a synchronization header field of the first target code block to synchronization header information corresponding to the ordered set type, and/or modify information carried in a code block type field of the second target code block to code block type information corresponding to the ordered set type.

    20. The apparatus according to claim 19, wherein the processor is configured to modify, based on a mapping relationship, information carried in a code block type field of a second target code block of the first termination type to information corresponding to a first ordered set type, wherein the mapping relationship is used to indicate a one-to-one mapping relationship between at least two termination types and at least two ordered set types, the first ordered set type corresponds to the first termination type, and the first termination type is any one of the at least two termination types.

    Description

    BRIEF DESCRIPTION OF DRAWINGS

    [0121] FIG. 1 is a schematic diagram of an example of a communications system according to this application;

    [0122] FIG. 2 is a schematic diagram of an example of a transport network according to this application;

    [0123] FIG. 3 is a schematic diagram of an example of a coding format used by a medium-low-speed Ethernet interface;

    [0124] FIG. 4 is a schematic diagram of an example of a code stream of an Ethernet signal;

    [0125] FIG. 5 is a schematic diagram of an example of a coding format used by a high-speed Ethernet interface;

    [0126] FIG. 6 is a schematic interaction diagram of an example of an Ethernet signal transmission process according to this application;

    [0127] FIG. 7 is a schematic diagram of an example of a structure of a code block stream of a medium-low-speed Ethernet signal according to this application;

    [0128] FIG. 8 is a schematic diagram of an example of a change of a 0x2d code block in a modification process according to this application;

    [0129] FIG. 9 is a schematic diagram of an example of a change of a 0x55 code block in a modification process according to this application;

    [0130] FIG. 10 is a schematic diagram of an example of a structure of a modified code block stream;

    [0131] FIG. 11 is a schematic diagram of another example of a change of a 0x2d code block in a modification process according to this application;

    [0132] FIG. 12 is a schematic diagram of still another example of a change of a 0x2d code block in a modification process according to this application;

    [0133] FIG. 13 is a schematic diagram of another example of a change of a 0x55 code block in a modification process according to this application;

    [0134] FIG. 14 is a schematic diagram of another example of a structure of a modified code block stream;

    [0135] FIG. 15 is a schematic diagram of an example of a process in which an egress PE device determines an inter-frame gap;

    [0136] FIG. 16 is a schematic diagram of another example of a process in which an egress PE device determines an inter-frame gap;

    [0137] FIG. 17 is a schematic diagram of an example of a change of a D code block or a T code block located in an inter-frame gap in a restoration process according to this application;

    [0138] FIG. 18 is a schematic diagram of another example of a change of a T code block located in an inter-frame gap in a restoration process according to this application;

    [0139] FIG. 19 is a schematic diagram of still another example of a change of a T code block located in an inter-frame gap in a restoration process according to this application;

    [0140] FIG. 20 is a schematic diagram of yet another example of a change of a T code block located in an inter-frame gap in a restoration process according to this application;

    [0141] FIG. 21 is a schematic diagram of an apparatus sending a code block stream according to this application;

    [0142] FIG. 22 is a schematic diagram of an apparatus receiving a code block stream according to this application; and

    [0143] FIG. 23 is a schematic structural diagram of an example of a transport device according to this application.

    DESCRIPTION OF EMBODIMENTS

    [0144] The following describes technical solutions of this application with reference to the accompanying drawings.

    [0145] FIG. 1 is a schematic diagram of an example of an Ethernet system 100 according to this application.

    [0146] In this embodiment of this application, the communications system includes at least three client devices. For example, as shown in FIG. 1, the communications system may include a plurality of client devices 110.

    [0147] In addition, in this embodiment of this application, the plurality of client devices 110 may communicate with each other by using a transport network (which may also be referred to as a forwarding network).

    [0148] As an example instead of a limitation, in this embodiment of this application, the transport network may be, for example, an optical communications network.

    [0149] In this embodiment of this application, the transport network may include a plurality of transport devices 120.

    [0150] In this application, each client device 110 may be communicatively connected to one or more transport devices 120.

    [0151] FIG. 2 is a schematic diagram of an example of a structure of a transport network.

    [0152] As shown in FIG. 2, the transport network may include a network edge (provider edge, PE) device and a network (provider, P) device.

    [0153] The P device has a network side interface (network to network interface, NNI). The NNI interface is configured to transmit data that complied with a communications protocol of the transport network. The NNI interface may include a common Ethernet interface (for example, a 100G BASE-R mode interface), or the NNI interface may include a FlexE interface.

    [0154] In addition to the NNI, the PE device is further disposed with a user side interface (user network interface, UNI). The UNI interface is used for data transmission between the PE device and a client device.

    [0155] For an Ethernet signal, a PE device connected to a source client device of the Ethernet signal may be referred to as an ingress device (or an ingress transport device) for the Ethernet signal, and a PE device connected to a destination client device of the Ethernet signal may be referred to as an egress device (or an egress transport device) for the Ethernet signal.

    [0156] When the source client device sends a signal to the destination client device, the source client device may generate the signal and transmit the signal to a transport device that is communicatively connected to the source client device, so that the transport device may route (or forward) the signal to the target client device of the signal.

    [0157] In addition, the ingress transport device for the source client device in the transport network may further process the signal (for example, forwarding processing or encapsulation processing) to convert the signal into a signal that can be transmitted in the transport network, and transmit the signal to another transport device (for example, the egress transport device for the target client device) that is configured to transmit a signal to the destination receiving device in the transport network.

    [0158] In addition, a transport device may further receive, from another transport device or client device, a signal that needs to be sent to a client device that is communicatively connected to the transport device, may process the signal (for example, transcoding processing or decapsulation processing) to convert the signal into a signal that can be recognized by the client device, and transmit a processed signal to the client device, so that the client device can parse the received signal to obtain data carried in the signal.

    [0159] In addition, in this embodiment of this application, a signal transmitted between any two client devices may be processed and forwarded by using one transport device, or may be processed and forwarded by using a plurality of transport devices. This is not specifically limited in this application.

    [0160] It should be understood that a quantity of client devices and a quantity of transport devices shown in FIG. 1 are merely examples for description. This is not specifically limited in this application.

    [0161] In this embodiment of this application, the client device may be, for example, a client device such as a personal computer, and the client device can perform communication by using a medium such as an Ethernet or an optical fiber.

    [0162] In this embodiment of this application, the client device may alternatively be a network device. The network device may be a server that provides various services for user equipment, for example, a software-defined networking (software defined network, SDN) server, a world wide web (web) server, a file transfer protocol (file transfer protocol, FTP) server, a key enterprise application server and another key task server (for example, a server that provides a firewall service), or a service processing unit (service process unit, SPU) in the communications (communication technology, CT) field.

    [0163] In this embodiment of this application, the transport device may be a device such as a gateway device, a switch, or a router.

    [0164] In this embodiment of this application, the client device may be a transmit end of a signal, or may be a receive end of a signal.

    [0165] A transmit end client device may generate, according to Ethernet protocol specifications, a client Ethernet signal that can be recognized by a receive end Ethernet device. In addition, the transmit end client device may send the client Ethernet signal to an ingress transport device that is communicatively connected to the transmit end client device in the transport network.

    [0166] The ingress transport device may encapsulate, according to Ethernet protocol specifications, the client Ethernet signal into a forwarding Ethernet signal that can be recognized by a transport device in the transport network.

    [0167] The transport network routes the forwarding Ethernet signal to an egress transport device that is communicatively connected to a receive end client device.

    [0168] The egress transport device may decapsulate the forwarding Ethernet signal, to restore the client Ethernet signal and send the client Ethernet signal to the client device.

    [0169] The following describes the client Ethernet signal with reference to FIG. 3.

    [0170] The client Ethernet signal may be a medium-low-speed Ethernet signal, or an interface mode of the client Ethernet signal may be a 5G BASE-R mode, a 10G BASE-R mode, or a 25G BASE-R mode.

    [0171] In addition, the medium-low-speed Ethernet signal may be constituted by a 64-bit (bit, B)/66B code block (block) of a medium-low-speed Ethernet.

    [0172] The 64B/66B code block of the medium-low-speed Ethernet may include a 2-bit synchronization header field (sync header field) and an 8-byte (64 bits) code block payload (block payload).

    [0173] In addition, the 64B/66B code block of the medium-low-speed Ethernet may include a data code block (data block) and a control code block (control block).

    [0174] The control code block may also include a code block of an ordered set (ordered set, O) type, which is referred to as an O code block; a code block of a start (started) type, which is referred to as an S code block; and a code block of a termination (terminated) type, which is referred to as a T code block.

    [0175] In this application, information (specifically, a 2-bit character) carried in a synchronization header field of the control code block may include 10.

    [0176] In this application, a code block payload of the control code block may include a 1-byte code block type field (block type field).

    [0177] To be specific, in this application, one code block may include a 2-bit synchronization header field, an 8-bit (1-byte) code block type field, and a 56-bit (7-byte) payload field (payload field).

    [0178] FIG. 3 is a schematic diagram of an example of a coding format for the 64B/66B code block of the medium-low-speed Ethernet. As shown in FIG. 3, for example, information (specifically, a hexadecimal character) carried in a code block type field of the O code block may include but is not limited to 0x2d and 0x55.

    [0179] Herein, “0x” may be used to indicate that a value following 0x is hexadecimal. Descriptions of the same or similar cases are omitted below.

    [0180] Hereinafter, for ease of understanding and differentiation, a code block in which information carried in a code block type field is 0x2d is referred to as a 0x2d code block, and a code block in which information carried in a code block type field is 0x55 is referred to as a 0x55 code block.

    [0181] It should be understood that the coding format for the 64B/66B code block of the medium-low-speed Ethernet shown in FIG. 3 is merely an example for description, and this application is not limited thereto. In the prior art, other coding formats, for code blocks, that can be used in the medium-low-speed Ethernet all fall within the protection scope of this application, for example, an error (error) code block, an idle (idle) code block, and a low power idle (low power idle, LPI) code block.

    [0182] In addition, a coding process of the 64B/66B code block of the medium-low-speed Ethernet may be performed in a physical coding sublayer (physical coding sublayer, PCS) entity of a transmit end client device.

    [0183] The physical coding sublayer is located between a reconciliation sublayer (reconciliation sublayer, RS) and a physical medium access sublayer (physical medium attachment sublayer, PMAS).

    [0184] The physical coding sublayer is used to map a well-defined Ethernet MAC function to existing coding and a function of a physical layer signal system. In addition, the physical coding sublayer is used for line coding and cyclic redundancy check (cyclic redundancy check, CRC) check coding.

    [0185] Correspondingly, a decoding process of the 64B/66B code block of the medium-low-speed Ethernet may be performed in a physical coding sublayer entity of a receive end client device.

    [0186] In this application, an Ethernet signal that is constituted by the 64B/66B code block of the medium-low-speed Ethernet may include a plurality of data packets (packets).

    [0187] FIG. 4 shows an example of an Ethernet code stream with the foregoing structure. As shown in FIG. 4, each data packet may include one S code block, a plurality of D code blocks, and one T code block.

    [0188] The S code block is used to indicate a start of the data packet, and the T code block is used to indicate a termination of the data packet.

    [0189] In addition, in this application, there may be a time interval between two adjacent data packets, and the time interval may also be referred to as an inter-packet gap or an inter-frame gap.

    [0190] As shown in FIG. 4, an O code block or the like may be transmitted in the inter-packet gap.

    [0191] In addition, the coding process and the decoding process of the client Ethernet signal may be similar to those in the prior art. To avoid repetition, detailed descriptions are omitted herein.

    [0192] The following describes the forwarding Ethernet signal with reference to FIG. 5.

    [0193] A high-speed Ethernet signal transmitted in the transport network may also be referred to as a FlexE client (client).

    [0194] The FlexE client is used to encapsulate user data and transmit the data in a data transmission manner defined for a FlexE interface. One FlexE client may carry a data stream of one user.

    [0195] Specifically, in an Ethernet system, for example, slots may be divided in a time division multiplexing (time division multiplexing, TDM) mode to implement hard isolation in transmission pipe bandwidth, and one service data stream may be allocated to one to more slots, thereby implementing matching of various rate services.

    [0196] One FlexE group (Group) may include one or more bundled physical link interfaces with a same rate (for example, 100G BASE-R, 200G BASE-R, or 400G BASE-R), and each FlexE group carries one or more FlexE instances (Instance).

    [0197] To be specific, in this application, the forwarding Ethernet signal may be a high-speed Ethernet signal, or an interface mode of the forwarding Ethernet signal may be a 100G BASE-R mode, a 200G BASE-R mode, or a 400G BASE-R mode.

    [0198] A FlexE instance may be a unit that carries a FlexE client, and each FlexE instance may support, for example, a rate of 100 Gbps.

    [0199] A slot allocation table corresponding to a FlexE group is referred to as a FlexE slot calendar (calendar), a slot mapping table corresponding to a single FlexE client is referred to as a sub-slot allocation table (sub-calendar), and a granularity of each slot is 5 Gb or 25 Gb. A calendar of one FlexE group is constituted by one or more sub-calendars, and each sub-calendar indicates how to allocate these slots to a corresponding FlexE client. The FlexE client represents a client data stream transmitted in a specified slot (one or more slots) in a FlexE instance specified on the FlexE Group, and one FlexE group may carry a plurality of FlexE clients.

    [0200] One FlexE client may correspond to one to more user service data streams (MAC Client), and a FlexE shim (Shim) may provide data adaptation and conversion from the FlexE client to a MAC client.

    [0201] For example, in a FlexE group crossing four physical interfaces (for example, a 100G BASE-R physical interface), each physical interface may have twenty 5 Gb sub-slots. Therefore, the FlexE group has 20×4 sub-slots (sub-calendar).

    [0202] In addition, the high-speed Ethernet signal may be constituted by a 64-bit (bit, B)/66B code block (block) of a high-speed Ethernet.

    [0203] The 64B/66B code block of the high-speed Ethernet may include a 2-bit synchronization header field and an 8-byte code block payload.

    [0204] In addition, the 64B/66B code block of the high-speed Ethernet may include a data code block (data block) and a control code block (control block).

    [0205] The control code block may also include an O code block, an S code block, and a T code block.

    [0206] In this application, information (specifically, a 2-bit character) carried in a synchronization header field of the control code block may include 10.

    [0207] In this application, a code block payload of the control code block may include a 1-byte code block type field.

    [0208] FIG. 5 is a schematic diagram of an example of a coding format for the 64B/66B code block of the high-speed Ethernet. As shown in FIG. 5, for example, information (specifically, a hexadecimal character) carried in a code block type field of the O code block may include but is not limited to 0x4B.

    [0209] It should be understood that the coding format for the 64B/66B code block of the high-speed Ethernet shown in FIG. 5 is merely an example for description, and this application is not limited thereto. In the prior art, other coding formats, for code blocks, that can be used in the medium-low-speed Ethernet all fall within the protection scope of this application, for example, an error code block, an idle code block, and a low power idle code block.

    [0210] In addition, a conversion (or encapsulation) process from the 64B/66B code block of the medium-low-speed Ethernet to the 64B/66B code block of the high-speed Ethernet or an encapsulation process from the medium-low-speed Ethernet signal to the high-speed Ethernet signal may be performed in a physical coding sublayer entity of an ingress transport device.

    [0211] Correspondingly, a conversion (or decapsulation) process from the 64B/66B code block of the high-speed Ethernet to the 64B/66B code block of the medium-low-speed Ethernet or an encapsulation process from the high-speed Ethernet signal to the medium-low-speed Ethernet signal may be performed in a physical coding sublayer entity of an egress transport device.

    [0212] Similar to the Ethernet signal that is constituted by the 64B/66B code block of the medium-low-speed Ethernet, in this application, an Ethernet signal that is constituted by the 64B/66B code block of the high-speed Ethernet may include a plurality of data packets.

    [0213] As shown in FIG. 4, each data packet may include one S code block, a plurality of D code blocks, and one T code block.

    [0214] The S code block is used to indicate a start of the data packet, and the T code block is used to indicate a termination of the data packet.

    [0215] In addition, in this application, there may be a time interval between two adjacent data packets, and the time interval may also be referred to as an inter-packet gap or an inter-frame gap. As shown in FIG. 4, an O code block or the like may be transmitted in the inter-packet gap.

    [0216] As shown in FIG. 3 and FIG. 5, some O code blocks, such as a 0x2d code block or a 0x55 code block, in the coding format for the medium-low-speed Ethernet signal (or the client Ethernet signal) do not exist in the coding format for the high-speed Ethernet signal (or the forwarding Ethernet signal).

    [0217] If the 0x2d code block or the 0x55 code block enters the transport network, a transmission error is caused because a transport device cannot recognize the 0x2d code block or 0x55 code block.

    [0218] In view of this, the following processing process may be used in this application to avoid a transmission error.

    [0219] FIG. 6 is a schematic interaction diagram of an example of an Ethernet signal transmission process 200 according to this application.

    [0220] As shown in FIG. 6, in S210, a client device #A may generate an Ethernet signal #A. The Ethernet signal #A may be a medium-low-speed Ethernet signal, to be specific, an interface mode of the Ethernet signal #A may be a 5G BASE-R mode, a 10G BASE-R mode, or a 25G BASE-R mode.

    [0221] FIG. 7 shows an example of a structure of a PCS layer code block stream of the Ethernet signal #A. As shown in FIG. 7, the PCS layer code block stream of the Ethernet signal #A may include a plurality of data packets, there is an inter-packet gap between two data packets that are adjacent to each other in a sending sequence, and there may be an O code block, such as a 0x2d code block (as shown by “O.sub.1” in FIG. 7), a 0x4B code block (as shown by “O.sub.2” in FIG. 7), and a 0x55 code block (as shown by “O.sub.3” in FIG. 7), and an idle code block (as shown by “I” in FIG. 7) in the inter-packet gap.

    [0222] It should be noted that the structure of the code block stream shown in FIG. 7 is merely an example for description, and this application is not limited thereto. For example, only one of the 0x2d code block and the 0x55 code block may exist in the inter-packet gap.

    [0223] In addition, because the 0x4B code block exists in both the medium-low-speed Ethernet signal and a high-speed Ethernet signal, code blocks that need to be modified in this application do not include the 0x4B code block.

    [0224] In addition, a process of generating the Ethernet signal #A may be similar to that in the prior art. To avoid repetition, detailed descriptions are omitted herein.

    [0225] In S220, the client device #A may send the Ethernet signal #A to a PE device that is communicatively connected to the client device #A. In the following, for ease of understanding and differentiation, the PE device is denoted as an ingress PE device #B.

    [0226] In S230, the ingress PE device #B may modify the Ethernet signal #A to convert a code block (to be specific, the 0x2d code block and/or the 0x55 code block) that is in the Ethernet signal #A and that cannot be recognized by a transport network (specifically, each transport device) into a code block that can be recognized by the transport network.

    [0227] As an example instead of a limitation, the following modification manners may be listed in this application.

    Manner 1

    [0228] When the PCS layer code block stream of the Ethernet signal #A includes the 0x2d code block, the ingress PE device #B may modify the 0x2d code block to a D code block.

    [0229] FIG. 8 is a schematic diagram of a change of the 0x2d code block in a modification process in Manner 1. As shown in FIG. 8, the ingress PE device #B may modify information carried in a synchronization header field of the 0x2d code block from information (for example, “10”) corresponding to a control type code block to information (for example, “01”) corresponding to a data type code block.

    [0230] When the PCS layer code block stream of the Ethernet signal #A includes the 0x55 code block, the ingress PE device #B may modify the 0x55 code block to a D code block.

    [0231] FIG. 9 is a schematic diagram of a change of the 0x55 code block in a modification process in Manner 1. As shown in FIG. 9, the ingress PE device #B may modify information carried in a synchronization header field of the 0x55 code block from information (for example, “10”) corresponding to a control type code block to information (for example, “01”) corresponding to a data type code block.

    [0232] FIG. 10 shows a change of the PCS layer code block stream, of the Ethernet signal, that is shown in FIG. 7 and that is obtained after modification is performed based on Manner 1. As shown in FIG. 10, after the modification is performed based on Manner 1, the 0x2d code block and/or the 0x55 code block in the PCS layer code block stream of the low-speed Ethernet signal are converted into D code blocks.

    Manner 2

    [0233] When the PCS layer code block stream of the Ethernet signal #A includes the 0x2d code block, the ingress PE device #B may modify the 0x2d code block to a T code block.

    [0234] Specifically, the ingress PE device #B may modify information carried in a code block type field of the 0x2d code block from information (for example, “0x2d”) corresponding to the 0x2d code block to information (for example, any piece of information in “0x87”, “0x99”, “0xAA”, “0xB4”, “0xCC”, “0xD2”, “0xE1”, and “0xFF”) corresponding to the T code block.

    [0235] When the PCS layer code block stream of the Ethernet signal #A includes the 0x55 code block, the ingress PE device #B may modify the 0x55 code block to a T code block.

    [0236] Specifically, the ingress PE device #B may modify information carried in a code block type field of the 0x55 code block from information (for example, “0x55”) corresponding to the 0x55 code block to information (for example, any piece of information in “0x87”, “0x99”, “0xAA”, “0xB4”, “0xCC”, “0xD2”, “0xE1”, and “0xFF”) corresponding to the T code block.

    [0237] It should be noted that the 0x2d code block and the 0x55 code block may both exist in an Ethernet signal in actual transmission. Therefore, in this case, if the information carried in the code block type field of the 0x2d code block and the information carried in the code block type field of the 0x55 code block are modified to information corresponding to a same T code block (which is denoted as T code block #1), an egress PE device cannot determine whether the T code block #1 in the received Ethernet signal should be restored to the 0x2d code block or the 0x55 code block. The egress PE device may be a PE device that is communicatively connected to a destination client device of the Ethernet signal #A. In the following, for ease of understanding and differentiation, the PE device is denoted as an egress PE device #C.

    [0238] In view of this, in this application, a mapping relationship #A may be stored on the egress PE device #C and the ingress PE device #B in advance.

    [0239] The mapping relationship #A may be used to indicate a correspondence between the 0x2d code block and a T code block (which is denoted as a T code block #a), and the mapping relationship #A may be used to indicate a correspondence between the 0x55 code block and another T code block (which is denoted as a T code block #b).

    [0240] To be specific, the ingress PE device #B may modify, based on an indication of the mapping relationship #A, the information carried in the code block type field of the 0x2d code block from the information (for example, “0x2d”) corresponding to the 0x2d code block to information corresponding to a code block type field of the T code block #a.

    [0241] As an example instead of a limitation, the T code block #a may be a T6 code block, to be specific, the T code block #a may be a code block in which information corresponding to a code block type field is “0xE1”.

    [0242] Because a quantity of bytes that can be used to carry data in the T6 code block is relatively large, modifying the 0x2d code block to the T6 code block can ensure that information in a modified code block is not lost, thereby further improving an effect of this application.

    [0243] It should be understood that a specific example of the listed T code block #a is merely an example for description, and this application is not limited thereto. The T code block #a may be any one of T0 to T7 code blocks, provided that it is ensured that the T code block #a is different from the T code block #b.

    [0244] FIG. 11 is a schematic diagram of a change of the 0x2d code block in a modification process in Manner 2. As shown in FIG. 11, the ingress PE device #B may modify the information carried in the code block type field of the 0x2d code block from “0x2d” to “0xE1”.

    [0245] Optionally, as shown in FIG. 12, in this application, the ingress PE device #B may alternatively shift information carried in an “O4” byte in the 0x2d code block to a “D0” byte in the T6 code block, may shift information carried in a “D5” byte in the 0x2d code block to a “D1” byte in the T6 code block, may shift information carried in a “D6” byte in the 0x2d code block to a “D2” byte in the T6 code block, and may shift information carried in a “D7” byte in the 0x2d code block to a “D3” byte in the T6 code block.

    [0246] In addition, the ingress PE device #B may further fill a specified bit such as “0” in “D4”, “D5”, “D6”, and “D7” bytes in the T6 code block that are generated based on the foregoing modification.

    [0247] In addition, because a quantity of bits included in the information carried in the “O4” byte in the 0x2d code block is less than one byte, the information carried in the “O4” byte in the 0x2d code block occupies only some bits in the “D0” byte in the T6 code block, the information carried in the “D5” byte in the 0x2d code block occupies the other bits in the “D0” byte and some bits in the “D1” byte in the T6 code block, the information carried in the “D6” byte in the 0x2d code block occupies the other bits in the “D1” byte and some bits in the “D2” byte in the T6 code block, and the information carried in the “D7” byte in the 0x2d code block occupies the other bits in the “D2” byte and some bits in the “D3” byte in the T6 code block.

    [0248] In addition, in this case, a specified bit such as “0” may be filled in the other bits in the “D3” byte in the T6 code block (to be specific, bits in which the information carried in the “D7” byte in the 0x2d code block are not filled).

    [0249] In conclusion, as shown in FIG. 12, in this application, the ingress PE device #B may alternatively shift information carried in the “O4” byte, the “D5” byte, the “D6” byte, and the “D7” byte in the 0x2d code block to the “D0” byte, the “D1” byte, the “D2” byte, and the “D3” byte in the T6 code block, and a location relationship between bits after the shift is the same as a location relationship between bits before the shift.

    [0250] As an example instead of a limitation, the T code block #b may be a T7 code block, to be specific, the T code block #b may be a code block in which information corresponding to a code block type field is “0xFF”.

    [0251] Because a quantity of bytes that can be used to carry data in the T7 code block is relatively large, modifying the 0x55 code block to the T7 code block can ensure that information in a modified code block is not lost, thereby further improving an effect of this application.

    [0252] It should be understood that a specific example of the listed T code block #b is merely an example for description, and this application is not limited thereto. The T code block #b may be any one of T0 to T7 code blocks, provided that it is ensured that the T code block #a is different from the T code block #b.

    [0253] FIG. 13 is a schematic diagram of a change of the 0x55 code block in a modification process in Manner 2. As shown in FIG. 13, the ingress PE device #B may modify the information carried in the code block type field of the 0x2d code block from “0x55” to “0xFF”.

    [0254] It should be noted that the mapping relationship #A may be determined by a management device in the transport network and delivered to each transport device, or the mapping relationship #A may be specified in a communications system or a communications protocol in advance, or the mapping relationship #A may be determined through negotiation between the ingress PE and the egress PE, or the mapping relationship #A may be entered by a user or an administrator to the ingress PE and the egress PE, or the mapping relationship #A may be configured on the ingress PE and the egress PE by a manufacturer or an operator. This is not specifically limited in this application.

    [0255] FIG. 14 shows a change of the PCS layer code block stream, of the Ethernet signal, that is shown in FIG. 7 and that is obtained after modification is performed based on Manner 2. As shown in FIG. 14, after the modification is performed based on Manner 2, the 0x2d code block and/or the 0x55 code block in the PCS layer code block stream of the low-speed Ethernet signal are converted into T code blocks.

    Manner 3

    [0256] When the PCS layer code block stream of the Ethernet signal #A includes the 0x2d code block, the ingress PE device #B may modify the 0x2d code block to a D code block.

    [0257] When the PCS layer code block stream of the Ethernet signal #A includes the 0x55 code block, the ingress PE device #B may modify the 0x55 code block to a T code block.

    Manner 4

    [0258] When the PCS layer code block stream of the Ethernet signal #A includes the 0x2d code block, the ingress PE device #B may modify the 0x2d code block to a T code block.

    [0259] When the PCS layer code block stream of the Ethernet signal #A includes the 0x55 code block, the ingress PE device #B may modify the 0x55 code block to a D code block.

    [0260] In Manner 3 and Manner 4, a modification process for each code block may be similar to a process described in Manner 1 or Manner 2. To avoid repetition, detailed descriptions are omitted herein.

    [0261] It should be noted that in this application, because the egress PE device #C needs to restore the modified code block described above, a restoration manner used by the egress PE device #C needs to correspond to a modification manner used by the ingress PE device #B (for example, the restoration manner and the modification manner are processing mutually reverse to each other), so as to ensure accuracy of the restoration.

    [0262] As an example instead of a limitation, in this application, the modification manner used by the ingress device #A may be specified in a communications system or a communications protocol in advance; or the modification manner used by the ingress device #A may be determined through negotiation between the egress PE device #C and the ingress PE device #B; or the modification manner used by the ingress device #A may be determined by the management device of the transport network and delivered to the ingress PE device #B, and the management device may deliver the restoration manner corresponding to the modification manner to the egress PE device #C.

    [0263] In addition, in S240, the ingress PE device #B may generate, based on a modified Ethernet signal #A, a high-speed Ethernet signal (for example, an Ethernet signal supported by the FlexE client) to be transmitted in the transport network. In the following, for ease of understanding and description, the high-speed Ethernet signal is referred to as an Ethernet signal #B. In addition, the ingress PE device #B may send the Ethernet signal #B to the egress PE device #C by using the transport network. A process may be similar to that in the prior art. To avoid repetition, detailed descriptions are omitted herein.

    [0264] In S250, the egress PE device #C may determine, from a PCS layer code block stream of the received Ethernet signal #B, a code block modified by the ingress PE device #B. In the following, for ease of understanding and differentiation, the code block is denoted as a code block #A.

    [0265] Because the code block #A is generated after the ingress PE device #B modifies an 0 code block (for example, the 0x2d code block or the 0x55 code block), and the O code block exists in an IPG. Therefore, the egress PE device #C may determine the code block #A based on an inter-frame gap of the PCS layer code block stream of the Ethernet signal #B.

    [0266] The code block #A may include only a D code block (Case 1) or the code block #A may include a T code block (Case 2). In the foregoing different cases, a method for determining an inter-frame gap is different. The following separately describes in detail processes of determining an inter-frame gap by the egress PE device #C in the foregoing cases.

    Case 1

    [0267] The code block #A may include only a D code block. It may be understood that the ingress PE device #B modifies the 0x2d code block or the 0x55 code block to a D code block, or the ingress PE device #B does not modify the 0x2d code block or the 0x55 code block to a T code block.

    [0268] In this case, T code blocks in the PCS layer code block stream of the Ethernet signal #B are all T code blocks in the PCS layer code block stream of the Ethernet signal #A. To be specific, each T code block in the PCS layer code block stream of the Ethernet signal #B may indicate a termination of a data packet to which the T code block belongs. Alternatively, each T code block in the PCS layer code block stream of the Ethernet signal #B may determine a start of an inter-packet gap located after the T code block.

    [0269] For example, the egress PE device #C may determine an inter-packet gap in the PCS layer code block stream of the Ethernet signal #B based on a T code block and an S code block in the PCS layer code block stream of the Ethernet signal #B, to be specific, any inter-packet gap (for example, an inter-packet gap #1) meets the following condition:

    [0270] The inter-packet gap #1 is located between a data packet #1 and a data packet #2 that are adjacent to each other in a transmission sequence, or the inter-packet gap #1 is located between a T code block of the data packet #1 and an S code block of the data packet #2.

    [0271] Therefore, the egress PE device #C may determine, as the code block #A, a D code block received in the inter-packet gap.

    [0272] For another example, after receiving a T code block, the egress PE device #C may determine, as the code block #A, a D code block received after the T code block until the S code block is received.

    [0273] For another example, FIG. 15 shows an example of a processing process of the egress PE device #C. As shown in FIG. 15, the egress PE device #C may store IPG information, and the IPG information may be used to determine an inter-packet gap.

    [0274] To be specific, after receiving a T code block, the PE device #A may set a value of the IPG information to a value, for example, “1”, indicating that a current time period is the inter-packet gap.

    [0275] In addition, after receiving the T code block, the PE device #A may set the value of the IPG information to a value, for example, “0”, indicating that the current time period is not the inter-packet gap.

    [0276] In this case, the egress PE device #C may determine, as the code block #A, a D code block received in a period in which the value of the IPG information is “1”.

    [0277] Optionally, after the egress PE device #C is powered on (or started), the value of the IPG information may be set to “1”. Therefore, when an inter-packet gap exists before a first data packet of the Ethernet signal #A and an O code block exists in the inter-packet gap, it can be ensured that the egress PE device #C identifies a D code block modified based on the O code block.

    Case 2

    [0278] The code block #A may include a T code block, and it may be understood that the code block #A may include only the T code block. To be specific, the ingress PE device #B modifies the 0x2d code block or the 0x55 code block to a T code block.

    [0279] Alternatively, the code block #A may include a T code block, and it may be understood that the code block #A may include both the T code block and a D code block. To be specific, the ingress PE device #B modifies one of the 0x2d code block or the 0x55 code block to a T code block, and the ingress PE device #B modifies the other of the 0x2d code block or the 0x55 code block to a D code block.

    [0280] In this case, T code blocks in the PCS layer code block stream of the Ethernet signal #B may include a T code block in the PCS layer code block stream of the Ethernet signal #A and a T code block generated based on the O code block. To be specific, some T code blocks in the PCS layer code block stream of the Ethernet signal #B each may indicate a termination of a data packet to which the T code block belongs, and the other T code blocks each cannot indicate a termination of a data packet. Alternatively, some T code blocks in the PCS layer code block stream of the Ethernet signal #B each may determine a start of an inter-packet gap located after the T code block, and the other T code blocks each cannot indicate a start of an inter-packet gap.

    [0281] For example, the egress PE device #C may determine an inter-packet gap in the PCS layer code block stream of the Ethernet signal #B based on a T code block and an S code block in the PCS layer code block stream of the Ethernet signal #B, to be specific, any inter-packet gap (for example, an inter-packet gap #1) meets the following condition:

    [0282] The inter-packet gap #1 is located between a data packet #1 and a data packet #2 that are adjacent to each other in a transmission sequence, or the inter-packet gap #1 is located between a T code block of the data packet #1 and an S code block of the data packet #2.

    [0283] The T code block of the data packet #1 is a first T code block after the S code block of the data packet #2.

    [0284] In this case, the egress PE device #C may determine, as the code block #A, a D code block or a T code block received in the inter-packet gap.

    [0285] For another example, after receiving an S code block, the egress PE device #C may determine a first T code block after the S code block, and determine, as the code block #A, a D code block or a T code block received after the T code block, until the S code block is received.

    [0286] For another example, FIG. 16 shows an example of a processing process of the egress PE device #C. As shown in FIG. 16, the egress PE device #C may store IPG information, and the IPG information may be used to determine an inter-packet gap.

    [0287] To be specific, after receiving an S code block, the PE device #A may set a value of the IPG information to a value, for example, “0”, indicating that a current time period is not the inter-packet gap.

    [0288] In addition, after receiving a T code block, if the value of the IPG information is “0”, the PE device #A may set the value of the IPG information to a value, for example, “1”, indicating that the current time period is the inter-packet gap.

    [0289] In addition, after receiving a T code block, if the value of the IPG information is “1”, the PE device #A may set the value of the IPG information to a value, for example, “1”, indicating that the current time period is the inter-packet gap.

    [0290] In this case, the egress PE device #C may determine, as the code block #A, a D code block or a T code block received in a period in which the value of the IPG information is “1”.

    [0291] Optionally, after the egress PE device #C is powered on (or started), the value of the IPG information may be set to “1”. Therefore, when an inter-packet gap exists before a first data packet of the Ethernet signal #A and an O code block exists in the inter-packet gap, it can be ensured that the egress PE device #C identifies a D code block modified based on the O code block.

    [0292] In addition, the egress PE device #C performs restoration processing on the code block #A to restore the code block #A to a code block (to be specific, the 0x2d code block and/or the 0x55 code block) corresponding to the code block #A in the Ethernet signal #A.

    [0293] As an example instead of a limitation, the following modification manners may be listed in this application.

    Manner a

    [0294] When the ingress PE device #B performs a modification in Manner 1, the egress PE device #C may modify the code block #A to the 0x2d code block or the 0x55 code block.

    [0295] FIG. 17 is a schematic diagram of a change of the code block #A in a modification process of Manner a. As shown in FIG. 17, the egress PE device #C may modify information carried in a synchronization header field of the code block #A from the information (for example, “01”) corresponding to the data type code block to the information (for example, “10”) corresponding to the control type code block.

    [0296] It should be noted that in Manner a, the code block #A may be the 0x2d code block or the 0x55 code block. This is not specifically limited in this application.

    Manner b

    [0297] When the ingress PE device #B performs a modification in Manner 2, the egress PE device #C may modify the code block #A to the 0x2d code block or the 0x55 code block.

    [0298] The egress PE device #C may modify information carried in a code block type field of the code block #A from the information (for example, any piece of information in “0x87”, “0x99”, “0xAA”, “0xB4”, “0xCC”, “0xD2”, “0xE1”, and “0xFF”) corresponding to the T code block to the information (for example, “0x2d”) corresponding to the 0x2d code block or the information (for example, “0x55”) corresponding to the 0x55 code block.

    [0299] It should be noted that the 0x2d code block and the 0x55 code block may both exist in an Ethernet signal in actual transmission. Therefore, in this case, the egress PE device #C may not be able to determine whether the information corresponding to the T code block is modified to the information corresponding to the 0x2d code block or the information corresponding to the 0x55 code block.

    [0300] In view of this, in this application, the mapping relationship #A may be stored on the egress PE device #C and the ingress PE device #B in advance.

    [0301] The mapping relationship #A may be used to indicate a correspondence between the 0x2d code block and a T code block (which is denoted as a T code block #a), and the mapping relationship #A may be used to indicate a correspondence between the 0x55 code block and another T code block (which is denoted as a T code block #b).

    [0302] As an example instead of a limitation, the T code block #a may be a T6 code block, to be specific, the T code block #a may be a code block in which information corresponding to a code block type field is “0xE1”.

    [0303] Because a quantity of bytes that can be used to carry data in the T6 code block is relatively large, modifying the 0x2d code block to the T6 code block can ensure that information in a modified code block is not lost, thereby further improving an effect of this application.

    [0304] It should be understood that a specific example of the listed T code block #a is merely an example for description, and this application is not limited thereto. The T code block #a may be any one of T0 to T7 code blocks, provided that it is ensured that the T code block #a is different from the T code block #b.

    [0305] In this case, the egress PE device #C may modify, based on an indication of the mapping relationship #A, information carried in a code block type field of the T code block #a to the information (for example, “0x2d”) corresponding to the 0x2d code block.

    [0306] FIG. 18 is a schematic diagram of a change of the T code block #a in a modification process of Manner 2. As shown in FIG. 18, the egress PE device #C may modify the information carried in the code block type field of the T code block #a that is located in an inter-packet gap in the Ethernet signal #B from “0xE1” to “0x2d”.

    [0307] Optionally, as shown in FIG. 19, in this application, the egress PE device #C may further shift information carried in a “D0” byte in the T6 code block to an “O4” byte in the 0x2d code block, may shift information carried in a “D1” byte in the T6 code block to a “D5” byte in the 0x2d code block, may shift information carried in a “D2” byte in the T6 code block to a “D6” byte in the 0x2d code block, and may shift information carried in a″D3″ byte in the T6 code block to a “D7” byte in the 0x2d code block.

    [0308] In addition, the egress PE device #C may further fill a specified bit in “C0”, “C1”, “C2”, and “C03” bytes in the 0x2d code block that are generated based on the foregoing modification.

    [0309] As an example instead of a limitation, the T code block #b may be a T7 code block, to be specific, the T code block #b may be a code block in which information corresponding to a code block type field is “0xFF”.

    [0310] Because a quantity of bytes that can be used to carry data in the T7 code block is relatively large, modifying the 0x55 code block to the T7 code block can ensure that information in a modified code block is not lost, thereby further improving an effect of this application.

    [0311] It should be understood that a specific example of the listed T code block #b is merely an example for description, and this application is not limited thereto. The T code block #b may be any one of T0 to T7 code blocks, provided that it is ensured that the T code block #a is different from the T code block #b.

    [0312] FIG. 20 is a schematic diagram of a change of the T7 code block in a modification process of Manner b. As shown in FIG. 20, the egress PE device #C may modify the information carried in the code block type field of the T7 code block from “0xFF” to “0x55”.

    [0313] It should be noted that the mapping relationship #A may be determined by a management device in the transport network and delivered to each transport device, or the mapping relationship #A may be specified in a communications system or a communications protocol in advance, or the mapping relationship #A may be determined through negotiation between the ingress PE and the egress PE, or the mapping relationship #A may be entered by a user or an administrator to the ingress PE and the egress PE, or the mapping relationship #A may be configured on the ingress PE and the egress PE by a manufacturer or an operator. This is not specifically limited in this application.

    Manner c

    [0314] When the ingress PE device #B performs a modification in Manner c, the egress PE device #C may modify a D code block received in an inter-packet gap to the 0x2d code block, and modify a T code block received in the inter-packet gap to the 0x55 code block.

    Manner d

    [0315] When the ingress PE device #B performs a modification in Manner c, the egress PE device #C may modify a D code block received in an inter-packet gap to the 0x55 code block, and modify a T code block received in the inter-packet gap to the 0x2d code block.

    [0316] In Manner 3 and Manner 4, a modification process for each code block may be similar to a process described in Manner 1 or Manner 2. To avoid repetition, detailed descriptions are omitted herein.

    [0317] It should be noted that in this application, because the egress PE device #C needs to restore the modified code block described above, a restoration manner used by the egress PE device #C needs to correspond to the modification manner used by the ingress PE device #B (for example, the restoration manner and the modification manner are processing mutually reverse to each other), so as to ensure accuracy of the restoration.

    [0318] As an example instead of a limitation, in this application, the modification manner used by the ingress device #A may be specified in a communications system or a communications protocol in advance; or the modification manner used by the ingress device #A may be determined through negotiation between the egress PE device #C and the ingress PE device #B; or the modification manner used by the ingress device #A may be determined by the management device of the transport network and delivered to the ingress PE device #B, and the management device may deliver the restoration manner corresponding to the modification manner to the egress PE device #C.

    [0319] In S260, the egress PE device #C may send, to a client device #D, a signal (which is denoted as an Ethernet signal #C) that is generated after the foregoing restoration processing, so that the client device #D can obtain, based on the Ethernet signal #C, various information carried in the Ethernet signal #A.

    [0320] According to the solution provided in this application, a process of converting an 0 code block from a medium-low-speed Ethernet signal into a high-speed Ethernet signal can be completed without loss of information. Complete codeword transparency can be implemented without loss of information in an original code block stream.

    [0321] In addition, the foregoing code block conversion process has a transcoding efficiency of 1:1, no additional bit overheads are required, bandwidth expansion is not caused, and transmission resources are not wasted. It can be implemented that 5GE occupies only one 5G slot (slot) of the FlexE, 10GE occupies only two 5G slots of the FlexE, and 25GE occupies only five 5G slots of the FlexE.

    [0322] The solution provided in this application can comply with existing PCS layer coding specifications of 10G BASE-R, 25G BASE-R, and 100G BASE-R, without affecting a standard code block processing mechanism (for example, an IDLE-based code block adjustment mechanism).

    [0323] According to the solution provided in this application, an Ethernet signal (to be specific, the medium-low-speed Ethernet signal) from a client device can be transmitted in a codeword transparent (codeword transparent) manner in the transport network, where the codeword is a combination of a group of several bits of binary code, and the codeword transparency indicates that a transport network that carries and transports a user client signal does not lose or tamper with information of any codeword in a user client signal data stream when transmitting the data stream that carries the codeword.

    [0324] According to the foregoing method, FIG. 21 is a schematic diagram of a communications apparatus 10 according to an embodiment of this application. As shown in FIG. 21, the apparatus 10 may be an ingress transport device (a receiving device, for example, an egress PE device), or may be a chip or a circuit, for example, a chip or a circuit that can be disposed in an ingress transport device.

    [0325] The communications apparatus 10 may include a processing unit 11 (an example of a processing unit) and a storage unit 12. The storage unit 12 is configured to store an instruction, and the processing unit 11 is configured to execute the instruction stored in the storage unit 12, so that the communications apparatus 10 implements steps performed by a transport device (a receiving device, for example, the egress PE device #C) in the foregoing method.

    [0326] Further, the apparatus 10 may include an input port 13 (an example of a communications unit) and an output port 14 (another example of the communications unit). Further, the processing unit 11, the storage unit 12, the input port 13, and the output port 14 may communicate with each other by using an internal connection path, to transmit a control and/or data signal. The storage unit 12 is configured to store a computer program. The processing unit 11 may be configured to invoke the computer program from the storage unit 12 and run the computer program, to control the input port 13 to receive a signal, and control the output port 14 to send a signal, so as to implement the steps performed by the terminal device in the foregoing method. The storage unit 12 may be integrated into the processing unit 11, or the storage unit 12 and the processing unit 11 may be separately disposed.

    [0327] Optionally, if the communications apparatus 10 is a transport device, the input port 13 is a receiver, and the output port 14 is a transmitter. The receiver and the transmitter may be a same physical entity or different physical entities. When the receiver and the transmitter are a same physical entity, the receiver and the transmitter may be collectively referred to as a transceiver.

    [0328] Optionally, if the communications apparatus 10 is a chip or a circuit, the input port 13 is an input interface, and the output port 14 is an output interface.

    [0329] In an implementation, it may be considered that functions of the input port 13 and the output port 14 are implemented by using a transceiver circuit or a dedicated transceiver chip. It may be considered that the processing unit 11 is implemented by using a dedicated processing chip, a processing circuit, or a processing unit, or a general-purpose chip.

    [0330] In another implementation, it may be considered that a general-purpose computer is used to implement the receiving device provided in this embodiment of this application. In other words, program code for implementing functions of the processing unit 11, the input port 13, and the output port 14 is stored in the storage unit 12, and a general-purpose processing unit executes the code in the storage unit 12 to implement the functions of the processing unit 11, the input port 13, and the output port 14.

    [0331] In an implementation, the input port 13 is configured to receive, from a transport network, a code block stream that is in a first rate mode and that includes a plurality of code blocks; the processing unit 11 is configured to determine a target code block from the code block stream, where the target code block is a code block received by the receiving device in an inter-packet gap of the code block stream, the target code block includes a first target code block, and the first target code block is a code block of a data type; and/or the target code block includes a second target code block, and the second target code block is a code block of a termination type; and the processing unit 11 is configured to modify the target code block to modify the target code block to a code block, of an ordered set type, that is in a second rate mode, where a rate corresponding to the second rate mode is less than a rate corresponding to the first rate mode.

    [0332] Optionally, the processing unit 11 is configured to: determine a termination location of the inter-packet gap based on a code block of a start type in the code block stream, and determine a start location of the inter-packet gap based on a code block of the termination type in the code block stream.

    [0333] Optionally, the processing unit 11 is configured to determine the start location of the inter-packet gap based on a code block of a first termination type in the code block stream, where the code block of the first termination type is a first code block that is of the termination type and that is located after the code block of the start type in a transmission sequence.

    [0334] Optionally, the processing unit 11 is configured to: modify information carried in a synchronization header field of the first target code block to synchronization header information corresponding to the ordered set type, and/or modify information carried in a code block type field of the second target code block to code block type information corresponding to the ordered set type.

    [0335] Optionally, the processing unit 11 is configured to modify, based on a mapping relationship, information carried in a code block type field of a second target code block of the first termination type to information corresponding to a first ordered set type, where the mapping relationship is used to indicate a one-to-one mapping relationship between at least two termination types and at least two ordered set types, and the first ordered set type.

    [0336] The foregoing listed functions and actions of modules or units in the apparatus 10 are merely an example for description. The modules or units in the apparatus 10 may be configured to perform actions or processing processes performed by the transport device (for example, the egress PE device #C) in the foregoing method. To avoid repetition, detailed descriptions are omitted herein.

    [0337] For concepts, explanation, detailed descriptions, and other steps that are related to the technical solution provided in this embodiment of this application and that are related to the apparatus 10, refer to description about the content in the foregoing method or other embodiments. Details are not described herein again.

    [0338] Because the code block of the ordered set type is transmitted in the inter-packet gap, a sending device may modify the code block of the ordered set type to the code block of the data type or the code block of the termination type that can be recognized by the transport network. In this way, the receiving device can determine that the code block of the data type or the code block of the termination type that is located in the inter-packet gap is modified based on the code block of the ordered set type, and may further modify the code block of the data type or the code block of the termination type that is located in the inter-packet gap back to the code block of the ordered set type. This can not only ensure that the code block of the ordered set type can be transmitted by using the transport network, but also ensure that the receiving device reliably recognizes the code block of the ordered set type, thereby improving communication accuracy.

    [0339] According to the foregoing method, FIG. 22 is a schematic diagram of a communications apparatus 30 according to an embodiment of this application. As shown in FIG. 22, the apparatus 30 may be a transport device (a sending device, for example, an ingress PE device #B), or may be a chip or a circuit, for example, a chip or a circuit that can be disposed in a network device.

    [0340] The apparatus 30 may include a processing unit 31 and a storage unit 32. The storage unit 32 is configured to store an instruction, and the processing unit 31 is configured to execute the instruction stored in the storage unit 32, so that the apparatus 30 implements steps performed by a sending device in the foregoing method.

    [0341] Further, the apparatus 30 may further include an input port 33 (an example of a communications unit) and an output port 33 (another example of the processing unit).

    [0342] Still further, the processing unit 31, the storage unit 32, the input port 33, and the output port 34 may communicate with each other by using an internal connection path, to transmit a control and/or data signal.

    [0343] In addition, it may be considered that a general-purpose computer is used to implement the network device provided in this embodiment of this application. In other words, program code for implementing functions of the processing unit 31, the input port 33, and the output port 34 is stored in the storage unit, and a general-purpose processing unit executes the code in the storage unit to implement the functions of the processing unit 31, the input port 33, and the output port 34.

    [0344] The storage unit 32 is configured to store a computer program.

    [0345] In an implementation, the processing unit 31 may be configured to invoke the computer program from the storage unit 32 and run the computer program, to determine a code block stream in a first rate mode based on a code block stream of a plurality of code blocks that is in a second rate mode, where a rate corresponding to the second rate mode is less than a rate corresponding to the first rate mode, a code block of an ordered set type in the code block stream in the second rate mode is modified to a code block of a data type, and/or a code block of an ordered set type in the code block stream in the second rate mode is modified to a code block of a termination type; and the output port 34 is configured to send the code block stream in the first rate mode to a transport network.

    [0346] Optionally, information carried in a synchronization header field of the code block of the ordered set type is modified to synchronization header information corresponding to the data type.

    [0347] Optionally, information carried in a code block type field of the code block of the ordered set type is modified to code block type information corresponding to the termination type.

    [0348] Optionally, the processing unit 31 is configured to modify, based on a mapping relationship, information carried in a code block type field of a code block of a first ordered set type to information corresponding to a first termination type, where the mapping relationship is used to indicate a one-to-one mapping relationship between at least two termination types and at least two ordered set types, the first ordered set type corresponds to the first termination type, and the first ordered set type is any one of the at least two ordered set types.

    [0349] The foregoing listed functions and actions of modules or units in the apparatus 30 are merely an example for description. The modules or units in the apparatus 30 may be configured to perform actions or processing processes performed by the transport device (the sending device, for example, the ingress PE device #B) in the foregoing method. To avoid repetition, detailed descriptions are omitted herein.

    [0350] For concepts, explanation, detailed descriptions, and other steps that are related to the technical solution provided in this embodiment of this application and that are related to the apparatus 30, refer to description about the content in the foregoing method or other embodiments. Details are not described herein again.

    [0351] Because the code block of the ordered set type is transmitted in the inter-packet gap, the sending device may modify the code block of the ordered set type to the code block of the data type or the code block of the termination type that can be recognized by the transport network. In this way, a receiving device can determine that the code block of the data type or the code block of the termination type that is located in the inter-packet gap is modified based on the code block of the ordered set type, and may further modify the code block of the data type or the code block of the termination type that is located in the inter-packet gap back to the code block of the ordered set type. This can not only ensure that the code block of the ordered set type can be transmitted by using the transport network, but also ensure that the receiving device reliably recognizes the code block of the ordered set type, thereby improving communication accuracy.

    [0352] FIG. 23 is a schematic block diagram of an example of a transport device (for example, an ingress transport device or an egress transport device) according to this application.

    [0353] As shown in FIG. 23, the transport device includes one or more client side interface boards 41, a switching board 42, and one or more FlexE side interface boards 43.

    [0354] The client side interface board 41 includes an external interface 411, a transcoder 413, and an internal interface 415.

    [0355] In addition, the FlexE side interface board 43 includes an internal interface 431, a transcoder 433, and an external interface 435.

    [0356] When the transport device serves as an ingress PE device: the external interface 411 is configured to receive a low-speed Ethernet signal (for example, a signal at a rate of 5 Gps, 10 Gps, or 25 Gps) from a client device; the transcoder 413 is configured to convert the low-speed Ethernet signal into a high-speed Ethernet signal (for example, a signal with a rate of 40 Gps, 100 Gps, 200 Gps, or 400 Gps), where the transcoder 413 is specifically configured to convert a code block in a PCS layer code block stream of the medium-low-speed Ethernet signal into a code block stream that meets a PCS layer transmission requirement of the high-speed Ethernet signal; the internal interface 415 is configured to send the high-speed Ethernet signal to the switching board 42; the switching board 42 is configured to forward, according to a preset routing rule, the high-speed Ethernet signal to the FlexE side interface board 43 that can route the high-speed Ethernet signal to the egress transport device; the internal interface 431 is configured to receive the high-speed Ethernet signal from the switching board 42; and the external interface 435 is configured to send the high-speed Ethernet signal to a transport network, for example, a FlexE network.

    [0357] When the transport device serves as an egress PE device: the external interface 435 is configured to receive a high-speed Ethernet signal (for example, a signal at a rate of 40 Gps, 100 Gps, 200 Gps, or 400 Gps) from a transport network, for example, a FlexE network; the transcoder 433 is configured to convert the high-speed Ethernet signal into a medium-low-speed Ethernet signal (for example, a signal with a rate of 5 Gps, 10 Gps, 25 Gps, or 400 Gps), where the transcoder 433 is specifically configured to convert a code block in a PCS layer code block stream of the high-speed Ethernet signal into a code block stream that meets a PCS layer transmission requirement of the medium-low-speed Ethernet signal; the internal interface 431 is configured to send the medium-low-speed Ethernet signal to the switching board 42; the switching board 42 is configured to forward, according to a preset routing rule, the medium-low-speed Ethernet signal to the client side interface board 41 that can route the medium-low-speed Ethernet signal to a destination client device; the internal interface 415 is configured to receive the medium-low-speed Ethernet signal from the switching board 42; and the external interface 411 is configured to send the medium-low-speed Ethernet signal to the destination client device.

    [0358] When the transport device serves as the ingress PE device, an action of the client side interface board 41 (specifically, each module or unit in the client side interface board 41) may correspond to an action of the input port 13, and an action of the transcoder 413 may correspond to an action of the processing unit 11. To avoid repetition, detailed descriptions are omitted herein.

    [0359] For example, a forwarder may modify information carried in a synchronization header field of a code block of an ordered set type in a code block in a PCS layer code block stream of an Ethernet signal to synchronization header information corresponding to a data type.

    [0360] For another example, the forwarder may modify information carried in a code block type field of the code block of the ordered set type in the code block in the PCS layer code block stream of the Ethernet signal to code block type information corresponding to a termination type.

    [0361] Specifically, the forwarder may modify, based on a mapping relationship, information carried in a code block type field of a code block of a first ordered set type to information corresponding to a first termination type, where the mapping relationship is used to indicate a one-to-one mapping relationship between at least two termination types and at least two ordered set types, the first ordered set type corresponds to the first termination type, and the first ordered set type is any one of the at least two ordered set types.

    [0362] In addition, when the transport device serves as the egress PE device, an action of the FlexE side interface board 43 (specifically, each module or unit in the FlexE side interface board 43) may correspond to an action of the output port 34, and an action of the transcoder 433 may correspond to an action of the processing unit 31. To avoid repetition, detailed descriptions are omitted herein.

    [0363] For example, the transcoder may determine a termination location of an inter-packet gap based on a code block of a start type in the code block stream; and determine a start location of the inter-packet gap based on a code block of the termination type in the code block stream.

    [0364] Specifically, the forwarder may determine the start location of the inter-packet gap based on a code block of a first termination type in the code block stream, where the code block of the first termination type is a first code block that is of the termination type and that is located after the code block of the start type in a transmission sequence.

    [0365] For another example, the transcoder may modify information carried in a synchronization header field of a first target code block to synchronization header information corresponding to the ordered set type.

    [0366] For another example, the transcoder may modify information carried in a code block type field of a second target code block to code block type information corresponding to the ordered set type.

    [0367] Specifically, the forwarder may modify, based on the mapping relationship, information carried in a code block type field of a second target code block of the first termination type to information corresponding to the first ordered set type, where the mapping relationship is used to indicate a one-to-one mapping relationship between at least two termination types and at least two ordered set types, the first ordered set type corresponds to the first termination type, and the first termination type is any one of the at least two termination types.

    [0368] In this application, the code block in the PCS layer code block stream of the Ethernet signal may include a 64-bit/66-bit code block.

    [0369] As an example instead of a limitation, a code block of the ordered set type in the PCS layer code block stream of the medium-low-speed Ethernet signal includes a code block in which information carried in a code block type field is 0x2d or 0x55.

    [0370] In this application, the forwarder (inflow, the transcoder 413 or transcoder 433) may be implemented by a processor. The processor is mainly configured to: process a communications protocol and communication data, control the entire transport device, execute a software program, and process data of the software program, for example, configured to support the transport device in performing the action described in the foregoing method embodiment. A memory is mainly configured to store a software program and data.

    [0371] After a terminal device is powered on, the processor may read a software program in a storage unit, explain and execute an instruction of the software program, and process data of the software program.

    [0372] For example, the processor may include a baseband processor and a central processing unit. The baseband processor is mainly configured to process a communications protocol and communication data, and the central processing unit is mainly configured to control the entire terminal device, execute a software program, and process data of the software program. A person skilled in the art may understand that the baseband processor and the central processing unit may be processors independent of each other and are interconnected by using technologies such as a bus. A person skilled in the art may understand that the terminal device may include a plurality of baseband processors to adapt to different network standards, the terminal device may include a plurality of central processing units to enhance a processing capability of the terminal device, and components of the terminal device may be connected by using various buses. The baseband processor may also be expressed as a baseband processing circuit or a baseband processing chip. The central processing unit may also be expressed as a central processing circuit or a central processing chip. A function of processing a communications protocol and communication data may be embedded into the processor, or may be stored in a storage unit in a form of a software program, so that the processor executes the software program to implement a baseband processing function.

    [0373] It should be understood that, the processor in the embodiments of this application may be a central processing unit (central processing unit, CPU), or may be another general-purpose processor, a digital signal processor (digital signal processor, DSP), an application-specific integrated circuit (application-specific integrated circuit, ASIC), a field programmable gate array (field programmable gate array, FPGA) or another programmable logic device, a discrete gate or a transistor logic device, a discrete hardware component, or the like. The general-purpose processor may be a microprocessor, or the processor may be any conventional processor or the like.

    [0374] It should also be understood that the memory in the embodiments of this application may be a volatile memory or a nonvolatile memory, or may include a volatile memory and a nonvolatile memory. The nonvolatile memory may be a read-only memory (read-only memory, ROM), a programmable read-only memory (programmable ROM, PROM), an erasable programmable read-only memory (erasable PROM, EPROM), an electrically erasable programmable read-only memory (electrically EPROM, EEPROM), or a flash memory. The volatile memory may be a random access memory (random access memory, RAM) that is used as an external cache. By way of example but not limitation, many forms of random access memory (random access memory, RAM) may be used, for example, a static random access memory (static RAM, SRAM), a dynamic random access memory (DRAM), a synchronous dynamic random access memory (synchronous DRAM, SDRAM), a double data rate synchronous dynamic random access memory (double data rate SDRAM, DDR SDRAM), an enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM), a synchronous link dynamic random access memory (synchlink DRAM, SLDRAM), and a direct rambus random access memory (direct rambus RAM, DR RAM).

    [0375] All or some of the foregoing embodiments may be implemented by using software, hardware, firmware, or any combination thereof. When software is used to implement the embodiments, the foregoing embodiments may be all or partially implemented in a form of a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or the computer programs are loaded and executed on a computer, the procedure or functions according to the embodiments of this application are all or partially generated. The computer may be a general-purpose computer, a dedicated computer, a computer network, or another programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or may be transmitted from a computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center to another website, computer, server, or data center in a wired (for example, infrared, radio, and microwave) manner. The computer-readable storage medium may be any usable medium accessible by the computer, or a data storage device, such as a server or a data center, integrating one or more usable media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium. The semiconductor medium may be a solid-state drive.

    [0376] It should be understood that the term “and/or” in this specification describes only an association relationship for describing associated objects and represents that three relationships may exist. For example, A and/or B may represent the following three cases: Only A exists, both A and B exist, and only B exists. In addition, the character “/” in this specification generally indicates an “or” relationship between the associated objects.

    [0377] It should be understood that sequence numbers of the foregoing processes do not mean execution sequences in various embodiments of this application. The execution sequences of the processes should be determined according to functions and internal logic of the processes, and should not be construed as any limitation on the implementation processes of the embodiments of this application.

    [0378] A person of ordinary skill in the art may be aware that, in combination with the examples described in the embodiments disclosed in this specification, units and algorithm steps may be implemented by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed by hardware or software depends on particular applications and design constraint conditions of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of this application. It may be clearly understood by a person skilled in the art that, for the purpose of convenient and brief description, for a detailed working process of the foregoing system, apparatus, and unit, refer to a corresponding process in the foregoing method embodiments, and details are not described herein again. In the several embodiments provided in this application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the described apparatus embodiment is merely an example. For example, division into the units is merely logical function division and may be other division in actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented by using some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.

    [0379] The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions of the embodiments. In addition, functional units in the embodiments of this application may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit. When the functions are implemented in the form of a software functional unit and sold or used as an independent product, the functions may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of this application essentially, or the part contributing to the prior art, or some of the technical solutions may be implemented in a form of a software product. The computer software product is stored in a storage medium, and includes several instructions for instructing a computer device (which may be a personal computer, a server, a network device, or the like) to perform all or some of the steps of the methods described in the embodiments of this application. The foregoing storage medium includes any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory, a random access memory, a magnetic disk, or an optical disc.

    [0380] The foregoing descriptions are merely specific implementations of this application, but are not intended to limit the protection scope of this application. Any variation or replacement readily figured out by a person skilled in the art within the technical scope disclosed in this application shall fall within the protection scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims.