Service processing method, apparatus and device

By encoding service data with control information and mapping it to OTN frames, the method optimizes bandwidth usage and transmission reliability in optical transport networks, addressing inefficiencies in existing packet service mapping methods.

JP7627287B2Active Publication Date: 2025-02-05HUAWEI TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2022565679
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-06-15
Filing Date
2021-04-14
Publication Date
2025-02-05
Estimated Expiration
2041-04-14

AI Technical Summary

Technical Problem

The existing methods for mapping packet services to optical transport networks (OTN) result in bandwidth waste due to inefficiencies in procedures like GFP-F and IMP, particularly as packet services become the mainstream, necessitating improved bandwidth utilization.

Method used

A method and device that encode service data with control information, map it to the overhead area of OTN transmission frames, and use error protection mechanisms to optimize bandwidth usage and reliability, including 64B/66B and 256B/257B coding to adapt bit rates and enhance error detection.

Benefits of technology

This approach enhances bandwidth utilization and transmission reliability by aligning bit rates with payload areas and implementing error detection, reducing the likelihood of incorrect data packet processing at the receiving end.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007627287000003
    Figure 0007627287000003
  • Figure 0007627287000004
    Figure 0007627287000004
  • Figure 0007627287000005
    Figure 0007627287000005
Patent Text Reader

Abstract

This application discloses a service processing method, apparatus, and device for solving the problem of bandwidth waste. To encode four 66b code blocks as a 257b code block, the synchronization headers of the four 66b code blocks are removed and a one-bit code block type indication is added as control information for the service data. This avoids bandwidth waste caused by the synchronization header and improves bandwidth utilization. When the 257b code block stream is mapped to an OSUflex frame, the code block type indication is mapped to the overhead area of ​​the OSUflex frame, the four 66b code blocks from which the synchronization headers have been removed are mapped to the payload area of ​​the OSUflex frame, and check information obtained by checking the control information is mapped to the overhead area of ​​the OSUflex frame, thereby providing bit error protection for the control information. When a bit error occurs, the receiving end can detect the error in a timely manner and is prevented from processing the erroneous data packet as a correct data packet, thereby improving transmission reliability.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] This application claims priority to Chinese Patent Application No. 202010344926.8, filed on April 27, 2020 with the China National Intellectual Property Office, entitled "Service Mapping Method and Device," and Chinese Patent Application No. 202010544327.0, filed on June 15, 2020 with the China National Intellectual Property Office, entitled "Service Processing Method and Apparatus and Device," which are hereby incorporated by reference in their entireties.

[0002] TECHNICAL FIELD The embodiments of this application relate to the field of communication technologies, and in particular to a service processing method and apparatus and device. [Background technology]

[0003] Featuring high bandwidth, large capacity, high reliability, low latency, and the like, optical transport network (OTN) has become the mainstream technology used in transport networks. OTN may be applied to backbone networks, metropolitan area core networks, aggregation networks, and the like, and further extends to access networks. In addition to providing high bandwidth transmission capabilities such as n*1.25Gbps and n*5Gbps, OTN needs to have transmission capabilities as low as several megabits per second in the future.

[0004] Packet services are the most important service type carried by OTN. At present, generic framing procedure-framer (GFP-F) and idle mapping procedure (IMP) are usually used to map packet services into OTN transmission frames. However, there exists a problem of bandwidth waste in the mapping schemes of GFP-F and IMP. Summary of the Invention [Means for solving the problem]

[0005] The embodiments of this application provide a service processing method and apparatus and device to solve the problem of bandwidth waste.

[0006] According to a first aspect, an embodiment of the present application provides a service processing method, the method includes the steps of obtaining service data, encoding the service data to obtain encoded service data, where the encoded service data includes control information and service data information, mapping the control information into an overhead area of ​​an optical transport network OTN transmission frame, inspecting the control information to obtain inspection information, mapping the inspection information into the overhead area of ​​the OTN transmission frame, mapping the service data information into a payload area of ​​the OTN transmission frame, and transmitting the OTN transmission frame carrying the encoded service data.

[0007] According to the solution provided in this embodiment of the present application, the service data information is transmitted via an OTN transmission Frame of payload The control information is mapped to the overhead area, and the control information is mapped to the overhead area, so that the bit rate of the payload area of ​​OTN matches the transmission rate of the service data, thereby improving the utilization of the bandwidth. In addition, the information obtained after checking is mapped to the overhead area to perform bit error protection for the control information, so that when a bit error occurs, the receiving end can find the error in a timely manner, and the receiving end is prevented from processing the erroneous data packet as a correct data packet, thereby improving the reliability of the transmission.

[0008] In a possible design, the service data may be packet data, which is medium access control (MAC) frame data, Internet Protocol (IP) packets, multi-protocol label switching (MPLS) packets, Flex Ethernet (FlexE) service code block streams, or 66b code block streams.

[0009] In a possible design, encoding the service data includes performing 64b / 66b encoding on the service data to obtain encoded service data. When the service data is a 66b code block stream, it may not be necessary to perform 64b / 66b encoding on the service data.

[0010] In a possible design, encoding the service data includes performing 64b / 66b encoding on the service data to obtain a 66b code block stream, and performing a 256b / 257b encoding process on the 66b code block stream to obtain a 257b code block stream, where the 257b code block stream is the encoded service data. When the service data is a 66b code block stream, it may not be necessary to perform 64b / 66b encoding on the service data.

[0011] In a possible design, the service data is a 66b code block stream, and encoding the service data includes performing a 256b / 257b encoding operation on the service data to obtain encoded service data.

[0012] For example, when 256b / 257b encoding is performed on a 66b code block stream, the synchronization header of the 66b code block is removed and one bit of control information is added to reduce the bandwidth waste caused by the synchronization header and improve bandwidth utilization.

[0013] In a possible design, the control information includes a code block type indication, which is used to indicate a code block type of a 257b code block.

[0014] In a possible design, when the code block type indication indicates that the 257b code block is a control code block, the encoded service data further includes a first code block pattern indication, the first code block pattern indication being: pattern It is used to indicate the pattern of 66b code blocks contained in the code block in which the indication is located. It should be noted that the first code block pattern indication is mapped to the payload area of ​​the OTN transmission frame.

[0015] In a possible design, a first code block pattern indication included in the encoded service data is encoded into a second code block pattern indication, and the minimum Hamming distance between different values ​​of the second code block pattern indication is 2. For example, the first code block pattern indication included in the encoded service data is replaced by a second code block pattern indication, where the second code block pattern indication indirectly indicates the pattern of the 66b code block included in the 257b code block in which the second code block pattern indication is located. For example, the second code block pattern indication and the first code block pattern indication are replaced by a second code block pattern indication, where the second code block pattern indication indirectly indicates the pattern of the 66b code block included in the 257b code block in which the second code block pattern indication is located. instructions occupy the same number of bits, namely 4 bits.

[0016] In the above design, in order to ensure that the 4 bits have stronger error resilience capability, the second code block pattern indication is encoded in a manner whose minimum Hamming distance is 2, so that the receiving end can find out a bit error occurring in any one of the 4 bits in a timely manner, thereby preventing the receiving end from processing the erroneous data packet as a correct data packet, and thereby improving the reliability of transmission.

[0017] In a possible design, when the code block type indication indicates that the 257b code block is a 257b control code block, the method further includes adding a third code block pattern indication to the encoded service data, where the third code block pattern indication is used to indicate a pattern of 66b code blocks contained in the code block in which the third code block pattern indication is located, and a minimum Hamming distance between different values ​​of the third code block pattern indication is 2. In the above design, in order to ensure that 4 bits has stronger error resilience capability, 3 The code block pattern indication of is coded in a manner with a minimum Hamming distance of 2, so that the receiving end can detect a bit error occurring in any one of the four bits in a timely manner, thereby preventing the receiving end from processing the erroneous data packet as a correct data packet, thereby improving the reliability of the transmission.

[0018] In a possible design, the OTN transmission frame is a flexible optical service unit (OSUflex) frame.

[0019] In possible designs, the length of an OSUflex frame is 192 bytes, 240 bytes, 128 bytes, or 64 bytes. The transcoding solution provided in this embodiment of the application is applicable to OSUflex frames of multiple lengths, thereby improving compatibility.

[0020] In a possible design, the check information is cyclic redundancy check (CRC) information.

[0021] In a possible design, the test information is one or more backups of the control information.

[0022] In a possible design, the bit rate of the service data information is equal to the rate corresponding to the payload area of ​​the OTN transmission frame.

[0023] In a possible design, the bit rate of the service data information is a rate obtained after idle code blocks are added or removed to perform rate adaptation, and the bit rate of the service data information obtained after rate adaptation is equal to a rate corresponding to the payload area of ​​the OTN transmission frame. In the above design, the idle code blocks are used to enable the bit rate of the service data information to adapt to the rate of the payload area of ​​the OTN transmission frame, thereby maximizing bandwidth utilization.

[0024] According to a second aspect, an embodiment of the present application provides a service S A method for processing a service data signal from an optical transport network (OTN) is provided, the method including the steps of: receiving an optical transport network (OTN) transmission frame, the OTN transmission frame being used to carry encoded service data, the encoded service data including control information and service data information; obtaining the control information and inspection information of the control information from an overhead area of ​​the OTN transmission frame, and inspecting the control information based on the inspection information; if the inspection result is correct, obtaining the service data information from a payload area of ​​the OTN transmission frame, and reassembling the control information and the service data information to obtain the encoded service data; and decoding the encoded service data to obtain the service data.

[0025] For the beneficial effects of the second aspect, please refer to the description of the first aspect, and the details will not be described again here.

[0026] In a possible design, the service data is packet data, and the packet data is Medium Access Control MAC frame data, Internet Protocol IP packets, Multiprotocol Label Switching MPLS packets, Flexible Ethernet FlexE service code block streams, or 66b code block streams.

[0027] In a possible design, decoding the encoded service data includes performing 64b / 66b decoding on the encoded service data to obtain the service data.

[0028] In a possible design, decoding the encoded service data includes performing 256b / 257b decoding on the encoded service data to obtain a 66b code block stream, and performing 64b / 66b decoding on the 66b code block stream to obtain the service data.

[0029] In a possible design, the service data is a 66b code block stream, and decoding the encoded service data specifically includes a step of performing 256b / 257b decoding on the encoded service data to obtain the service data.

[0030] In a possible design, the control information includes a code block type indication.

[0031] In a possible design, when the code block type indication indicates that the 257b code block in which the code block type indication is located is a control code block, before performing 256b / 257b decoding on the encoded service data, the method further comprises: The method further includes a step of decoding a second code block pattern indication included in the encoded service data into a first code block pattern indication, where the first code block pattern indication is used to indicate a pattern of 66b code blocks included in the code block in which the first code block type indication is located, and a minimum Hamming distance between different values ​​of the second code block pattern indication is 2.

[0032] In a possible design, performing 256b / 257b decoding on the encoded service data includes a step of decoding the encoded service data to obtain a third code block pattern indication, where the third code block pattern indication is used to indicate a pattern of 66b code blocks contained in the 257b code block in which the third code block pattern indication is located, and a minimum Hamming distance between different values ​​of the third code block pattern indication is 2.

[0033] In a possible design, the OTN transmission frame is a flexible optical service unit (OSUflex) frame.

[0034] In possible designs, the length of an OSUflex frame is 192 bytes, 240 bytes, 128 bytes, or 64 bytes.

[0035] In a possible design, the check information is CRC check information.

[0036] In a possible design, the test information is one or more backups of the control information.

[0037] In a possible design, the bit rate of the service data information is equal to the rate corresponding to the payload area of ​​the OTN transmission frame.

[0038] According to a third aspect, an embodiment of the present application provides a service processing device. The device is applied to an OTN device. The device includes a processor and a memory. The memory is configured to store a program code. The processor is configured to read and execute the program code stored in the memory to perform a method according to any one of the first aspect and the design of the first aspect, or to perform a method according to any one of the second aspect and the design of the second aspect.

[0039] According to a fourth aspect, an embodiment of the present application provides an OTN device, the OTN device including the device according to the third aspect and an optical transceiver, the optical transceiver configured to receive an OTN transmission frame transmitted by the device and transmit the OTN transmission frame, or configured to receive an OTN transmission frame and transmit the OTN transmission frame to the device.

[0040] According to a fifth aspect, an embodiment of the present application provides a computer-readable storage medium. The storage medium stores a software program. When the software program is read and executed by one or more processors, the method provided in either the first or second aspect of the design can be executed.

[0041] According to a sixth aspect, an embodiment of the present application provides a computer program product comprising instructions, which when run on a computer, cause the computer to perform a method as provided in either the design of the first or second aspect.

[0042] According to a seventh aspect, an embodiment of the present application provides a chip, coupled to a memory and configured to read and execute a software program stored in the memory to perform a method provided in the design of either the first or second aspect. [Brief description of the drawings]

[0043] [Figure 1] 1 is a possible schematic diagram of an OTN network architecture according to an embodiment of the present application. [Diagram 2] 1 is a possible schematic diagram of a structure of an OTN device according to an embodiment of the present application. [Diagram 3] 1 is a possible schematic flowchart of a service processing method according to an embodiment of the present application. [Figure 4] 1 is a schematic diagram of the structure of an OSUflex frame according to an embodiment of the present application. [Diagram 5] FIG. 2 is a possible schematic diagram of a 257b data code block according to an embodiment of the present application. [Figure 6] FIG. 13 is another possible schematic diagram of a 257b control code block according to an embodiment of the present application. [Figure 7] FIG. 13 is yet another possible schematic diagram of a 257b control code block according to an embodiment of the present application. [Figure 8] FIG. 13 is yet another possible schematic diagram of a 257b control code block according to an embodiment of the present application. [Figure 9] FIG. 2 is a possible example diagram of mapping a 257b code block stream to an OSUflex frame according to an embodiment of the present application. [Figure 10A] FIG. 2 is a possible schematic diagram of a structure of an OSUflex frame according to an embodiment of the present application. [Figure 10B] FIG. 2 is a possible schematic diagram of a structure of an OSUflex frame according to an embodiment of the present application. [Figure 10C] FIG. 2 is a possible schematic diagram of a structure of an OSUflex frame according to an embodiment of the present application. [Figure 11] 1 is a possible schematic flowchart of a service processing method according to an embodiment of the present application. [Figure 12] FIG. 2 is a possible schematic diagram of the structure of a service processing device according to an embodiment of this application; [Figure 13] FIG. 2 is another possible schematic diagram of the structure of a service processing device according to an embodiment of the present application. [Figure 14]FIG. 2 is a possible schematic diagram of the structure of a service processing device according to an embodiment of this application; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0044] The embodiments of this application are applicable to optical networks such as OTN. An OTN is usually formed by connecting multiple devices by using optical fibers, and may configure different topology types, such as linear topology, ring topology, and mesh topology, based on specific requirements. FIG. 1 is a possible schematic diagram of an OTN network architecture according to an embodiment of this application. As represented in FIG. 1, an OTN 200 includes eight OTN devices 201, namely, devices A to H. 202 indicates an optical fiber configured to connect two devices. 203 indicates a customer service interface configured to receive or transmit customer service data. An OTN device may have different functions based on actual requirements. Generally, OTN devices are classified into optical layer devices, electrical layer devices, and optical-electronic hybrid devices. An optical layer device is a device that can process an optical layer signal, for example, an optical amplifier (OA) or an optical add-drop multiplexer (OADM). The OA, sometimes called an optical line amplifier (OLA), is mainly configured to amplify the optical signal to support transmission over longer distances without compromising the specific performance of the optical signal. The OADM is configured to perform spatial conversion on the optical signal so that the optical signal can be output from different output ports (which are sometimes called directions). An electrical layer device is a device that can process an electrical layer signal, for example, a device that can process an OTN signal. An optoelectronic hybrid device is a device that can process an optical layer signal and an electrical layer signal. It should be noted that multiple different functions can be integrated into one OTN device based on the requirements of a specific integration. The technical solutions provided in this application are applicable to OTN devices of different forms and integrations, including electrical layer functions.

[0045] 2 is a possible schematic diagram of the structure of an OTN device according to an embodiment of this application. For example, the OTN device is device A in FIG. 1. Specifically, the OTN device 300 includes a branching board 301, a cross-connect board 302, a line board 303, an optical layer processing board (not shown in the figure), and a system control and communication board 304. A network device may include different quantities and different types of boards based on specific requirements. For example, a network device acting as a core node does not include a branching board 301. As another example, a network device acting as an edge node includes multiple branching boards 301 or does not include an optical cross-connect board 302. As yet another example, a network device that supports only electrical layer functions may not include an optical layer processing board.

[0046] The branching board 301, the cross-connect board 302, and the line board 303 are configured to process the electrical layer signal of OTN. The branching board 301 is configured to receive and transmit various customer services, such as SDH service, packet service, Ethernet service, and forward service. Furthermore, the branching board 301 may be divided into a client-side optical module and a signal processor. The client-side optical module may be an optical transceiver configured to receive and / or transmit service data. The signal processor is configured to map the service data into a data frame and demap the service data from the data frame. The cross-connect board 302 is configured to exchange data frames to complete exchanging one or more types of data frames. The line board 303 mainly processes the line-side data frames. Specifically, the line board 303 may be divided into a line-side optical module and a signal processor. The line-side optical module may be a line-side optical transceiver configured to receive and / or transmit data frames. The signal processor is configured to multiplex and demultiplex the data frames on the line side, or map and demap the data frames on the line side. The system control and communication board 304 is configured to realize system control. Specifically, the system control and communication board 304 may collect information from different boards by using a backplane, or send control instructions to the corresponding board. It should be noted that there may be one or more specific components (e.g., signal processors) unless otherwise specified. This is not limited in this application. It should further be noted that the type of board included in the device, the functional design of the board, and the number of boards are not limited in this application. It should be noted that during a specific implementation, the two boards mentioned above may be designed as one board. In addition, the network device may further include a standby power supply, a heat dissipation fan, and the like.

[0047] The technical concepts in the embodiments of this application are first described below.

[0048] (1) 64B / 66B coding encodes 64 bits of service data or 64 bits of control information corresponding to service data into a 66-bit code block for transmission. The 66-bit code block is simply called a 66b code block. In this embodiment of the application, 66b, 64b / 66b, and the like may also be expressed as 66B and 64B / 66B, and it should be noted that the names are not specifically limited in this application. The first two bits of the 66b code block indicate a sync header, which is mainly used for data alignment and synchronization of receiving data bit streams at the receiving end. There are two types of sync headers, namely, "01" and "10". "01" indicates that the 66b code block is a 66b data code block, and the 64 bits following the sync header carry service data. "10" indicates that the 66b code block is a 66b control code block, and the 64 bits following the sync header carry mixed data, including data and control information. The 8 bits in the 66b control code block following the sync header are a type field, and the following 56 bits contain control information or a mixture of control information and 64 bits of data. The 66b control code block may be a start code block, a tail code block, an IDLE code block, or the like.

[0049] (2) The data frame structure used by OTN devices is an OTN frame. The OTN frame may also be referred to as an OTN transmission frame. The OTN frame is used to carry various service data and provides rich management and monitoring functions. The OTN frame may be a flexible optical service unit (OSUflex) frame, which may also be simply referred to as an OSU frame. Alternatively, the OTN frame may be an optical data unit k (ODUk) frame, an ODUCn frame, an ODUflex frame, an optical transport unit k (OTUk) frame, an OTUCn frame, a flexible OTN (FlexO) frame, or the like. The difference between the ODU frame and the OTU frame is that the OTU frame includes the ODU frame and the OTU overhead, and k represents different rate levels, for example, k=1 indicates 2.5Gbps, k=4 indicates 100Gbps, and Cn indicates a variable rate, specifically, a rate that is a positive integer multiple of 100Gbps. Unless otherwise noted, the ODU frame is any one of the ODUk frame, the ODUCn frame, and the ODUflex frame, and the OTU frame is any one of the OTUk frame, the OTUCn frame, and the FlexO frame. It should be further noted that with the development of OTN technology, new types of OTN frames may be defined, and the new types of OTN frames are also applicable to this application.

[0050] (3)Ceiling(x) denotes the ceiling function used to return the smallest integer value greater than or equal to x.

[0051] (4) Hamming distance is used in data transmission error control codes. Hamming distance indicates the different quantity of corresponding bits in two words (of the same length), and d(x, y) is used to indicate the Hamming distance between two words x and y. For example, an exclusive-or operation is performed on two strings, and the quantity of results that is 1 is counted. In this case, the quantity is the Hamming distance. A minimum Hamming distance of 2 means that the minimum value of the Hamming distance between two words of the same length is 2, in other words, the Hamming distance between two words of the same length is 2 or more.

[0052] (5) "Multiple" refers to two or more than two. "And / or" describes the relationship of association between associated objects. There are three possible relationships. For example, A and / or B can express the following three cases: only A is present, both A and B are present, and only B is present.

[0053] (6) The terms used in the embodiments of the present invention are merely for the purpose of illustrating particular embodiments and are not intended to limit the present invention. The singular terms "a," "an," and "said" used in the embodiments of the present invention and the appended claims are also intended to include the plural forms unless the context clearly dictates otherwise.

[0054] (7) The terms “first,” “second,” “third,” and the like may be used in embodiments of the present invention to describe various messages, requests, and network devices, but the messages, requests, and network devices are not limited by these terms. These terms are merely used to distinguish among the messages, requests, and network devices. For example, a first network device may also be referred to as a second network device, and similarly, a second network device may also be referred to as a first network device, without departing from the scope of embodiments of the present invention.

[0055] There exists bandwidth waste in the mapping methods of GFP-F and IMP, and as service traffic increases, the bandwidth needs to be operated in an improved manner in the future; especially, as packet service serves as the mainstream bearer service of OTN, this application provides a service processing method and apparatus to improve bandwidth utilization.

[0056] With reference to the accompanying drawings, the following will describe in detail the solutions provided in the embodiments of this application from the perspectives of a transmitting end and a receiving end, respectively.

[0057] FIG. 3 is a possible schematic flowchart of a service processing method according to an embodiment of this application. The service processing method may be applied to a transmission end. As shown in FIG. 3, the service processing method includes S301 to S305. For example, an OTN device at a transmission end may execute the procedures of the service processing method. Specifically, a processor, a chip, a chip system, a module having a service processing function, or the like in the OTN device at a transmission end may execute S301 to S304.

[0058] An OTN device may perform S305 directly by using an optical transceiver (which is sometimes an optical transceiver module), i.e., transmit an OTN transmission frame.

[0059] S301: Service data is acquired.

[0060] For example, the service to which the service data belongs may be a packet service or a constant bit rate service. A packet service is usually represented by a PKT. For example, a packet service may usually be a medium access control (MAC) frame data stream or an IP packet data stream (also called IP packets). A packet service may alternatively be a multi-protocol label switching (MPLS) packet data stream or a flexible Ethernet (FlexE) service code block. stream Alternatively, the packet service The service may be a 66b code block stream formed after 64b / 66b (b indicates bit) encoding. The service with constant bit rate is a 66b code block stream formed after 64b / 66b encoding.

[0061] S302: Encode service data to obtain encoded service data, where the encoded service data includes control information and service data information.

[0062] When the service data is encoded to obtain the encoded service data, method Any one of 1 to 3 may be used. It should be understood that the following several schemes are merely described as examples in this application, and the schemes are not described exhaustively.

[0063] Scheme 1: If the service data is a 66b code block stream, when the service data is encoded to obtain encoded service data, the 66b code block stream may be transcoded to obtain a Qb code block stream. Q=256K+1 or Q=256K+1*K, where K is a positive integer. For example, K is 1 and Q=257. That is, the 66b code block stream is transcoded to obtain a 257b code block stream. As another example, K is 2 and Q=513 / 514. That is, the 66b code block stream is transcoded to obtain a 513b or 514b code block stream. In the following description, an example is used in which a 256b / 257b encoding process is performed on the 66b code block stream to obtain a 257b code block stream. The 257b code block stream is the encoded service data.

[0064] Scheme 2: If the service data is a non-66b code block stream, when the service data is encoded to obtain encoded service data, a 64b / 66b encoding process may be first performed on the service data to obtain a 66b code block stream, and then a 256b / 257b encoding process is performed on the 66b code block stream to obtain a 257b code block stream.

[0065] The non-66b code block stream may be a MAC frame data stream, an IP packet data stream, an MPLS packet data stream, or a FlexE service code block stream.

[0066] Method 3: If the service data is a non-66b code block stream, when the service data is encoded to obtain encoded service data, a 64b / 66b encoding process may be first performed on the service data to obtain a 66b code block stream. The 66b code block stream is the encoded service data.

[0067] The scheme for encoding the 66b code block stream into a 257b code block stream will be described in detail later, see FIG. 6 and the related description, and the details will not be repeated here.

[0068] S303: Map the control information into an overhead area of ​​the OTN transmission frame, inspect the control information to obtain inspection information, and map the inspection information into the overhead area of ​​the OTN transmission frame.

[0069] The check information may include CRC information, or the check information may be one or more backups of the control information.

[0070] For example, the control information may include a code block type indication. In an example where the encoded service data is a 257b code block stream, the code block type indication is used to indicate the code block type of the 257b code block carrying the code block type indication, e.g., 257 b It is used to indicate that a code block is a control code block or a data code block. In other words, the code block type indication is mapped to the overhead area of ​​the OTN transmission frame.

[0071] S304: Map the service data information into the payload area of ​​the OTN transmission frame.

[0072] S305: Send an OTN transmission frame carrying the encoded service data.

[0073] For example, if the OTN transmission frame is an OSUflex frame, the OSUflex frame may be directly transmitted by using an optical transceiver (which is sometimes an optical transceiver module), or the OSUflex frame may be first mapped to another OTN frame (e.g., an ODU frame or a FlexO frame), and then the other OTN frame may be transmitted by using an optical transceiver module, which is not specifically limited in this embodiment of this application.

[0074] In this embodiment of the application, the bit rate of the service data information is equal to the rate of the payload area of ​​the OTN transmission frame, in other words, the transmission rate of the encoded service data is adapted to the rate of the payload area of ​​the OTN transmission frame. For example, the rate adaptation can be performed by using an idle code block (66b IDLE), so that the transmission rate of the finally encoded service data matches the rate of the payload area of ​​the OTN transmission frame.

[0075] For example, the OTN transmission frame is an OSUflex frame. FIG. 4 is a schematic diagram of the structure of an OSUflex frame according to an embodiment of this application. As shown in FIG. 4, the structure of an OSUflex frame is divided into two parts: OH bits) and overhead area (W PLD The overhead area includes a payload area (occupying 100 MHz bits). The overhead area includes overhead information such as, but not limited to, a version identifier, a service identifier, mapping information, and cyclic redundancy check-X bits (CRC-X). The payload area is used to carry service data information. The length of an OSUflex frame has a fixed size. For example, the length of an OSUflex frame is represented by W. In other words, W=W OH +W PLDFor example, an OSUflex frame can be 192 bytes, 240 bytes, 128 bytes, or 64 bytes long.

[0076] Assuming that the bit rate of an OSUflex frame is R, the rate at which packet services need to be accommodated is R*W PLD / W, that is, the rate of the payload area of ​​the OSUflex frame. The bit rate R of the OSUflex frame is C times the reference bit rate. The reference bit rate is a preset value, and the value of C is the ceiling [(bit rate of the packet service * W / W PLD ) / reference bit rate]. For example, the reference bit rate may be about 2 Mbps, 10 Mbps, or similar to accommodate various low-rate services that need to be carried in the OTN transmission frame. During calculation, the bit rate of the packet service is the bit rate of the useful data, i.e., the bit rate corresponding to 64b data in a 66b code block (64 bits of data other than the 2-bit sync header in each 66b code block). After the rate adaptation described above, the bit rate of the service data information mapped into the encoded OSUflex frame is adapted to the packet service to maximize the bandwidth utilization.

[0077] For example, if the bit rate of a packet service is less than the rate of the payload area of ​​the OSUflex frame, a 66b IDLE code block may be inserted into the 66b code block stream of the packet service. For example, the IDLE code block may be inserted after code block T and before code block S. Alternatively, a special code block may be user-defined as a filler code block. The position where the filler code block is inserted is not limited. Code block T indicates the start code block of the 66b code block stream, and code block S indicates the end code block of the 66b code block stream. Using a MAC frame data stream as an example, after the MAC frame is encoded into a 66b code block stream, the frame header of the MAC frame is encoded into the start code block, and the frame end of the MAC frame is encoded into the end code block.

[0078] The following describes in detail how to convert a 66b code block stream into a 257b code block stream.

[0079] In this embodiment of the application, each of the four 66b code blocks is converted into one 257b code block through encoding, which may follow the method defined in IEEE 802.3 or another user-defined encoding method.

[0080] In a possible embodiment, the transcoding operation includes removing the 2-bit synchronization headers of four consecutive 66b code blocks to obtain 256b, and adding a 1-bit code block type indication of the 256b to obtain a 257b code block. bThe code block is a data code block, or the 257b code block is a control code block when the code block type indication is a second value. For example, the first value is 1 and the second value is 0, or the first value is 0 and the second value is 1. All of the four 66b code blocks in the 257b data code block are data code blocks, and the four 66b code blocks in the 257b control code block include at least one 66b control code block. The code block type indication may alternatively be control information of the 257b code block.

[0081] In the example, if all four 66b code blocks are data code blocks, the 2-bit sync headers of the four 66b code blocks are directly deleted and a 1-bit code block type indication is added to obtain a 257b data code block. The value of the code block type indication is a first value. For example, FIG. 5 is a possible schematic diagram of a 257b data code block according to an embodiment of this application. In FIG. 5, an example in which the first value is 1 is used. In FIG. 5, the numbers in parentheses indicate the quantity of bits, where 01 is the 2-bit sync header of the 66b data code block, and DB (data block) indicates the valid data of the 66b data code block.

[0082] In another example, if the four 66b code blocks include at least one 66b control code block, the two-bit sync header of the four 66b code blocks is deleted and a one-bit code block type indication is also added, the value of the code block type indication being a second value.

[0083] In order to enable the receiving end to know whether the four 66b code blocks are control code blocks or data code blocks, indication information used to indicate the 66b code block pattern needs to be further added to obtain the 257b control code block.

[0084] Example 1: An example is used in which the indication information used to indicate a 66b code block pattern is called a first code block pattern indication. The first code block pattern indication occupies 4 bits, and the first code block pattern indication is used to indicate the pattern of four 66b code blocks included in a 257b control code block, i.e., the code block type (including a 66b control code block or a 66b data code block) and the code block position of the four 66b code blocks. In the first code block pattern indication, the i-th bit indicates whether the i-th 66b code block in the 257b control code block is a data code block or a control code block.

[0085] FIG. 6 is another possible schematic diagram of a 257b control code block according to an embodiment of this application. As shown in FIG. 6, the 2-bit synchronization headers of the four 66b code blocks are deleted, a 1-bit code block type indication is added, the last 4 bits of the 8-bit type field of the first 66b control code block are deleted, and the type fields of the remaining 66b control code blocks are not deleted or changed, and a completely transparent transmission is performed. Furthermore, a 4-bit first code block pattern indication is added to finally obtain the 257b control code block shown in FIG. 6. In FIG. 6, the numbers in parentheses indicate the quantity of bits, and 10 and 01 are the 2-bit synchronization headers of 66b. 01 indicates a 66b data code block, 10 indicates a 66b control code block, and F and S indicate the type information of the type field of the 66b control code block. In FIG. 6, an example is used in which the four 66b code blocks include three 66b control code blocks and one data code block. The first to third 66b control code blocks are used. b The code block is a 66b control code block and the fourth 66b code block is a 66b data code block. In an example where a 1 indicates a 66b data code block and a 0 indicates a 66b control code block, as shown in FIG. instructions The value is 0001.

[0086] Example 2: Based on Example 1, to further improve the reliability, a bit error resilience protection may be further performed on the 257b code block obtained by converting four 66b code blocks through encoding. Specifically, after the four 66b code blocks are converted into a 257b code block through encoding in the manner of Example 1, the first code block pattern indication in the 257b control code block may be further encoded into a second code block pattern indication. The minimum Hamming distance between different values ​​of the second code block pattern indication is 2. It should be understood that the encoding may be understood as a substitution performed according to a preset rule, or an acquisition performed by using a specific algorithm.

[0087] For example, Table 1 represents a mapping relationship between different values ​​of the first code block pattern indication and different values ​​of the second code block pattern indication. When the value of the i-th bit in the third column in Table 1 is 1, it indicates that the 66b code block is a 66b data code block, or when the value of the i-th bit is 0, it indicates that the 66b code block is a 66b control code block. It should be understood that Table 1 is merely an example of the mapping relationship between different values ​​of the first code block pattern indication and different values ​​of the second code block pattern indication, and does not constitute a specific limitation.

[0088] The first column in Table 1 represents the combination pattern of the original 66b code blocks before four 66b code blocks were combined to form a 257b code block, where S denotes a start code block, T denotes a tail code block, I denotes an idle code block, and D denotes a data code block.

[0089] Figure 7 is yet another possible schematic diagram of a 257b control code block according to an embodiment of this application. Continuing with the above example of Figure 6, and taking Table 1 as an example, the 257b control code block in Figure 7 is obtained by encoding the value 0001 of the first code block pattern indication from the second bit to the fifth bit in the 257b control code block shown in Figure 6 to 0100.

[0090] In the above embodiment, the first code block pattern indication used to indicate the pattern of the 66b code block in the 257b control code block is further coded into a second code block pattern indication with a minimum Hamming distance of 2, thereby ensuring that the 4 bits indicating information about the pattern of the 66b code block in the 257b control code block have stronger error resilience capability, and a bit error occurring in any one of the 4 bits can be found in a timely manner.

[0091] [Table 1]

[0092] Example 3: The instruction information used to indicate the 66b code block pattern is the third code block pattern An example called instruction is used. The third code block pattern instruction occupies 4 bits, and the first code block pattern instruction is used to indicate the pattern of the four 66b code blocks, i.e., the code block type (including 66b control code block or 66b data code block) and the code block position of the four 66b code blocks. The combination of 66b code blocks of different code block types corresponds to different values ​​of the third code block pattern instruction. The minimum Hamming distance between different values ​​of the third code block pattern instruction is, for example, 2, as shown in Table 2.

[0093] [Table 2]

[0094] FIG. 8 is yet another possible schematic diagram of a 257b control code block according to an embodiment of this application. As shown in FIG. 8, the 2-bit synchronization headers of the four 66b code blocks are deleted, a 1-bit code block type indication is added, the last 4 bits of the 8-bit type field of the first 66b control code block are deleted, and the type fields of the remaining 66b control code blocks are not deleted or changed, and a completely transparent transmission is performed. Furthermore, a 4-bit third code block pattern indication is added to finally obtain the 257b control code block shown in FIG. 8. In FIG. 8, the numbers in parentheses indicate the quantity of bits, and 10 and 01 are the 2-bit synchronization headers of 66b. 01 indicates a 66b data code block, 10 indicates a 66b control code block, and F and S indicate the type information of the type field of the 66b control code block. In FIG. 8, an example is used in which the four 66b code blocks include three 66b control code blocks and one data code block. The first to third 66b control code blocks are b The code block is a 66b control code block and the fourth 66b code block is a 66b data code block. 2 The combination of 66b code blocks and the third code block pattern, instructions As shown in FIG. 8, the value of the third code block pattern indication is 0100.

[0095] In this embodiment of the application, when the 66b code block stream is encoded, the 66b code block stream may be further converted into a code block stream of another format through encoding, for example, encoded into a 513b code block stream or a 514b code block stream.

[0096] For example, a 66b code block stream may be encoded into a 513b code block stream, and each of the eight 66b code blocks may be converted into one 513b code block through encoding. The two-bit synchronization headers of the eight consecutive 66b code blocks are removed to obtain 512b, and a one-bit code block type indication of 512b is added to obtain a 513b code block. When the code block type indication is a first value, the 513b code block is a 513b data code block, or when the code block type indication is a second value, the 513b code block is a 513b control code block. All of the eight 66b code blocks in the 513b data code block are data code blocks, and the eight 66b code blocks in the 513b control code block include at least one 66b control code block.

[0097] For the 513b control code block, in order to enable the receiving end to know whether the eight 66b code blocks are control code blocks or data code blocks, indication information used to indicate the 66b code block pattern needs to be further added to obtain the 513b control code block. For example, 4 bits or 8 bits may be occupied. For example, when there is only one control code block, the last 4 bits of the 8-bit type field of the first 66b control code block may be deleted, or when there are two or more control code blocks, the last 4 bits of the 8-bit type field of each of the first and second 66b control code blocks may be deleted, and the type fields of the remaining 66b control code blocks are not deleted or changed, and a completely transparent transmission is performed. Furthermore, to finally obtain the 513b control code block, 4-bit or 8-bit indication information used to indicate the 66b code block pattern is added. The manner of configuring the 4-bit or 8-bit indication information used to indicate the 66b code block pattern is similar to the 4-bit indication information in the 257b control code block used to indicate the 66b code block pattern. For example, a first form of code block pattern indication is used, a third form of code block pattern indication is used, or a second form of code block pattern indication is used that is obtained by further encoding the first code block pattern indication.

[0098] For example, a 66b code block stream may be encoded into a 514b code block stream, and each of the eight 66b code blocks may be converted into one 514b code block through encoding. The two-bit sync headers of the eight consecutive 66b code blocks are removed to obtain 512b, and a two-bit code block type indication of 512b is added to obtain 514b code blocks. For example, a first bit indicates the code block type of a first combination (256 bits) including the first through fourth 66b code blocks, and a second bit indicates the code block type of a second combination (256 bits) including the fifth through eighth 66b code blocks. For example, the first bit indicates the code block type of a first combination (256 bits) including the fifth through eighth 66b code blocks. To If it is 1, the first combination includes four 66b data code blocks or the first bit To If it is 0, at least one of the four 66b code blocks included in the first combination is a 66b control code block. If the first and second combinations include four 66b control code blocks, a code block pattern indication (e.g., a first code block pattern indication, a second code block pattern indication, or a third code block pattern indication) may be added in the same manner as in a 257b control code block. Details will not be described again here.

[0099] The following describes, by using an example in which the encoded service data is a 257b code block stream, mapping the control information of the encoded service data and the check information of the control information into the overhead area of ​​the OTN transmission frame, and mapping the service data information into the payload area of ​​the OTN transmission frame.

[0100] The code block type indication in the 257b code block is mapped to the overhead area of ​​the OSUflex frame and a CRC check is performed. Information other than the code block type indication is mapped to the payload area of ​​the OSUflex frame. For ease of explanation, the code block type indication is assumed to be 257b.b It is called the first part of the code block, 257 b Information other than the code block type indication in a code block is called the second part. For example, for a 257b data code block, the code block type indication is the first part, and the remaining service data information is the second part. As another example, for a 257b control code block, the code block type indication is the first part, and the remaining service data information and the remaining code block pattern indication (first code block pattern indication, second code block pattern indication, or third code block pattern indication) are the second part. For example, see FIG. 9. FIG. 9 illustrates a 257 control code block according to an embodiment of this application. b FIG. 13 is a possible example diagram of mapping a code block stream to an OSUflex frame.

[0101] For example, the code block type indication occupies 1 bit. Specifically, the transmitting end maps a continuous 257b code block stream into an OSUflex frame. The 1-bit code block type indication of each 257b code block is separated from the remaining 256-bit second part. The 1-bit first part (code block type indication) of the 257b code block is mapped into the overhead area of ​​the OSUflex frame. The remaining 256-bit second part of the 257b code block is mapped into the payload area of ​​the OSUflex frame.

[0102] As described above, rate adaptation has been performed on the 66b code block stream. Therefore, the bit rate corresponding to the second portion of the 257b code block is exactly equal to the bit rate of the payload area of ​​the OSUflex frame. The second portion is mapped to the payload area of ​​the OSUflex frame through bit synchronous mapping. The 256-bit second portion of each 257b code block is 32 bytes, and the second portion is aligned with the payload boundary bytes of the OSUflex frame.

[0103] In a possible implementation, before transmitting S305 an OTN transmission frame carrying encoded service data, start position information corresponding to the first complete 257b code block mapped to the payload area of ​​the OSUflex frame is placed in the overhead area of ​​the OSUflex frame. The start position information may also be referred to as pointer overhead. Based on the pointer overhead, the receiving end can find the start position of the first complete 257b code block carried in the payload area of ​​the OSUflex frame to recover the 256 bits of each 257b code block carried in the payload area of ​​the OSUflex frame. Based on the pointer overhead, the receiving end can also know the number of 257b code blocks whose start byte is included in the payload area of ​​the current OSUflex frame, in other words, the number of 257b code blocks whose code block type indication is included in the overhead area of ​​the OSUflex frame.

[0104] In a possible implementation, the transmitting end may further perform a cyclic redundancy check (CRC-X) on the code block type indication and pointer overhead of the 257b code block, which are included in the overhead area of ​​the OSUflex frame, to generate X-bit cyclic redundancy check information, and add the X-bit cyclic redundancy check information to the overhead area of ​​the OSUflex frame. It should be noted that the transmitting end may perform the CRC-X on the code block type indication and pointer overhead of the 257b code block individually, or may perform the CRC-X on the code block type indication and pointer overhead of the 257b code block together. The CRC-X performed on the code block type indication and pointer overhead may be independent of the CRC-X performed on other overhead of the OSUflex frame. The transmitting end may alternatively perform the CRC-X operation jointly on the code block type indication, pointer overhead, and other overhead on which CRC-X needs to be performed, so that the overhead information in the OSUflex frame shares the same CRC-X check, thereby further reducing bandwidth and processing complexity.

[0105] Line bit errors may occur in the line transmission process. If a complete 257b code block is mapped into the payload area as a whole, and a bit error occurs exactly in one bit of code block type information of the 257b code block, for example, the one bit of code block type information changes from 0 to 1, the receiving end may erroneously regard the 257b control code block as a 257b data code block, and directly convert the 257b control code block into four 66b data code blocks through decoding. Correspondingly, the received erroneous packet is processed as a correct packet in the packet service, in other words, a reliability problem is caused. In this application, the first part (code block type indication) and the second part (the remaining 256 bits) of the 257b code block are mapped individually, and the code block type indication is placed in the overhead area of ​​the OSUflex frame to perform CRC-X, in other words, bit error protection is performed on the code block type indication. When a bit error occurs in the line transmission process, for example, an error occurs in the code block type indication of a 257b code block, the error can be detected in a timely manner by using CRC-X checking information, so that the 257b code block corresponding to the code block type indication is discarded, and the case where a received erroneous packet is processed as a correct packet in the packet service is avoided, thereby improving the reliability of transmission.

[0106] Optionally, the 66b code block stream obtained after rate adaptation can be encoded to produce a code block stream of another format, for example a 513b code block stream. stream or 514b code block streamIf the control information and service data information of the 513b code block stream or the 514b code block stream are converted to the OSUflex frame, the control information and the service data information of the 513b code block stream or the 514b code block stream are mapped accordingly. For example, for the 513b code block stream, one bit of the code block type indication of each 513b code block may be mapped to the overhead area of ​​the OSUflex frame, and the remaining 512 bits are mapped to the payload area of ​​the OSUflex frame. For the 514b code block stream, two bits of the code block type indication of each 514b code block may be mapped to the overhead area of ​​the OSUflex frame, and the remaining 512 bits are mapped to the payload area of ​​the OSUflex frame. In addition, it is also necessary that a pointer overhead is added to the overhead area of ​​the OSUflex frame to indicate the starting position of the first complete code block carried in the payload area of ​​the current OSUflex frame. Then, a CRC check is performed on the code block type indication and the pointer overhead of these 513b code blocks mapped to the OSUflex frame, and the check information obtained after the CRC check is added to the overhead area of ​​the OSUflex frame.

[0107] It should further be noted that the method of using a CRC to provide reliability is merely an example. Alternatively, multiple backups of overhead information may be mapped into the overhead area of ​​the OSUflex frame and majority voting may be used to improve reliability.

[0108] For example, the following describes the process of mapping a 257b code block data stream into an OSUflex frame using an example where the OSUflex frame size is 192 bytes: Figures 10A, 10B, and 10C are possible schematic diagrams of the structure of an OSUflex frame according to an embodiment of this application.

[0109] As shown in Figures 10A, 10B, and 10C, the OSUflex frame size is 192 bytes, the overhead area includes 7 bytes, and the payload area is 185 bytes. b The 20 bytes contained in the second part of the code block may be mapped into the payload area of ​​each OSUflex frame, i.e., 256 bits of information corresponding to five complete 257b code blocks and one 257 b 20 bytes of the 256-bit information corresponding to the code block may be mapped into the payload area of ​​each OSUflex frame. In the process of mapping the 257b code block data stream into the OSUflex frame, it may be noted that one 257b code block is placed in two consecutive OSUflex frames. This case may be referred to as cross-frame mapping.

[0110] Five bits POINTER[4:0] are reserved in the overhead area of ​​the OSUflex frame, and POINTER indicates the pointer overhead and is used to indicate the starting position corresponding to the first complete 257b code block in the payload area of ​​the OSUflex frame. POINTER[4:0] indicates five bits in the POINTER overhead. For example, the value of the pointer overhead ranges from 0 to 31. "0" indicates that the starting position of the first complete 257b code block carried in the payload area of ​​the current OSUflex frame is the first byte in the payload area of ​​the OSUflex frame. "1 to 31" respectively indicate that the starting position of the first complete 257b code block carried in the payload area of ​​the current OSUflex frame is the second byte to the 32nd byte of the payload area of ​​the OSUflex frame. In this case, it is a cross-frame mapping. That is, 1 to 31 bytes of the incomplete 257b code block data are first mapped to the starting part of the payload area of ​​the current frame, and then the first complete 257b code block is mapped.

[0111] Correspondingly, the code block type information corresponding to the 257b code blocks mapped to the payload area of ​​the OSUflex frame is mapped to the overhead area of ​​the OSUflex frame. Six bits 257b_IND[5:0] are reserved in the overhead area of ​​the OSUflex frame and are specifically used to carry the code block type indication of the 257b code blocks. 257b_IND[5:0] may also be referred to as indication overhead or as another name. This is not limited in this application. For example, as shown in Figures 10A and 10C, if six 257b code blocks carried in the current OSUflex frame include the start bytes of the six 257b code blocks, the code block type indication of the corresponding six 257b code blocks is placed directly in 257b_IND[5:0]. For example, as shown in FIG. 10B, if six 257b code blocks carried in the current OSUflex frame include start bytes of five 257b code blocks, then only the type indication of the 257b code block that includes the start bytes of the five 257b code blocks is placed in the 5-bit 257b_IND[4:0] in the 257b_IND overhead.

[0112] A CRC8 cyclic redundancy check calculation is performed on overhead information such as control information (257b_IND) and pointer overhead (POINTER) to generate CRC8 information and place the CRC8 information in the CRC8 overhead location. The check polynomial used for the CRC8 calculation includes, but is not limited to, X8+X2+X+1, with an initial value of all ones. In addition to detecting errors, the CRC8 may use one bit for error correction functions.

[0113] The particular naming scheme of the overhead, such as the control information (257b_IND), overhead indication (POINTER), and check information (CRC8) mentioned in this embodiment of this application, and the particular overhead locations of the overhead in the overhead area of ​​the OSUflex frame are not limited.

[0114] The following describes the solution provided in the embodiments of this application from the perspective of the receiving end.

[0115] FIG. 11 is a possible schematic flowchart of a service processing method according to an embodiment of this application. The service processing method may be applied to a receiving end. Unless otherwise specified, it should be understood that the operations performed by the receiving end are the reverse process of the operations performed at the transmitting side. As shown in FIG. 11, the service processing method includes S1101 to S1105. For example, an OTN device at the receiving end may perform the procedures of the service processing method. Specifically, a processor, a chip, a chip system, a module having a service processing function, or the like in the OTN device at the receiving end may perform S1102 to S1105. Specifically, the OTN device may directly perform S1101 by using an optical transceiver (which is sometimes an optical transceiver module), i.e., receive an OTN transmission frame.

[0116] S1101: Receive an OTN transmission frame, where the OTN transmission frame is used to carry encoded service data, where the encoded service data includes control information and service data information.

[0117] Additionally, overhead information and check information from an overhead region of the OTN transmission frame are extracted. The overhead information includes control information (including a code block type indication) and may further include an overhead indication. The overhead information is checked based on the check information.

[0118] In one scheme, if the check information is CRC information, a CRC check process may be performed on the overhead information based on the check information. If the recalculated CRC-X value is the same as the CRC-X value extracted from the overhead area of ​​the OSUflex frame, it is deemed that no error occurs in the check information of the overhead area. If the recalculated CRC-X value is different from the CRC-X value extracted from the overhead area of ​​the OSUflex frame, it is deemed that a bit error exists in the overhead area, and the data carried in the payload area of ​​the OSUflex frame may be directly discarded.

[0119] In another manner, if the transmitting end sends one or more same overhead information as the check information, it may be determined whether the values ​​of the multiple overhead information are the same to determine whether the overhead is correct. Specifically, a majority vote may be used, or a judgment on whether the multiple overhead information is consistent may be used. For example, if there are three same overheads, the transmission may be considered correct if the overheads are completely the same, or the overhead value of a relatively large number of the same overheads is used as the correct value. This is not limited in this application.

[0120] In FIG. 11, an example is used in which the control information and the check information for the control information are extracted from the overhead area of ​​the OTN transmission frame.

[0121] S1102: Control information and inspection information for the control information are obtained from an overhead area of ​​the OTN transmission frame, and the control information is inspected based on the inspection information.

[0122] For example, if the check information is CRC information, the receiving end performs a CRC check process on the control information based on the CRC information. As another example, the check information is one or more backups of the control information, and one or more control information in the check information is compared with the control information extracted from the overhead area to determine whether the values ​​are the same in order to check the control information extracted from the overhead area.

[0123] S1103: If the checking result is correct, obtain service data information from the payload area of ​​the OTN transmission frame, and reassemble the control information and the service data information to obtain the encoded service data.

[0124] An example is still used in which the OTN transmission frame is an OSUflex frame and the encoded service data is a 257b code block stream. The receiving end may obtain a starting position corresponding to the first complete 257b code block carried in the current OSUflex frame based on the pointer overhead, and obtain 256 bits of data corresponding to each 257b code block through analysis. For an OSUflex frame having a size of 192 bytes, the starting position of the first complete 257b code block is the 1st to 32nd bytes of the payload area of ​​the OSUflex frame. Furthermore, the receiving end obtains the quantity of 257b code blocks whose code block type indications are included in the overhead area of ​​the current OSUflex frame based on the pointer overhead in the overhead area of ​​the OSUflex frame. In other words, after obtaining the pointer overhead, the receiving end determines the quantity of 257b code blocks whose starting bytes are included in the payload area of ​​the current OSUflex frame, in other words, it can know the quantity of 257b code blocks whose code block type indications are included in the overhead area of ​​the OSUflex frame. For an OSUflex frame with a size of 192 bytes, the payload area of ​​the OSUflex frame is 185 bytes. If the value of the pointer overhead is a value from 0 to 24, it indicates that the payload area of ​​the OSUflex frame contains the start bytes of six 257b code blocks, in other words, the overhead area of ​​the OSUflex frame contains code block type indications of six 257b code blocks, and a 6-bit code block type indication is extracted from 257b_IND[5:0]. If the value of the pointer overhead is a value from 25 to 31, it indicates that the payload area of ​​the OSUflex frame contains the start bytes of five 257b code blocks, in other words, the overhead area of ​​the OSUflex frame contains type indication information of five 257b code blocks, and a 5-bit code block type indication is extracted from 257b_IND[4:0].

[0125] Furthermore, the obtained code block type indication and the 256 bits of data corresponding to the payload area are recombined into a 257b code block stream.

[0126] Since the obtained 1-bit code block type indication in each 257b code block is obtained after performing CRC check, it is guaranteed that no bit error occurs in the obtained 1-bit code block type indication in each 257b code block. Therefore, it is guaranteed from the source to avoid the following case: a bit error occurs in the 1-bit code block type indication, and the receiving end erroneously considers the 257b control code block to be a 257b data code block, and converts the 257b control code block into four 66b data code blocks through decoding, and correspondingly, the received erroneous packet is processed as a correct packet in the packet service. Therefore, the reliability of transmission is improved.

[0127] S1104: The encoded service data is decoded to obtain the service data.

[0128] The decoding process described in S1104 is the inverse process of S302 described in the embodiment corresponding to FIG.

[0129] For the three encoding schemes described in the embodiment corresponding to FIG. 3, this embodiment provides three decoding schemes as examples.

[0130] Method 1: Encoded 64b / 66b decoding is performed on the service data to obtain the service data.

[0131] Method 2: Encoded 256b / 257b decoding is performed on the service data to obtain a 66b code block stream, and 64b / 66b decoding is performed on the 66b code block stream to obtain the service data.

[0132] Method 3: Encoded 256b / 257b decoding is performed on the service data to obtain the service data.

[0133] Based on the same inventive concept as the above-mentioned embodiment, the embodiment of this application further provides a service processing device. The method, the device and the system are based on the same inventive concept. The principles of the method, the device and the system for solving the problem are similar. Therefore, the implementation of the device and the method may be cross-referenced, and the details of the repeated parts will not be described.

[0134] 12 and 13 are two possible schematic diagrams of the structure of the service processing device according to the embodiment of this application. The service processing device 1200 shown in FIG. 12 is an OTN device at the transmission end. Run by The service processing device 1300 shown in FIG. 13 includes a service data acquiring unit 1201, a mapping unit 1202, and a sending unit 1203, which respectively perform the service acquiring, service processing, and sending operations in the above-mentioned method. For example, the service data acquiring unit 1201 is configured to perform S301, the mapping unit 1202 is configured to perform S302 to S304, and the sending unit 1203 is configured to perform S305. The service processing device 1300 shown in FIG. 13 includes a receiving unit 1301 and a demapping unit 1302, which respectively perform the service receiving and demapping operations in the above-mentioned method of the OTN device at the receiving end. For example, the receiving unit 1301 is configured to perform S1101, and the demapping unit 1302 is configured to perform S1102 to S1104.

[0135] Those skilled in the art will recognize that device 1200 and device 1 3 It should be understood that the units included in .00 may be realized using one or more processors.

[0136] In the embodiment of this application, the division into units is an example and is merely a logical division of functions. During actual implementation, other division methods may be used. In addition, the functional units in the embodiment of this application may be integrated into one processor, or each of the units may exist physically independently, or two or more units may be integrated into one unit. The integrated units may be realized in the form of hardware or in the form of software functional units.

[0137] FIG. 14 is a possible schematic diagram of the structure of a service processing device according to an embodiment of this application. As shown in FIG. 14, the service processing device 1400 may include a processor 1401 and a memory 1402. The service processing device may be applied to an OTN device at a transmitting end (an embodiment corresponding to FIG. 3), or may be applied to an OTN device at a receiving end (an embodiment corresponding to FIG. 11). The program code used by the processor 1401 to execute the above-mentioned method may be stored in the memory 1402. The memory 1402 is coupled to the processor 1401. The processor 1401 may cooperate with the memory 1402.

[0138] In an example, the service data acquiring unit 1201, the mapping unit 1202, and the sending unit 1203 shown in Fig. 12 may all be realized by the processor 1401. For example, the processor 1401 may be a signal processor in the line board or the branch board shown in Fig. 2. The processor 1401 is configured to execute the method performed by the OTN device at the transmission end of Fig. 3. In the implementation process, the steps in the processing procedure may be executed by using an integrated logic circuit of hardware or an instruction in the form of software in the processor 1401 to complete the method performed by the OTN device at the transmission end of Fig. 3.

[0139] In another example, both the receiving unit 1301 and the de-mapping unit 1302 shown in Fig. 13 may be realized by the processor 1401. For example, the processor 1401 may be a signal processor in the line board or branch board shown in Fig. 2. The processor 1401 is configured to execute the method performed by the OTN device at the receiving end of Fig. 11. In the implementation process, steps in the processing procedure may be executed by using an integrated logic circuit of hardware or instructions in the form of software in the processor 1401 to complete the method performed by the OTN device at the receiving end of Fig. 11.

[0140] It should be further noted that when the processor 1401 performs the transmitting step, the processor 1401 may perform transmitting to the optical transceiver, whereby the optical transceiver performs transmitting to the peer device. When the processor 1401 performs the receiving step, the processor 1401 may receive the OTN data from the optical transceiver to perform another subsequent processing step.

[0141] In the embodiments of this application, the processor 1401 may be a general-purpose processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array or another programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component, and may implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor, or the like. The steps of the methods disclosed with reference to the embodiments of this application may be directly executed by a hardware processor, or may be executed by using a combination of hardware and software units in a processor. The coupling in the embodiments of this application may be an indirect coupling or communication connection between the devices, units, or modules in an electrical, mechanical, or other form, and is used for information exchange between the devices, units, or modules. The memory 1402 may be a non-volatile memory, such as a hard disk drive (HDD), or a volatile memory, such as a random-access memory (RAM). Memory 1402 may be, but is not limited to, any medium capable of carrying or storing expected program code in the form of instructions or data structures and that can be accessed by a computer.

[0142] Based on the above-mentioned embodiment, the embodiment of this application further provides a computer-readable storage medium. The storage medium stores a software program, and when the software program is read and executed by one or more processors, the method provided in one or more of the above-mentioned embodiments can be executed. The computer-readable storage medium may include 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 disk.

[0143] Based on the above-mentioned embodiment, the embodiment of this application further provides a chip. The chip includes a processor configured to realize the functions included in any one or more of the above-mentioned embodiments, for example, to obtain or process the data frame included in the above-mentioned method. Optionally, the chip further includes a memory, and the memory is configured to store program instructions and data required for the execution of the processor. The chip may include a chip, or may include a chip and another individual component.

[0144] Those skilled in the art should understand that the embodiments of this application may be provided as a method, a system, or a computer program product. Thus, this application may take the form of a hardware-only embodiment, a software-only embodiment, or an embodiment using a combination of software and hardware. Furthermore, this application may take the form of a computer program product embodied in one or more computer-usable storage mediums (including, but not limited to, disk memory, CD-ROM, optical memory, and the like) that contain computer-usable program code.

[0145] This application will be described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of this application. It should be understood that computer program instructions can be used to realize each process and / or each block in the flowcharts and / or block diagrams, and combinations of processes and / or blocks in the flowcharts and / or block diagrams. These computer program instructions can be provided for a general-purpose computer, a special-purpose computer, an embedded processor, or a processor of any other programmable data processing device to generate a machine, such that the instructions executed by the processor of a computer or any other programmable data processing device generate an apparatus for implementing a particular function in one or more processes in the flowcharts and / or in one or more blocks in the block diagrams.

[0146] These computer program instructions may also be stored in a computer readable memory capable of instructing a computer or any other programmable data processing device to operate in a particular manner such that the instructions stored in the computer readable memory generate an artifact that includes an instruction apparatus that implements a particular function in one or more processes in the flowcharts and / or in one or more blocks in the block diagrams.

[0147] These computer program instructions may also be loaded into a computer or any other programmable data processing device such that a sequence of operations and steps are executed on the computer or any other programmable device to generate a computer-implemented process. Thus, the instructions executed on the computer or any other programmable device provide steps for implementing a particular function in one or more processes in the flowcharts and / or in one or more blocks in the block diagrams.

[0148] Obviously, those skilled in the art may make various modifications and variations to the embodiments of this application without departing from the scope of the embodiments of this application. Thus, this application is intended to cover these modifications and variations to the embodiments of this application, provided that they fall within the scope of protection defined by the following claims and their equivalent technologies. [Explanation of symbols]

[0149] 200 OTN 201 OTN Devices 202 Optical Fiber 203 Customer Service Interface 300 OTN devices 301 Branch Board 302 Cross-connect board 303 Circuit Board 304 System Control and Communication Board 1200 Service Processing Unit 1201 Service Data Acquisition Unit 1202 Mapping Unit 1203 Transmitter Unit 1300 Service Processing Unit 1301 Receiver Unit 1302 Demapping Unit 1400 Service Processing Unit 1401 Processor 1402 Memory

Claims

1. 1. A service processing method, the method comprising: obtaining service data; encoding the service data to obtain encoded service data, the encoded service data including control information and service data information; mapping the control information into an overhead area of ​​an optical transport network (OTN) transmission frame, performing a calculation to test the control information to obtain test information, and mapping the test information into the overhead area of ​​the OTN transmission frame; mapping the service data information into a payload area of ​​the OTN transmission frame; and transmitting the OTN transmission frame carrying the encoded service data.

2. 2. The method of claim 1, wherein the service data is a Medium Access Control (MAC) frame data, an Internet Protocol (IP) packet, a Multiprotocol Label Switching (MPLS) packet, a Flexible Ethernet (FlexE) service code block stream, or a 66b code block stream.

3. encoding the service data, The method of claim 1 or 2, comprising performing 64b / 66b encoding on the service data to obtain the encoded service data.

4. encoding the service data, performing 64b / 66b encoding on the service data to obtain a 66b code block stream; and performing a 256b / 257b encoding process on the 66b code block stream to obtain a 257b code block stream, the 257b code block stream being the encoded service data.

5. The service data is a 66b code block stream, and encoding the service data is The method according to claim 1 or 2, comprising: performing a 256b / 257b encoding process on the service data to obtain the encoded service data.

6. The method of claim 4 or 5, wherein the control information includes a code block type indication.

7. 7. The method of claim 6, wherein when the code block type indication indicates that a 257b code block is a control code block, the encoded service data further includes a first code block pattern indication, the first code block pattern indication being used to indicate a pattern of 66b code blocks contained in a code block in which the first code block pattern indication is located.

8. 8. The method of claim 7, further comprising: encoding the first code block pattern indication included in the encoded service data into a second code block pattern indication, wherein a minimum Hamming distance between different values ​​of the second code block pattern indication is two.

9. When the code block type indication indicates that the 257b code block is a 257b control code block, the method further comprises:

8. The method of claim 7, further comprising: adding a third code block pattern indication to obtain the encoded service data, the third code block pattern indication being used to indicate a pattern of 66b code blocks contained in a code block in which the third code block pattern indication is located, and a minimum Hamming distance between different values ​​of the third code block pattern indication is 2.

10. 9. The method according to claim 1, wherein the OTN transmission frame is a flexible optical service unit (OSUflex) frame.

11. 11. The method of claim 10, wherein the OSUflex frame is 192 bytes, 240 bytes, 128 bytes, or 64 bytes in length.

12. The method according to claim 1 , wherein the check information is cyclic redundancy check (CRC) information.

13. The method of claim 1 , wherein the test information is one or more backups of the control information.

14. The method according to claim 1 , wherein a bit rate of the service data information is equal to a rate corresponding to the payload area of ​​the OTN transmission frame.

15. 15. The method of claim 14, wherein the bit rate of the service data information is a rate obtained after idle code blocks are added or removed to perform rate adaptation, and the bit rate of the service data information obtained after rate adaptation is equal to the rate corresponding to the payload area of ​​the OTN transmission frame.

16. A service processing method, the method comprising: receiving an optical transport network (OTN) transmission frame, the OTN transmission frame being used to carry encoded service data, the encoded service data including control information and service data information; obtaining the control information and inspection information of the control information from an overhead area of ​​the OTN transmission frame, and inspecting the control information based on the inspection information; If the checking result is correct, obtaining the service data information from a payload area of ​​the OTN transmission frame, and reassembling the control information and the service data information to obtain the encoded service data; decoding the encoded service data to obtain the service data; A service processing method comprising:

17. 17. The method of claim 16, wherein the service data is a Medium Access Control (MAC) frame data, an Internet Protocol (IP) packet, a Multiprotocol Label Switching (MPLS) packet, a Flexible Ethernet (FlexE) service code block stream, or a 66b code block stream.

18. Decoding the encoded service data, 18. The method of claim 16 or 17, comprising performing 64b / 66b decoding on the encoded service data to obtain the service data.

19. Decoding the encoded service data, performing 256b / 257b decoding on the encoded service data to obtain a 66b code block stream; and performing 64b / 66b decoding on the 66b code block stream to obtain the service data.

20. The service data is a 66b code block stream, and decoding the encoded service data specifically includes:

18. The method of claim 16 or 17, comprising performing 256b / 257b decoding on the encoded service data to obtain the service data.

21. The method of claim 19 or 20, wherein the control information includes a code block type indication.

22. When the code block type indication indicates that the 257b code block is a control code block, before performing 256b / 257b decoding on the encoded service data, the method further comprises:

22. The method of claim 21, further comprising: decoding a second code block pattern indication included in the encoded service data into a first code block pattern indication, the first code block pattern indication being used to indicate a pattern of 66b code blocks included in a code block in which the first code block pattern indication is located, and a minimum Hamming distance between different values ​​of the second code block pattern indication is 2.

23. performing 256b / 257b decoding on the encoded service data; 21. The method of claim 19, comprising the step of obtaining a third code block pattern indication from the encoded service data, the third code block pattern indication being used to indicate a pattern of 66b code blocks contained in a 257b code block in which the third code block pattern indication is located, and a minimum Hamming distance between different values ​​of the third code block pattern indication is 2.

24. 24. The method of claim 16, wherein the OTN transmission frame is a flexible optical service unit (OSUflex) frame.

25. 25. The method of claim 24, wherein the OSUflex frame is 192 bytes, 240 bytes, 128 bytes, or 64 bytes in length.

26. 26. The method of claim 16, wherein the check information is CRC information.

27. 27. The method of claim 16, wherein the test information is a backup of one or more of the control information.

28. 28. The method according to claim 16, wherein a bit rate of the service data information is equal to a rate corresponding to the payload area of ​​the OTN transmission frame.

29. A service processing device, the device including a processor and a memory; the memory storing program code; A service processing device, wherein the processor is configured to read and execute the program code stored in the memory to perform the method of any one of claims 1 to 15.

30. 30. An OTN device comprising the apparatus of claim 29 and an optical transceiver, the optical transceiver configured to receive OTN transmission frames transmitted by the apparatus and to transmit the OTN transmission frames.

31. A service processing device, comprising: a processor and a memory; the memory storing program code; A service processing device, wherein the processor is configured to read and execute the program code stored in the memory to perform the method of any one of claims 16 to 28.

32. An OTN device comprising the apparatus of claim 31 and an optical transceiver, the optical transceiver configured to receive an OTN transmission frame and transmit the OTN transmission frame to the apparatus.

Citation Information

Patent Citations

  • Optical transmission system and terminal station and node unit used for the system

    JP2002290381A

  • Signal quality information notification method and relay communication device

    JP2019220883A

  • Transport network system with transparent transport and method of operation thereof

    US20110126074A1

  • Encoding of data for transmission

    US20130346823A1

  • Data transmission method, communication apparatus, and storage medium

    WO2019128664A1