WO2021115215A1 - 一种数据传输方法、通信设备及存储介质 - Google Patents
一种数据传输方法、通信设备及存储介质 Download PDFInfo
- Publication number
- WO2021115215A1 WO2021115215A1 PCT/CN2020/134083 CN2020134083W WO2021115215A1 WO 2021115215 A1 WO2021115215 A1 WO 2021115215A1 CN 2020134083 W CN2020134083 W CN 2020134083W WO 2021115215 A1 WO2021115215 A1 WO 2021115215A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- code block
- block stream
- stream
- data unit
- code
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
- H04L1/0058—Block-coded modulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/16—Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
- H04L1/0013—Rate matching, e.g. puncturing or repetition of code symbols
Definitions
- This application relates to the field of communications, and in particular to a data transmission method, communication device and storage medium.
- FlexE is a general technology that supports multiple Ethernet MAC layer rates.
- FlexE can support the following functions: binding, multiple Ethernet ports Bundled into a link group to support Medium Access Control (MAC) services with a rate greater than that of a single Ethernet port; sub-rate, by assigning time slots to services to support rates less than the link group bandwidth or less than a single Ethernet port Bandwidth MAC services; channelization, supports simultaneous transmission of multiple MAC services in a link group by allocating time slots for services, for example, supports simultaneous transmission of one 150G and two 25G MAC services in a 2x100GE link group.
- MAC Medium Access Control
- FlexE divides time slots through Time Division Multiplexing (TDM) to achieve hard isolation of transmission pipeline bandwidth.
- a service data stream can be allocated to one or more time slots, realizing the matching of services at various rates.
- a FlexE group (also called FlexE Group in English) can include one or more physical link interfaces (which can be written as PHY in English).
- Fig. 1a exemplarily shows a schematic diagram of a communication system based on the flexible Ethernet protocol. As shown in Fig. 1a, the FlexE Group includes 4 PHYs.
- Flexible Ethernet protocol client (FlexE Client) represents the client data stream transmitted in the specified time slot (one time slot or multiple time slots) on the FlexE Group.
- a FlexE Group can carry multiple FlexE Clients, and one FlexE Client corresponds to one user.
- Business data flow typically, it can be called Medium Access Control (MAC) Client
- MAC Medium Access Control
- FlexE Shim FlexE Shim
- the embodiments of the present application provide a data transmission method, device, and storage medium, which are used to improve bandwidth utilization and alleviate the problem of bandwidth waste.
- an embodiment of the present application provides a data transmission method, including: obtaining Q first code block streams, and putting bits corresponding to the code blocks in the Q first code block streams into the second code block stream; wherein ,
- the second code block stream includes at least Q data units; one data unit of the second code block stream carries a code block from a first code block stream; for at least Q data units in the second code block stream A data unit, the data unit includes a first code block, and the first code block is used to determine the boundary of the data unit in the second code block stream.
- the intermediate node may not need to demultiplex the second code block stream, thereby reducing the cross-processing of the intermediate node.
- the number of connections can reduce the pressure on network management and operation and maintenance.
- one data unit of the second code block stream in the embodiment of the present application carries code blocks from a first code block stream
- the second code block stream passes through an intermediate node, if the Q bar of the first code In the block stream, there are at least two first code block streams with different next-hop communication devices, and when the receiving end communication device is not configured with a demultiplexing unit for demultiplexing the second code block stream, the receiving The end communication device can convert each data unit into a message through the traditional message forwarding method.
- a message only includes the corresponding bit in the first code block stream, and the message can be exchanged to The outgoing interface corresponding to the first code block stream corresponding to the message.
- the solution provided by the embodiments of this application can multiplex multiple first code block streams into one second code block stream for transmission.
- the communication device at the receiving end needs to combine at least two first code block streams.
- the traditional message forwarding method can be used, so there is no need to configure a demultiplexing unit for demultiplexing the second code block stream for each receiving end communication device , The cost can be reduced, and since there is no need to configure the demultiplexing unit for demultiplexing the second code block stream on the communication equipment of the entire network, it can be more conducive to the progressive deployment of communication equipment and easier to land.
- adjacent data units of the second code block stream include R idle code blocks, where R is zero or a positive integer; the R idle code blocks are used to When performing rate adaptation on the second code block stream, a deletion operation of idle code blocks is performed. That is to say, because the bits corresponding to the code blocks of the original first code block stream are encapsulated in the data unit, and IDLE additions and deletions only involve IDLE between data units, so IDLE additions and deletions will not affect the first code The bit corresponding to the IDLE code block in the block stream also maintains the integrity of the original first code block stream.
- the placing the bits corresponding to the code blocks in the Q first code block stream into the second code block stream includes: according to the Q first code block stream and The corresponding relationship of the F sub-slots is to put the bits corresponding to the code blocks in the Q first code block stream into the second code block stream; wherein, the second code block stream corresponds to at least one time slot, and one time The slot is divided into at least two sub-slots; one first code block stream in the Q first code block streams corresponds to one or more sub-slots of the F sub-slots; the F is not less than the The integer of Q.
- the bandwidth of the sub-slot may be smaller than the bandwidth of the timeslot.
- one timeslot is divided into at least two sub-slots.
- the bandwidth granularity occupied by each first code block stream can be smaller, so that the purpose of carrying data through more fine-grained sub-slots can be realized, and the bandwidth utilization rate can be improved. , Can more meet the flexible rate business or low-speed business access requirements in practical applications, and can reduce the waste of bandwidth.
- the number of code blocks included in the two data units is the same. In this way, the data processing flow of the communication device can be simplified.
- the number of code blocks included in one data unit is an integer.
- the total number of code blocks included in the two data units can also be different. In this way, the flexibility of the scheme can be improved.
- the data unit includes the first code block and J data code blocks; among the J data code blocks (JZ) of the code blocks carry the bits corresponding to the code blocks from a first code block stream, and the remaining Z data code blocks carry idle characters, the J is a positive integer, and the Z is zero or not greater than J Is a positive integer.
- the first code block includes one or more of the following: a header code block, an overhead code block, and a tail code block. In this way, it can be better compatible with the existing technology.
- the data unit further includes first indication information; the first indication information is used to indicate: the data unit carries The code block stream identifier corresponding to the code block from the first code block stream.
- the receiving end communication device can determine the code block stream identifier of the first code block stream corresponding to the code block from the first code block stream carried on the data unit according to the first indication information carried on the data unit.
- the code block from the first code block stream carried on the data unit can be recovered or exchanged according to the code block stream identifier.
- the first indication information is carried on the overhead code block.
- the communication device may The code block is stripped, and then the first indication information carried on the overhead code block is carried to the message header, and the bit corresponding to the data code block of the data unit is put into the message load, so as to convert the data unit into a message.
- the purpose of the message, and the header of the message carries the code block stream identifier corresponding to the code block from the first code block stream carried in the message load.
- the method further includes: obtaining L third code block streams;
- the second code block stream and the L third code block streams are time-division multiplexed based on code blocks to obtain the fourth code block stream to be sent; wherein, in the L third code block streams
- One third code block stream corresponds to at least one time slot. Since one or more second code block streams are multiplexed with one or more third code block streams again, multi-level multiplexing can be realized.
- the placing the bits corresponding to the code blocks in the Q first code block stream into the second code block stream includes: for the Q first code block stream Compression processing is performed on the first code block stream of the Q code block sequence to obtain the Q code block sequence; the bits corresponding to the code blocks in the Q code block sequence are put into the second code block stream; wherein, the Q code block sequence
- the coding type of a first code block stream in the first code block stream is M1/N1 bit coding, the M1 is a positive integer, and the N1 is an integer not less than the M1; the second code block stream is The encoding type is M2/N2; the M2 is a positive integer, and the N2 is an integer not less than the M2.
- the corresponding bit of the code block of the compressed code block sequence is carried in the second code block stream The payload area of the code block in.
- the corresponding bit of the code block of the first code block stream is carried on the second code block stream The payload area of the code block in.
- the bit corresponding to the non-synchronization header area of the code block of the first code block stream is carried in the first code block stream.
- the payload area of the code block in the second code block stream, and the second code block stream further includes second indication information, and the second indication information is used to indicate the code of the first code block stream.
- an embodiment of the present application provides a data transmission method, including obtaining a second code block stream; wherein the second code block stream includes at least Q data units; one piece of data in the second code block stream The unit carries a code block from a first code block stream; for one data unit in the Q data units, the data unit includes a first code block, and the first code block is used to determine the data unit The boundary in the second code block stream; processing the second code block stream.
- the second code block stream traverses at least one intermediate node to reach the second communication device on the demultiplexing side, the intermediate node may not need to demultiplex the second code block stream, thus reducing the cross-processing of the intermediate node.
- the number of connections can reduce the pressure on network management and operation and maintenance.
- one data unit of the second code block stream in the embodiment of the present application carries code blocks from a first code block stream
- the second code block stream passes through an intermediate node, if the Q bar of the first code In the block stream, there are at least two first code block streams with different next-hop communication devices, and when the receiving end communication device is not configured with a demultiplexing unit for demultiplexing the second code block stream, the receiving The end communication device can convert each data unit into a message through the traditional message forwarding method.
- a message only includes the corresponding bit in the first code block stream, and the message can be exchanged to The outgoing interface corresponding to the first code block stream corresponding to the message.
- the solution provided by the embodiments of this application can multiplex multiple first code block streams into one second code block stream for transmission.
- the communication device at the receiving end needs to combine at least two first code block streams.
- the traditional message forwarding method can be used, so there is no need to configure a demultiplexing unit for demultiplexing the second code block stream for each receiving end communication device , The cost can be reduced, and since there is no need to configure the demultiplexing unit for demultiplexing the second code block stream on the communication equipment of the entire network, it can be more conducive to the progressive deployment of communication equipment and easier to land.
- the data unit includes first indication information; the first indication information is used to indicate: The code block stream identifier corresponding to the bit corresponding to the code block from the first code block stream.
- the receiving end communication device can determine the code block stream identifier of the first code block stream corresponding to the code block from the first code block stream carried on the data unit according to the first indication information carried on the data unit.
- the code block from the first code block stream carried on the data unit can be recovered or exchanged according to the code block stream identifier.
- the processing the second code block stream includes: for a data unit in the second code block stream, executing: according to the data unit included in the data unit
- the first code block determines the boundary of the data unit; according to the first indication information carried on the data unit where the boundary is determined, the bit corresponding to the code block from the first code block stream carried by the data unit is determined
- the corresponding code block stream identifier from the bit corresponding to the code block from the first code block stream carried on the data unit, the code block in the first code block stream corresponding to the code block stream identifier is restored.
- the boundary of the data unit can be determined according to the first code block, and the inverse processing can be performed according to the rule of multiplexing the first code block stream into the second code block stream, so that the first code block stream can be extracted from the data unit The bit corresponding to the code block of, so as to achieve the purpose of demultiplexing the first code block stream.
- the bit corresponding to the code block from the first code block stream carried on the data unit is recovered from the first code block stream corresponding to the code block stream identifier.
- the code block further includes: according to the corresponding relationship between the code block stream identifier and the outgoing interface, exchanging the code blocks in the restored first code block stream to the outgoing interface corresponding to the code block stream identifier. In this way, the exchange of the first code block stream can be realized.
- the bit corresponding to the code block from the first code block stream carried on the data unit is recovered from the first code block stream corresponding to the code block stream identifier.
- the method further includes: performing addition and deletion operations on idle code blocks in the first code block stream according to the requirement of rate adaptation of the first code block stream. In this way, rate adaptation to the first code block stream can be achieved.
- the data unit includes the first code block and a data code block; the data code block of the data unit It is used to carry the bit corresponding to the code block from the first code block stream.
- the receiving end communication device that is not configured to demultiplex the second code block stream into the first code block stream in the existing device, and the communication device can convert a data unit into a message, and then read from the message.
- the bit corresponding to the code block from the first code block stream is recovered in the text.
- the processing the second code block stream includes: determining the first code block included in the data unit in the second code block stream The boundary of the data unit in the two code block stream; according to the first indication information carried by the data unit whose boundary is determined in the second code block stream and the bit corresponding to the data code block of the data unit, the second code block The stream is processed to obtain the packet stream corresponding to the second code block stream; wherein, for a data unit in the second code block stream, the data unit corresponds to a packet in the packet stream, and the The header of the message carries the first indication information in the data unit, and the load of the message carries at least the bits corresponding to the data code block of the data unit.
- the communication device can convert a data unit into a message.
- the method further includes: for a packet in the packet stream, executing: determining the packet by looking up a table The outgoing interface corresponding to the code block stream identifier in the header of the message; switching the message to the outgoing interface.
- the method further includes: for one message in the message stream, executing: according to the message of the message
- the first indication information carried on the header determines the code block stream identifier corresponding to the bit corresponding to the code block from the first code block stream carried by the message; the data unit carried from the load of the message Among the bits corresponding to the data code block of the code block, the code block in the first code block stream corresponding to the code block stream identifier is recovered. In this way, it can be compatible with the existing technology, and the bits corresponding to the first code block stream can be recovered in a message manner.
- the processing the second code block stream includes: exchanging the second code block stream according to a time slot and an outgoing interface corresponding to the second code block stream To the time slot and the outbound interface. Therefore, the number of cross-connections to be processed by intermediate nodes can be reduced, and the pressure on network management and operation and maintenance can be reduced.
- the processing the second code block stream includes: according to the requirement of rate adaptation of the second code block stream, in the adjacent second code block stream Addition and deletion of free code blocks between two data units. In this way, the rate adaptation operation for the second code block stream can be realized.
- the number of code blocks included in the two data units is the same. In this way, the data processing flow of the communication device can be simplified.
- the number of code blocks included in one data unit is an integer.
- the total number of code blocks included in the two data units can also be different. In this way, the flexibility of the scheme can be improved.
- the data unit includes the first code block and J data code blocks (JZ) of the J data code blocks carry bits corresponding to the code block from a first code block stream, and the remaining Z data code blocks carry idle characters, the J is a positive integer, so Said Z is zero or a positive integer not greater than J.
- JZ J data code blocks
- the first code block includes one or more of the following: a header code block, an overhead code block, and a tail code block. In this way, it can be better compatible with the existing technology.
- the coding type of one first code block stream in the Q first code block stream is M1/N1 bit coding, where M1 is a positive integer, and N1 is not less than The integer of the M1; the coding type of the second code block stream is M2/N2; the M2 is a positive integer, and the N2 is an integer not less than the M2; the pair of the second code block stream
- the processing includes: for a data unit in the second code block stream, executing: obtaining from the data unit the bit corresponding to the code block in the first code block stream carried by the data unit; Decompress the acquired code blocks from the first code block stream carried by the data unit to obtain the code blocks in the first code block stream corresponding to the data unit. In this way, data transmission efficiency can be further improved, packaging efficiency can be improved, and excessive bandwidth expansion introduced by layer-by-layer packaging can be avoided.
- the corresponding bit of the code block of the first code block stream is carried on the second code block stream
- the payload area of the code block in.
- the bit corresponding to the non-synchronization header area of the code block of the first code block stream is carried in the first code block stream.
- the payload area of the code block in the second code block stream, and: the second code block stream further includes second indication information, and the second indication information is used to indicate the value of the first code block stream. It can further improve the data transmission efficiency, improve the packaging efficiency, and avoid the introduction of excessive bandwidth expansion by layer-by-layer packaging.
- the obtaining of the second code block stream includes: obtaining a fourth code block stream; performing code block-based time division multiplexing on the fourth code block stream to obtain the L-th code block stream.
- Three code block streams and a second code block stream wherein, the second code block stream corresponds to at least one time slot; one of the L third code block streams corresponds to at least one time slot;
- One second service in the L second services corresponds to one third code block stream in the L third code block streams.
- a communication device including a transceiving unit and a processing unit, so as to execute any implementation manner of any communication method of the first aspect to the second aspect.
- the transceiver unit is used to perform functions related to sending and receiving.
- the transceiver unit includes a receiving unit and a sending unit.
- the communication device is a communication chip, and the transceiver unit may be an input/output circuit or port of the communication chip.
- the transceiver unit can be a transmitter and a receiver, or the transceiver unit can be a transmitter and a receiver.
- the communication device further includes various modules that can be used to execute any one of the implementation manners of any one of the foregoing first aspect to the second aspect.
- a communication device is provided, and the communication device is a network device. Including processor and memory.
- the memory is configured to store program code; the processor is configured to call the program code from the memory to execute the method described in the first aspect or the second aspect.
- an embodiment of the present application provides a communication device.
- the communication device includes a processor, a memory, and a transceiver.
- the transceiver is used to receive signals or send signals; and the memory is used to store program codes;
- the processor is configured to call the program code from the memory to execute the method described in the first aspect or the second aspect.
- the memory is used to store computer programs or instructions, and the processor is used to call and run the computer programs or instructions from the memory.
- the communication device is made to execute the first aspect described above. To any implementation of any communication method of the second aspect.
- processors there are one or more processors, and one or more memories.
- the memory may be integrated with the processor, or the memory and the processor may be provided separately.
- the transceiver may include a transmitter (transmitter) and a receiver (receiver).
- a communication device including a processor.
- the processor is coupled with the memory, and can be used to execute any one of the first aspect to the second aspect, and the method in any one of the first aspect to the second aspect.
- the communication device further includes a memory.
- the communication device further includes a communication interface, and the processor is coupled with the communication interface.
- the communication device is a communication device.
- the communication interface may be a transceiver or an input/output interface.
- the transceiver may be a transceiver circuit.
- the input/output interface may be an input/output circuit.
- the communication device is a chip or a chip system.
- the communication interface may be an input/output interface, interface circuit, output circuit, input circuit, pin or related circuit on the chip or chip system.
- the processor may also be embodied as a processing circuit or a logic circuit.
- an embodiment of the present application provides a communication device.
- the communication device includes a processor and an interface circuit.
- the interface circuit is configured to receive code instructions and transmit them to the processor; the processor runs the Code instructions to perform the corresponding method as shown in the first aspect or the second aspect.
- a system in an eighth aspect, includes the above-mentioned receiving end communication device and the sending end communication device.
- a communication device can be both a sending-end communication device and a receiving-end communication device.
- a computer program product includes: a computer program (also called code, or instruction), which when the computer program is executed, enables the computer to execute any one of the above-mentioned first aspects. Or make the computer execute the method in any one of the foregoing first aspect to the second aspect.
- a computer program also called code, or instruction
- a computer-readable storage medium stores a computer program (also called code, or instruction) when it runs on a computer, so that the computer executes any of the above-mentioned first aspects.
- the method in one possible implementation manner, or the computer is allowed to execute the method in any one of the foregoing implementation manners of the first aspect to the second aspect.
- a communication device including: an input circuit, an output circuit, and a processing circuit.
- the processing circuit is configured to receive a signal through the input circuit and transmit a signal through the output circuit, so that any one of the first aspect to the second aspect, and any one of the first aspect to the second aspect is possible
- the method in the implementation mode is implemented.
- the above-mentioned processing device may be a chip
- the input circuit may be an input pin
- the output circuit may be an output pin
- the processing circuit may be a transistor, a gate circuit, a flip-flop, and various logic circuits.
- the input signal received by the input circuit may be received and input by, for example, but not limited to, a receiver, and the signal output by the output circuit may be, for example, but not limited to, output to the transmitter and transmitted by the transmitter, and the input circuit and output
- the circuit can be the same circuit, which is used as an input circuit and an output circuit at different times.
- the embodiments of the present application do not limit the specific implementation manners of the processor and various circuits.
- Figure 1a is a schematic diagram of a communication system based on a flexible Ethernet protocol
- FIG. 1b is a schematic diagram of a communication system architecture provided by an embodiment of this application.
- FIG. 1c is a schematic diagram of the internal structure of a communication device provided by an embodiment of this application.
- FIG. 1d is a schematic flowchart of a data transmission method provided by an embodiment of this application.
- FIG. 2a is a schematic diagram of the structure of a code block of a 64B/66B encoding format defined in a standard provided by an embodiment of the application;
- Figure 2b is a structural form of a free code block provided by an embodiment of the application.
- FIG. 2c is a schematic diagram of a structure form of a code block provided by an embodiment of this application.
- FIG. 2d is a schematic diagram of a structure form of a code block provided by an embodiment of this application.
- FIG. 2e is a schematic diagram of a structure form of a code block provided by an embodiment of this application.
- 2f is a schematic structural diagram of a FlexeE frame format provided by an embodiment of the application.
- 2g is a schematic structural diagram of a FlexeE frame format provided by an embodiment of the application.
- FIG. 3a is a schematic diagram of a structure form of a second data unit provided by an embodiment of this application.
- FIG. 3b is a schematic structural diagram of mapping the second code block stream shown in FIG. 3a to the time slot shown in FIG. 2g;
- 4a is a schematic diagram of a structure in which the bits corresponding to the code blocks of the first code block stream 313 are put into the data unit 311 of the second code block stream 301;
- FIG. 4b is a schematic structural diagram of another second code block stream provided by an embodiment of this application.
- FIG. 4c is a schematic diagram of a compression processing method provided by an embodiment of the application.
- FIG. 4d is a schematic diagram of a compression processing method provided by an embodiment of the application.
- FIG. 5a is a schematic structural diagram of a communication device provided by an embodiment of this application.
- FIG. 5b is a schematic structural diagram of a communication device provided by an embodiment of this application.
- FIG. 6 is a schematic structural diagram of a communication device provided by an embodiment of this application.
- FIG. 7 is a schematic structural diagram of another communication device provided by an embodiment of this application.
- FIG. 8 is a schematic structural diagram of another communication device provided by an embodiment of this application.
- the communication device may be a network device or a chip set inside the network device.
- the network device may be, for example, a communication device at the edge of an operator's network (hereinafter referred to as a network) in a FlexE network, or a communication device in an operator's network (hereinafter referred to as a network).
- the communication equipment at the edge of the operator's network can be called Provider Edge node in English, or PE node for short, and the communication equipment in the operator's network can be called Provider node in English, or P node for short.
- the P node can also be called an intermediate node.
- the communication device can also be used as a client device to access other bearer networks, such as Optical Transport Network (OTN) or Wavelength Division Multiplexing (WDM), etc., and can also be a base station (e.g., base station NodeB, evolution ENodeB, network equipment in the fifth generation (5G) communication system (such as transmission point (TP), transmission reception point (TRP), base station, small cell equipment, etc.), The network equipment in the future communication system, the access node in the WiFi system, the wireless relay node, and the wireless backhaul node, etc.
- 5G fifth generation
- TP transmission point
- TRP transmission reception point
- base station small cell equipment, etc.
- the network equipment in the future communication system the access node in the WiFi system, the wireless relay node, and the wireless backhaul node, etc.
- Fig. 1b exemplarily shows a schematic diagram of a communication system architecture provided by an embodiment of the present application.
- the communication system may include two types of communication devices, namely, a communication device serving as a P node and a communication device serving as a PE node. communication device.
- communication device one 1011, communication device four 1014 may belong to a PE node, and communication device two 1012 and communication device three 1013 may belong to a P node.
- One side of the communication device 1011 may be connected to a user device through a user-side interface (User network interface, UNI) 1501, or may be connected to a client network device.
- One side of the communication device 4 1014 can be connected to the user equipment through the UNI1803, and can also be connected to the customer network equipment.
- Communication device one 1011, communication device two 1012, communication device three 1013, and communication device four 1014 may be connected to each other through a network side interface (Network to Network Interface, NNI).
- NNI Network to Network Interface
- the NNI1504 of the communication device one 1011 is connected to the NNI1601 of the communication device two 1012
- the NNI1603 of the communication device two 1012 is connected to the NNI1701 of the communication device three 1013
- the NNI1703 of the communication device three 1013 is connected to the NNI1801 of the communication device four 1014.
- the two communication equipment 1012 and the communication equipment three 1013 are schematically shown as P nodes, and those skilled in the art may know that there may be one or more P node communication equipment between the two PE nodes.
- the communication device in the embodiment of this application can be used to send data and can also be used to receive data. That is to say, a communication device can be used as the sending end communication device in the embodiment of this application, and can also be used as the receiving device in the embodiment of this application.
- the end communication device such as the communication device three 1013 in Figure 1b, can be used to send the code block stream 1301 when the communication device three 1013 is used as the transmitting end communication device, and when the communication device three 1013 is used as the receiving end communication device, it can be used to receive communication device two 1012.
- the code block stream 1114 can be used as the above-mentioned communication device 1011 in FIG. 1b can be used as a transmitting-end communication device for sending a code block stream 1114, or as a receiving-end communication device for receiving a data stream sent by other devices.
- FIG. 1d exemplarily shows a schematic flowchart of a data transmission method provided by an embodiment of the present application.
- the sending end communication device can perform step 4101 and step 4102.
- Step 4101 The communication device at the transmitting end obtains the first code block stream of Q bars, where the Q is an integer greater than 1.
- Step 4102 The transmitting-end communication device puts the bits corresponding to the code blocks in the Q first code block stream into the second code block stream.
- the second code block stream includes at least Q data units; one data unit of the second code block stream carries a code block from a first code block stream.
- the data unit includes a first code block, and the first code block is used to determine that the data unit is in the The boundary in the second code block stream.
- the Q first code block stream is multiplexed (multiplexing can also be called interleaving, and English can also be written as Interleaving) as a second code block stream for transmission
- the intermediate node may not need to demultiplex the second code block stream. Therefore, the transmission scheme of multiplexing the Q first code block stream into a second code block stream can be reduced.
- the number of cross-connections that intermediate nodes need to handle can also reduce the pressure on network management and operation and maintenance.
- one data unit of the second code block stream described in the embodiment of the present application carries code blocks from a first code block stream
- the second code block stream passes through an intermediate node, if the Q-th
- the next hop communication devices are different, and when the receiving end communication device is not configured with a demultiplexing unit for demultiplexing the second code block stream ,
- the receiving end communication device can convert each data unit into a message through the traditional message forwarding method, and a message only includes the corresponding bit in the first code block stream, and then the message can be Switch to the outgoing interface corresponding to the first code block stream corresponding to the message.
- the solution provided by the embodiments of this application can multiplex multiple first code block streams into one second code block stream for transmission.
- the communication device at the receiving end needs to combine at least two first code block streams.
- the traditional message forwarding method can be used, so there is no need to configure a demultiplexing unit for demultiplexing the second code block stream for each receiving end communication device , The cost can be reduced, and since there is no need to configure the demultiplexing unit for demultiplexing the second code block stream on the communication equipment of the entire network, it can be more conducive to the progressive deployment of communication equipment and easier to land.
- the transmitting end communication device can directly send the second code block stream, or it can send the second code block stream and other code block streams (such as other second code block streams and/or the second code block stream).
- Three code block streams) are multiplexed again (this multiplexing may also be referred to as two-level multiplexing), and the multiplexed code block streams are sent out.
- the transmitting end communication device may also perform steps 4103 and 4104 after performing step 4102 above.
- Step 4103 The sending end communication device obtains L third code block streams.
- Step 4104 The transmitting end communication device performs time division multiplexing based on the code block on the second code block stream and the L third code block stream to obtain a fourth code block stream to be sent; wherein, the L code block stream One third code block stream in the third code block stream corresponds to at least one time slot.
- the second code block stream corresponds to at least one time slot.
- the second code block stream and the third code block stream may be multiplexed into a fourth code block stream based on time division multiplexing.
- each code block stream in the second code block stream and the third code block stream can be allocated one or more time slots, according to the time slot corresponding to each code block stream, according to the order of the time slots , Multiplex the second code block stream and the third code block stream into a fourth code block stream.
- L third code block streams can be multiplexed with one second code block stream is described.
- the third code block stream can be multiplexed with one or more The second code block stream is multiplexed. Since one or more second code block streams are multiplexed with one or more third code block streams again, multi-level multiplexing can be realized.
- the above steps 4101 to 4104 describe the corresponding methods executed by the sending end communication device.
- the embodiment of the present application also provides a method executed by the receiving end communication device.
- the receiving end communication device may perform step 4105'.
- Step 4105 The receiving end communication device obtains the second code block stream, and processes the second code block stream.
- the receiving end communication device may directly receive the second code block stream sent by the sending end communication device. In another optional implementation manner, the receiving end communication device may obtain the second code block by performing step 4106 flow.
- Step 4106 The receiving end communication device receives the fourth code block stream sent by the sending end communication device; performing code block-based time division multiplexing on the fourth code block stream to obtain L third code block streams and second codes Block flow.
- step 4106 the receiving end communication device performs code block-based time division multiplexing on the fourth code block stream, such as FlexE-based time division multiplexing, based on each of the second code block stream and the third code block stream.
- the allocated time slot is demultiplexed from the fourth code block stream to obtain each of the second code block stream and the third code block stream.
- the communication device 1101 receives three first code block streams through UNI1501, namely, the first code block stream 1201, the first code block stream 1202, and the first code block stream 1203.
- the first communication device also receives two third code block streams, which are the third code block stream 1112 and the third code block stream 1113 respectively.
- the three first code block streams and the two third code block streams can be processed by the exchange and rate adaptation unit 1502, for example, rate adaptation operations can be performed. After that, the three first code block streams enter the multiplexing unit 1503 for processing.
- the multiplexing unit 1503 multiplexes the three first code block streams into a second code block stream 1111, wherein the downstream of the three first code block streams One hop is the same, and both are communication equipment two 1012.
- the NNI1504 of the communication device 1011 can reuse the second code block stream 1111, the third code block stream 1112, and the third code block stream 1113 to obtain a fourth code block stream 1114, where the second code block stream and The next hops of the two third code block streams are the same, and both are communication device two 1012.
- the first communication device 1011 outputs the fourth code block stream 1114 to the next hop communication device 1012.
- a multiplexing unit may be configured in the NNI for re-multiplexing the second code block stream and the third code block stream. If there is no third code block stream, the communication device can also directly send the second code block stream.
- the second communication device 1012 receives the fourth code block stream 1114 through the NNI1601, it can perform one-level demultiplexing to obtain the second code block stream 1111, the third code block stream 1112, and the third code block stream. 1113.
- the NNI may also be configured with a demultiplexing unit for demultiplexing the fourth code block stream into the second code block stream and the third code block stream.
- the second communication device 1012 can perform rate adaptation and other operations on the three code block streams through the exchange and rate adaptation unit 1602, and then multiplex the three code block streams into a fourth code block stream 1114 through the NNI1603, and combine the first
- the four-code block stream 1114 is output to the next-hop communication device three 1013. It can be seen that the second code block stream can be directly penetrated inside the communication device two, and there is no need to demultiplex the second code block stream into multiple first code block streams, thereby saving the data processing amount of the intermediate node communication device two .
- the second code block stream when the second code block stream passes through the intermediate node, if the next hop communication device of the first code block stream of Q is the same, the second code block stream can pass through the intermediate node as a whole, such as the above-mentioned first code block stream.
- the two code block stream 1111 passes through the example of the communication device two 1012. If there are at least two first code block streams in the Q first code block stream with different next hop communication devices, when the second code block stream passes through the intermediate node, it may need to be processed at the intermediate node to enable The first code block stream of the Q bar enters the respective corresponding intermediate nodes, such as the example of the solution executed by the communication device three 1013 mentioned in the following content.
- the demultiplexing unit 1704 may demultiplex the second code block stream 1111 into a first code block stream 1201, a first code block stream 1202, and a first code block stream 1203.
- the next hop of the first code block stream 1201 is different from the next hop of the first code block stream 1202, the next hop of the first code block stream 1202 is the same as the next hop of the first code block stream 1203, and the communication device has three possibilities A first code block stream 1204 is also received, and the next hop of the first code block stream 1204 is the same as the next hop of the first code block stream 1203. It can be seen that the communication device three 1013 needs to switch the first code block stream 1201 to the corresponding outgoing interface, and the next hop of the first code block stream 1201 is not shown in FIG. 1b.
- the communication device 3 1013 can transfer the first code block stream 1202, the first code block stream 1203, and the first code block stream 1203 to the first code block stream 1203.
- a code block stream 1204 is multiplexed again by the multiplexing unit 1705 to obtain a second code block stream 1205 for transmission.
- the communication device three 1013 may continue to multiplex the second code block stream 1205 with the third code block stream 1112 and the third code block stream 1113 exchanged to the network side interface 1703 into a fourth code block stream 1301 again. And output the fourth code block stream 1301 to the next hop communication device 291014.
- the communication device four 1014 receives the fourth code block stream 1301 through NNI1801, it can perform one-level demultiplexing to obtain a second code block stream 1205, a third code block stream 1112, and a third code block. Stream 1113.
- a demultiplexing unit 1804 is configured in the communication device four 1014.
- the demultiplexing unit 1804 may demultiplex the second code block stream 1205 into a first code block stream 1202, a first code block stream 1203, and a first code block stream 1204.
- the three first code block streams and the two third code block streams obtained by demultiplexing are processed by the exchange and rate adaptation unit 1802, and they are exchanged to the corresponding outgoing interface of each code block stream.
- Fig. 1c exemplarily shows a schematic diagram of the internal structure of a communication device provided by an embodiment of the present application.
- the communication device 2111 may include a flexible Ethernet layer (FlexE Shim) 2011 and the lower half of a physical coding sublayer. (physical coding sublayer lowpart, PCS lowpart) 2012, and physical medium attachment sublayer (PMA) 2013.
- the multiplexing unit and demultiplexing unit can be set before the FlexE shim (such as the left side of the FlexE shim in the figure) (for example, for example, three first code block streams can pass through the multiplexing unit and then FlexE shim 2011, or the second code
- the block stream can be output to the demultiplexing unit via FlexE shim2011 to demultiplex each first code block stream), or the multiplexing unit and demultiplexing unit can be directly inserted into the PCS lowpart like FlexE to realize the Ethernet Time slotting of the network interface.
- the flexible Ethernet layer (FlexE Shim) 2011 in the communication equipment may or may not exist.
- the flexible Ethernet layer (FlexE Shim) 2011 can be divided into flexible granular pipes for FlexE K*5Gbps pipes, and flexible Ethernet
- flexible granular pipes can be divided for Ethernet interfaces.
- the following is a description of any one of the Q first code block stream, the second code block stream, the third code block stream, and the fourth code block stream, and the Q first code block involved in the embodiments of this application. Introduce one code block in any one of the barcode block stream in the stream, the second code block stream, the third code block stream, and the fourth code block stream. Unless otherwise specified, the following description of the code block stream is applicable to any one of the first code block stream, the second code block stream, the third code block stream, and the fourth code block stream. Unless otherwise specified, the following description of code blocks is applicable to any one of the first code block stream, the second code block stream, the third code block stream, and the fourth code block stream.
- the code block stream (such as the first code block stream and the second code block stream) defined in the embodiments of the present application may refer to a data stream in units of code blocks.
- the code block (for example, the code block in the first code block stream and the code block in the second code block stream) can be written as Bit Block in English, or as Block in English.
- a preset number of bits in a bit stream (the bit stream may be encoded or before encoding) may be referred to as a code block (the code block may also be referred to as a bit group or bit block).
- 1 bit may be referred to as a code block, and for another example, 2 bits may be referred to as a code block.
- the code block defined in the embodiment of the present application may be a code block obtained after encoding a bit stream using an encoding type.
- Fig. 2a exemplarily shows the structure diagram of the code block of the 64B/66B coding format defined in the standard
- Fig. 2b also exemplarily shows the structure form of the idle code block.
- this code block is defined by the IEEE Std 802.3-2018. IEEE Standard for Ethenet SECTION SIX standard.
- the sync header area of the code block includes the 0th bit and the first bit of the code block. There are two cases of the sync header area of the code block, which are 01 and 10 respectively.
- a code block with a sync header of 01 is called a data code block, and a data code block can be written as a D code block; a sync header of 10 is called a control code block.
- the field D0 of the control code block occupies 8 bits and can be called the type field of the control code block (the type field can be written as the type field).
- Control code blocks can include: header code block, tail code block, ordered set code block (can also be written as O code block), idle code block (idle code block can also be written as IDLE code block), error code block (error code Blocks can also be written as error code blocks), low-power code blocks, and so on.
- the header code block in the embodiment of the present application may refer to a code block with a sync header of 10 and a type of 0x78, which may be written as an S code block.
- the tail code block in the embodiment of the present application can be written as a T code block, including the code blocks with a sync header of 10 in FIG.
- the O code block in the embodiment of the present application is a code block with a sync header of 10 and a type of 0x4B in FIG. 2a.
- the control code blocks other than the S code block and the T code block in the control code block may be written as the C code block.
- the code blocks involved in the embodiments of this application are illustrated by taking the code block structure forms shown in FIG. 2a and FIG. 2b as examples, but the embodiments of this application are also applicable to code block forms defined by other standards, such as 8B /10B, 256B/257B, etc.
- Fig. 2c, Fig. 2d and Fig. 2e exemplarily show schematic diagrams of the structure forms of three code blocks.
- One code block may only include the asynchronous header area, and one code block may also include the asynchronous header area and the sync header area.
- the non-synchronous header area of a code block may only include the payload area, and the non-synchronous header area of a code block may also include the non-payload area and the payload area. As shown in FIG.
- the code block 4200 in the embodiment of the present application is a data code block
- the information carried by the sync header area 4301 included in the code block 4200 is "SH01”
- "SH01" means that the type of the code block 4200 is a data type.
- the asynchronous header area 4302 includes a payload area 4303.
- the non-synchronous header area of the data code block is all the payload area, such as the payload area as shown in Figure D0 to D7.
- the code block 4200 in the embodiment of the present application is an O code block
- the information carried by the sync header area 4301 included in the O code block 4200 is "SH10".
- SH10 means that the type of the code block 4200 is control.
- the non-synchronization header area 4302 includes a payload area 4303 and a non-payload area 4304.
- the non-payload area 4304 can be used for bearer type fields "0x4B", "O0" and reserved fields "C4 ⁇ C7", reserved fields " C4 ⁇ C7” can all be filled with "0x00".
- "O0" can be filled with characteristic command words related to the prior art such as "0x0", “0xF” or “0x5" and “0xA”, "0x9” or “0x3” are not used in the prior art
- the characteristic command word is different from the prior art, and the content filled in the "O0" field can be used to indicate some information.
- the header code block in the embodiment of the present application may also refer to a code block including S in the characters of the code block, or a new code block such as a newly defined O code block.
- the code block 4200 in the embodiment of the present application is an IDLE code block, and the information carried by the sync header area 4301 included in the code block 4200 is "SH10", and "SH10" means that the type of the code block 4200 is a control type.
- the asynchronous header area 4302 is used to carry the type field "0x1E", and the content carried by the other fields "C0 ⁇ C7" of the asynchronous header area 4302 is "0x00".
- Fig. 2f and Fig. 2g exemplarily show a schematic structural diagram of a FlexeE frame format provided by an embodiment of the present application.
- a fixed frame format can be constructed based on the transmission of a physical port based on the flexible Ethernet protocol, and time-division-based Time Division Multiplexing (TDM) time slot division.
- TDM Time Division Multiplexing
- One or more time slots can be allocated to one of the second code block stream and the third code block stream.
- the time slot division granularity of FlexE can be 66B, corresponding to a 64B/66B coding block.
- the data code block stream can be composed of 64B/66B code blocks with a period of 20, corresponding to 20 time slots, and each time slot has a bandwidth of 5G, which is called a slot.
- the 64B/66B in the embodiment of the present application can be understood as a 64-bit bit block and a 66-bit coding block obtained by encoding it.
- the flexible Ethernet can be based on the time division multiplexing frame structure constructed by 64B/66B code blocks.
- the data on each FlexE PHY is aligned by periodically inserting overhead (OH) code blocks.
- OH overhead
- one 66B overhead code block can be inserted every 1023 x 20 66B payload data code blocks (overhead code blocks are in In some application scenarios, it can also be written as OH code block, FLexE OH or FLexE OH code block).
- 8 lines (each line includes 1 OH code block + 1023 x 20 Data) of 66B code blocks constitute a protocol frame under the flexible Ethernet protocol, as shown in Figure 2f and Figure 2g Shown.
- the 32 protocol frames under the flexible Ethernet protocol constitute a multi-frame under the flexible Ethernet protocol.
- each FlexE frame contains 8 FlexE lines and 8 OH code blocks.
- the first OH code block of a FlexE frame is an order-set code block (also called an O code block), and the second OH code block and the third OH code block are data code blocks ( It can be called D code block), the remaining OH code block has not been defined in the standard, so the code block type in Figure 2g is filled with X.
- the third OH code block of the 8 OH code blocks in each FlexE frame can be used to transmit FlexE Calendar.
- a FlexE multiframe contains 32 FlexE frames, and the first 20 FlexE frames transmit 20 FlexE frames. The calendar of the slot, the following 12 FlexE frames have no calendar to transmit, and can become a reserved field.
- the Q first code block streams may be multiplexed into a second code block stream based on time division multiplexing.
- the second code block stream and the third code block stream may also be multiplexed into the fourth code block stream based on time division multiplexing.
- the third code block stream corresponds to at least one time slot.
- the second code block stream corresponds to at least one time slot.
- the embodiment of the present application also involves the concept of sub-slots. A sub-slot is divided into one time slot, and one time slot can be divided into at least two sub-slots. The bandwidth of the sub-slot is smaller than the bandwidth of the slot.
- a time slot mentioned in the embodiment of the present application may refer to a time slot that occupies a certain bandwidth, for example, a time slot that occupies a 5G bandwidth defined in FlexE.
- a time slot that occupies a 5G bandwidth defined in FlexE For ease of introduction, the embodiment of the present application takes FlexE as an example for introduction. If there are other standards that define time slots with other bandwidths, the embodiments of the present application are also applicable.
- one second code block stream corresponds to one time slot, and one time slot may be divided into F sub-time slots.
- multiple time slots may be selected to be divided together, for example, multiple time slots as a whole are divided into F sub-time slots together.
- the bandwidth of the sub-slot may be smaller than the bandwidth of the timeslot.
- one timeslot is divided into at least two sub-slots.
- the Q first code block stream When the first code block stream is carried through sub-slots (for example, a second code block stream corresponds to a time slot, the Q first code block stream can be mapped to a time slot for transmission, and the Q first code block Streams occupy one time slot together. If the bandwidth of a time slot is 5G, the Q first code block stream occupies a total of 5G bandwidth), and the bandwidth granularity occupied by each first code block stream can be smaller, which can be realized The purpose of carrying data through more fine-grained sub-timeslots and improving bandwidth utilization can better meet the demand for flexible rate service or low-speed service access in practical applications, and reduce bandwidth waste.
- the transmitting-end communication device may divide the Q first code block stream into the corresponding relationship between the Q first code block stream and the F sub-slots.
- the bit corresponding to the code block is put into the second code block stream.
- One first code block stream in the Q first code block streams corresponds to one or more sub-slots of the F sub-slots.
- the F is an integer not less than the Q. For example, a time slot is divided into sub-slot 0, sub-slot 1, and sub-slot 2. If there are three first code block streams, one sub-slot can be allocated to each first code block stream. It is also possible to assign multiple sub-slots to a first code block stream.
- first code block stream For example, if there are two first code block streams, one of them can be assigned sub-slot 0 and sub-slot 2, and the other first code block stream can be assigned sub-slots. Time slot 1. The number of sub-slots allocated to each first code block stream can be allocated according to specific requirements.
- Sub-slots can be identified, and sub-slots can also be sorted. For example, if there are 32 sub-slots, the sorting from sub-slot 0 to sub-slot 31 is sorted according to the identifiers of sub-slots, and the identifiers of sub-slots are 0 to 31.
- the transmitting-end communication device may sequentially and cyclically obtain the bits corresponding to the code blocks in the first code block stream corresponding to sub-slot 0 to sub-slot 31 according to the ordering of sub-slot 0 to sub-slot 31.
- Fig. 3a exemplarily shows a structure of a second data unit provided by an embodiment of the present application. In Fig.
- the data unit 311 corresponds to sub-slot 0
- the data unit 321 corresponds to the sub-slot 1
- the data unit 331 corresponds to the sub-slot 2
- the data unit 341 corresponds to the sub-slot 4. According to the corresponding relationship between the sub-slot and the first code block stream, the bit corresponding to the code block of the first code block stream can be put into the data unit corresponding to the sub-slot corresponding to the first code block stream, as shown in Figure 3a.
- the first code block stream 313 is allocated sub-slot 0 and sub-slot 4, the first code block stream 323 is allocated with sub-slot 2 and the first code block stream 333 is allocated with sub-slot 3.
- one sub-slot can correspond to multiple data units, and one data unit corresponds to one sub-slot.
- data unit 311 corresponds to sub-slot 0, and sub-slot 0 can correspond to data unit 311. ⁇ unit 322. If the sub-slot 0 is allocated to the first code block stream 313, both the data unit 311 and the data unit 322 carry the bits corresponding to the code block from the first code block stream 313. This example is not shown in the figure. In this way, one data unit can only carry one code block in the first code block stream.
- the bit corresponding to a code block in a first code block stream is not enough for one data unit, some characters, such as idle characters, or some other control information can be filled in the data unit. That is to say, for a data unit of the second code block stream, the data unit may carry some padding bits in addition to the bits corresponding to the code block from the first code block stream.
- the padding bits may refer to The above idle characters or bits corresponding to other control information.
- the data unit includes the first code block and J data code blocks; among the J data code blocks (JZ) of the code blocks carry the bits corresponding to the code blocks from a first code block stream, and the remaining Z data code blocks carry idle characters, the J is a positive integer, and the Z is zero or not greater than J Is a positive integer.
- the data unit includes the first code block and J data code blocks; the J data code blocks carry V bits corresponding to a code block from a first code block stream, V is less than or equal to J. V is a positive integer.
- one data unit of the second code block stream includes J data code blocks, and the J data code blocks can carry K bits corresponding to the code blocks in the first code block stream.
- V code blocks are put into J data code blocks, and when they are not full, some idle characters and other contents can be filled.
- the multiplexing scheme a1 the multiplexing scheme a2
- the multiplexing scheme a3 in the following content.
- the FlexE interface currently can only divide the pipeline with a granularity of K*5Gbps (K is a positive integer not greater than 20), where * means multiplication. In practical applications, more flexible pipeline bandwidth is usually required.
- the TDM multiplexing section is divided in the existing FlexE interface K*5Gbps pipeline.
- One data unit is used as the multiplexing unit, and N *64B/66B code blocks, a data unit can correspond to a sub-time slot, TDM multiplexing to achieve smaller granularity.
- multiple first code block streams can be separately encapsulated to form a fixed-length frame of N*64B/66B and then TDM multiplexed to form a multiplexing period of P
- the multiplex section is transmitted in the K*5Gbps FlexE pipeline, thereby dividing the K*5Gbps pipeline into P Granular sub-slots.
- the number of sub-slots M can be selected for a first code block stream to obtain a flexible granular pipeline bandwidth that matches the service bandwidth:
- P is a positive integer not less than Q.
- M is a positive integer.
- each fixed-length encapsulated data unit can carry 31 data code blocks and an overhead. Code block.
- an idle code block can be reserved after the tail code block.
- the transmission efficiency is 88.6% (31/35).
- Fig. 3a exemplarily shows a structure of a second data unit provided by an embodiment of the present application.
- the first code block stream 313, the first code block stream 323, and the first code block stream 333 are combined. Multiplexed into a second code block stream 301.
- the second code block stream 301 includes multiple data units, such as a data unit 311, a data unit 321, a data unit 331, and a data unit 341.
- the data unit in the embodiment of the present application includes the first code block.
- the first code block may include one or more of a head code block, an overhead code block, and a tail code block. In this way, it can be better compatible with the existing technology.
- the first code block is used to define the boundary of a data unit. In this way, after receiving the second code block stream, the receiving end communication device can determine a data unit boundary according to the first code block.
- the number of code blocks included in the two data units is the same. In this way, the data processing flow of the communication device can be simplified.
- the number of code blocks included in one data unit is an integer.
- the total number of code blocks included in the two data units can also be different. In this way, the flexibility of the scheme can be improved.
- the bit corresponding to the code block of the first code block stream can be put into the asynchronous header area of the code block of the data unit, for example, when the data unit includes Header code block, overhead code block, data code block and tail code block, the bit corresponding to the code block of the first code block stream can be placed in the non-synchronized header area of the data unit, and can also be placed in the head code block One or more of the non-synchronized area, the non-synchronized header area of the overhead code block, and the non-synchronized area of the tail code block.
- the bits corresponding to the code block of the first code block stream may be put into the payload area of the asynchronous header area of the code block of the data unit. In yet another optional implementation manner, the bit corresponding to the code block of the first code block stream may be placed in the asynchronous header area of the data code block of the data unit.
- a data unit of the second code block stream carries a code block from a first code block stream. That is, one data unit only carries one code block in the first code block stream.
- the data unit 311 carries the bits corresponding to the code blocks in the first code block stream 313.
- the data unit 321 carries the bits corresponding to the code blocks in the first code block stream 323.
- the data unit 331 carries the bits corresponding to the code blocks in the first code block stream 333.
- adjacent data units of the second code block stream include R idle code blocks, and the R is zero or a positive integer.
- the R idle code blocks are used to perform a deletion operation of idle code blocks when performing rate adaptation on the second code block stream.
- the number of IDLE code blocks between adjacent data units of the second code block stream can be a variable and can be adjusted according to specific application scenarios. As shown in Figure 3a, for example, one IDLE is reserved between the data unit 311 and the data unit 321, two IDLEs are reserved between the data unit 321 and the data unit 331, and the data unit 331 and the data unit 351 are reserved between An IDLE. Of course, the number of IDLEs reserved between data units can also be zero.
- IDLE can be added between data units, or IDLE between data units can be deleted. That is to say, because the bits corresponding to the code blocks of the original first code block stream are encapsulated in the data unit, and IDLE additions and deletions only involve IDLE between data units, so IDLE additions and deletions will not affect the first code
- the bit corresponding to the IDLE code block in the block stream also maintains the integrity of the original first code block stream.
- the inside of a data unit in the second code block stream may optionally include some IDLE code blocks, in addition to the header code block, the overhead code block, the tail code block, and the data code block.
- the position in the data unit can be pre-configured or random.
- some other code blocks such as data code blocks, S code blocks, and so on, can also be configured.
- Fig. 3b exemplarily shows a schematic structural diagram of mapping the second code block stream shown in Fig. 3a to the time slot shown in Fig. 2g.
- the second code block stream corresponds to time slot 1
- the second code block stream The code blocks of the code block stream can occupy sub-slots in time slot 1 in sequence.
- the data unit further includes first indication information.
- the receiving end communication device can determine the code block stream identifier of the first code block stream corresponding to the code block from the first code block stream carried on the data unit according to the first indication information carried on the data unit.
- the code block from the first code block stream carried on the data unit can be recovered or exchanged according to the code block stream identifier.
- the first indication information is used to indicate: the code block stream identifier corresponding to the code block from the first code block stream carried by the data unit.
- the first indication information may be placed on the first code block.
- the first indication information is carried in the overhead code block.
- the communication device may The code block is stripped, and then the first indication information carried on the overhead code block is carried to the message header, and the bit corresponding to the data code block of the data unit is put into the message load, so as to convert the data unit into a message.
- the purpose of the message, and the header of the message carries the code block stream identifier corresponding to the code block from the first code block stream carried in the message load.
- Table 1 exemplarily shows a schematic structural diagram of information carried by an overhead code block. As shown in Table 1, the first indication information may be carried in the ClientID field of the overhead code block.
- Table 1 Schematic diagram of the structure of an overhead code block carrying information
- step 4102 there are multiple multiplexing schemes, and the following are respectively introduced through the following multiplexing scheme a1, multiplexing scheme a2, and multiplexing scheme a3.
- the corresponding bit of the code block of the first code block stream is carried on the second code block stream The payload area of the code block in.
- the corresponding bits of the code block of the first code block stream may be carried in the payload area of the data code block in the second code block stream.
- the The corresponding bits of the code block of the first code block stream are carried in the payload area of the first code block in addition to carrying the bit corresponding to the code block of the first code block stream in the payload area of the data code block in the second code block stream.
- a 4bytes CRC32 check can be added to the tail code block as required, and the check range includes all data starting from the overhead code block in one data unit.
- the delay of waiting for receiving the second indication information for indicating the synchronization header area can be omitted, so that Reduce the receiving delay of the first code block stream.
- FIG. 4a exemplarily shows a schematic structural diagram of a data unit 311 that puts the bits corresponding to the code blocks of the first code block stream 313 into the second code block stream 301.
- the data unit 311 includes a header code block 341, an overhead code block 342, and one or more data code blocks 312 and a tail code block 344.
- the bits corresponding to the code blocks of the first code block stream 313 are put into one or more data code blocks 312 of the data unit 311.
- FIG. 4a exemplarily shows a schematic structural diagram of a data unit 311 that puts the bits corresponding to the code blocks of the first code block stream 313 into the second code block stream 301.
- the data unit 311 includes a header code block 341, an overhead code block 342, and one or more data code blocks 312 and a tail code block 344.
- the bits corresponding to the code blocks of the first code block stream 313 are put into one or more data code blocks 312 of the data unit 311.
- FIG. 4a exemplarily shows
- the first code block stream may be The bits corresponding to the code blocks of are put into the payload area 343 of one or more data code blocks 312 of the data unit 311.
- Fig. 4a only illustrates the payload area 343 of one data code block.
- the bits corresponding to the code blocks of the first code block stream 323 are put into one or more data code blocks 322 of the data unit 321 of the second code block stream 301, and the first code block stream 333 is shown in FIG. 3a.
- the bit corresponding to the code block is put into one or more data code blocks 332 of the data unit 331 of the second code block stream 301, and the bit corresponding to the code block of the first code block stream 313 is put into the second code block stream 301 in FIG. 3a.
- the schemes in one or more data code blocks of the data unit 341 of the code block stream 301 can all participate in the example of FIG. 4a.
- the encoding type of a first code block stream in the Q first code block stream is M1/N1 bit encoding, where M1 is a positive integer, and N1 is not less than The M1 is an integer; the encoding type of the second code block stream is M2/N2; the M2 is a positive integer, and the N2 is an integer not less than the M2.
- Some coding methods are defined in the embodiments of this application, such as M1/N1 bit coding, M2/N2 bit coding and the M3/N3 bit coding mentioned in the following content.
- these coding methods are collectively referred to as M/ N coding mode, that is to say, the description of M/N bit coding in the embodiments of this application can be applied to any one or more of M1/N1 bit coding, M2/N2 bit coding and M3/N3 bit coding, That is, when M1 applies to the description of M, N1 corresponds to the description of N; that is, when M2 applies to the description of M, N2 corresponds to the description of N; that is, when M3 applies to the description of M , N2 corresponds to the description of N; where M is a positive integer, and N is an integer not less than M.
- M may be equal to N.
- a code block is divided into a sync header area and a non-sync header area, it can be understood that the bits carried by the sync header area are 0. Or it can also be understood that the preset number of bits is called a code block. Use other technical means to determine the boundary of the code block.
- N may be greater than M. But there is no clear sync header.
- the number of 8B/10B code block samples with a 10-bit information length is 1024, which is much higher than the number of 256 code block samples required for an 8-bit information length.
- the 8B/10B code block synchronization can be realized through the reserved code block samples, and the boundary of the 8B/10B code block can be identified.
- the 8B/10B code block only includes the non-sync header area.
- Fig. 4a exemplarily shows a schematic structural diagram of a code block provided by an embodiment of the present application. As shown in Fig. 4a, the bits carried by the sync header area included in the code block 4200 are 0, and all the bits included in the code block 4200 are Bits carried in the asynchronous header area 4201.
- M/N bit encoding can be defined in 802.3 using 64B/66B encoding (64B/66B encoding can also be written as 64/66 bit encoding), such as
- a code block can include a sync header area and a non-sync header area.
- the code block obtained after encoding using M/N bit encoding in the embodiment of the present application may refer to a code block in which the asynchronous header region includes M bits, and the total number of bits of a code block after encoding is a code block of N bits; M/N bits
- the code block obtained after encoding can also be described as: a code block composed of M bits in the non-synchronization header area + several bits in the synchronization header area.
- the information carried in the synchronization header area 4301 in the embodiment of the present application may be used to indicate the type of the code block, and the type of the code block may include a control type, a data type, and some other types, and so on.
- the code block stream obtained by M/N bit encoding can be transmitted on the Ethernet physical layer link.
- the M/N bit encoding can be 8B/10B encoding in 1G Ethernet, that is, what is transmitted on the 1GE physical layer link is 8B/10B encoding type code block stream (code block stream can also be called Block stream in English); M/N bit encoding can be the 64B/66B encoding used in 10GE, 40GE and/or 100GE, namely 10GE, 40GE and / Or 100GE physical layer link to transfer 64B/66B code block stream.
- the M/N-bit encoding in the embodiment of the present application may also be some encoding types that will appear in the future, such as 128B/130B encoding, 256B/257B encoding, and so on.
- the code block can be a code block obtained from the Ethernet Physical Coding Sublayer (PCS) sublayer encoding that has been standardized according to IEEE 802.3 using 8B/10B encoding (also known as 8B/ 10B code block), and code blocks obtained by using 64B/66B encoding (also referred to as 64B/66B code blocks) and so on.
- PCS Physical Coding Sublayer
- the code block in the embodiment of this application may be a code block obtained by using 256B/257B encoding (transcoding) at the 802.3 Ethernet forward error correction code (Forward Error Correction, FEC) sublayer (may be called 256B/257B) Code block), for example, the code block in the embodiment of this application may be a code block obtained by using a 64B/65B code block obtained based on 64B/66B transcoding in ITU-T G.709 (also referred to as a 64B/65B code block). Code block), 512B/514B code block, etc.
- the code block in the embodiment of the present application may be a code block obtained by using 64B/67B encoding according to the Interlaken bus specification (may also be referred to as a 64B/67B code block).
- the first code block stream in the Q first code block stream is compressed to obtain the Q code block sequence after compression; the Q code block sequence after the compression is performed The bit corresponding to the code block in is put into the second code block stream.
- corresponding bits of the code block of the compressed code block sequence are carried in the second code block stream The payload area of the code block.
- the corresponding bits of the code block of the compressed code block sequence may be carried in the payload area of the data code block in the second code block stream.
- the compressed code block in addition to carrying the corresponding bits of the code block of the compressed code block sequence in the payload area of the data code block in the second code block stream, the compressed code block may also be The corresponding bits of the code block of the sequence are carried in the payload area of the first code block.
- Fig. 4b exemplarily shows a schematic structural diagram of another second code block stream provided by an embodiment of the present application, as shown in Fig. 4b, and Fig. 4b is an improvement based on Fig. 4a.
- the first A code block stream 313 is compressed to obtain a compressed code block sequence 351, and then the bits corresponding to the compressed code block sequence 351 are placed into one or more data code blocks 312 of the data unit 311 of the second code block stream 301 Payload area 343.
- the overhead code block 342 may carry first indication information for indicating the code block stream identifier of the first code block stream 313.
- the first code block stream 313 is compressed into a compressed code block sequence 351 as an example for description.
- each code block in the first code block stream 313 can be compressed separately, for example, the sync header area of each code block in the first code block stream 313 can be compressed from 2 bits to 1. Bits, such as compressing "10" into “1” and compressing "01" into “0".
- the encoding form of the compressed code block sequence is M3/N3; M3 is a positive integer, and N3 is an integer not less than M3.
- the code block encoding in the first code block stream 313 is 64B/66B
- the encoding form of the code block sequence 351 after compression becomes 64/65 bit encoding.
- the code block whose sync header area is "10" indicates that the type of the code block is the control type.
- the type field of the currently widely used control type code block includes 0x1E, 0x2D, 0x33, 0x4B, 0x55, 0x66, 0x78, 0x87, 0x99, 0xAA, 0xB4, 0xCC, 0xD2, 0xE1 and 0xFF. Other values such as 0x00 are reserved unused.
- the type field of the code block occupies 1 byte, so the type field of the control type code block can be compressed from 8 bits to 4 bits, such as compressing "0x1E" to "0x1" and compressing "0x2D" to "0x2" Wait.
- Fig. 4c exemplarily shows a schematic diagram of a compression processing method provided by an embodiment of the present application. As shown in Fig.
- Fig. 4d exemplarily shows a schematic diagram of a compression processing method provided by an embodiment of the present application. As shown in Fig.
- the first bit of the 256B/257B code block is 0, which means that the 256B/257B code block is At least one code block of the control type in the sequence to be processed is included, and the 4 bits of the type field of the first 64B/66B code block included in the 256B/257B code block can be used to sequentially indicate the 256B/257B code.
- Types of 4 64B/66B code blocks from the first code block stream 313 included in the block for example, 4 64B/66B codes from the first code block stream 313 included in the 256B/257B code block
- the block types are all control types, the 4 bits can be "0000" in turn, so that the 4 64B/66B code blocks from the first code block stream 313 included in the 256B/257B code block can be synchronized
- the header area is compressed, that is, the saved 4-bit space of the type field of the code block can be used to identify the combined sequence of multiple code blocks.
- the bit corresponding to the non-synchronization header area of the code block of the first code block stream is carried in the first code block stream.
- the payload area of the code block in the second code block stream, and: the second code block stream further includes second indication information, and the second indication information is used to indicate the value of the first code block stream The bit value of the sync header area of the code block.
- the second indication information may be placed in the header code block, the overhead code block, or the trailer code block.
- each code block includes a synchronization header area and an asynchronous header area.
- the non-synchronization of the code blocks of the first code block stream The bits corresponding to the header area are carried in the payload area of the code block in the second code block stream.
- the bits corresponding to the asynchronous header area of the code block of the first code block stream may be carried in the payload area of the data code block in the second code block stream. In this way, that is to say, regardless of whether the synchronization header area of the code block in the first data stream is 10 or 01, the non-synchronization header area part of the code block is carried in the data code block of the data unit of the second code block stream. Payload area.
- the bit value of the asynchronous header region of the code block from the first code block stream carried on one data unit can be indicated by a bitmap (that is, the second indication information).
- a 4bytes CRC32 check code can be inserted into the tail code block of the data unit, and the tail code block can be a T4 code block, and the check range can be from the overhead The beginning of the code block to the last data code block, and the 2bits sync header is not included in the calculation.
- plan executed by the receiving end communication device can be introduced through the following plan b1, plan b2, and plan b3.
- Fig. 1b there are two types of receiving end communication devices in the embodiment of the present application.
- One type of receiving end communication device does not demultiplex the second code block stream. It can also be said that the second code block stream as a whole, Pass through the receiving end communication device as a whole to go to the next hop.
- the second communication device 1012 in FIG. 1b the second communication device 1012 in FIG. 1b.
- the next hop of all the first code block streams included in the second code block stream is the same.
- the transmission scheme of multiplexing the Q first code block stream into a second code block stream can reduce the number of cross connections that need to be processed by the intermediate node , Can also reduce the pressure on network management and operation and maintenance.
- the processing of the second code block stream by the receiving-end communication device may include: switching the second code block stream to a time slot and an outbound interface corresponding to the second code block stream The time slot and the outbound interface.
- the receiving end communication device may also perform an addition or deletion operation of idle code blocks between two adjacent data units of the second code block stream according to the requirements of the rate adaptation of the second code block stream. Since the bits corresponding to the code blocks of the original first code block stream are encapsulated in data units, and IDLE additions and deletions only involve IDLE between data units, so IDLE additions and deletions will not affect the data in the first code block stream. The bits corresponding to the IDLE code block keep the integrity of the original first code block stream.
- the receiving end communication device needs to demultiplex the received second code block stream, such as communication device three and communication device four in FIG. 1b.
- the above-mentioned communication device three and communication device four demultiplexing the second code block stream are performed by the demultiplexing unit.
- the processing of the second code block stream by the receiving end communication device includes: for one data unit in the second code block stream, executing: according to the data unit including Determine the boundary of the data unit for the first code block; determine the code block from the first code block stream carried by the data unit according to the first indication information carried on the data unit for which the boundary is determined The code block stream identifier corresponding to the corresponding bit; recover the code in the first code block stream corresponding to the code block stream identifier from the bit corresponding to the code block from the first code block stream carried on the data unit Piece.
- the correspondence between the first code block stream and the outgoing interface may be stored, and after the receiving end communication device restores the first code block stream, the corresponding relationship between the code block stream identifier of the first code block stream and the outgoing interface is Relationship, exchange the recovered code blocks in the first code block stream to the outgoing interface corresponding to the code block stream identifier.
- the correspondence between the first code block stream, the outgoing interface, and the sub-slot can be stored, and after the receiving end communication device restores the first code block stream, the corresponding relationship between the first code block stream and the first code block stream The corresponding relationship between the stream identifier, the outgoing interface and the sub-slot, the code block in the recovered first code block stream is exchanged to the outgoing interface and sub-slot corresponding to the code block stream identifier.
- one sub-time slot is divided from one time slot. It can be said that one sub-time slot corresponds to one time slot, and one time slot can correspond to at least two sub-time slots.
- the corresponding relationship between the first code block stream, the outgoing interface and the time slot can be stored.
- the receiving end communication device recovers the first code block stream
- the corresponding relationship between the code block stream identifier of the first code block stream and the outgoing interface and time slot can be stored. Relationship, exchange the code blocks in the recovered first code block stream to the outgoing interface and time slot corresponding to the code block stream identifier.
- rate adaptation may be performed on each first code block stream demultiplexed, for example, the rate adaptation performed by the teaching and rate adaptation unit 1802 of the above-mentioned communication device 4 on each first code block stream operating.
- the receiving end communication device recovers the code block in the first code block stream corresponding to the code block stream identifier from the bit corresponding to the code block from the first code block stream carried on the data unit, It also includes: performing an addition or deletion operation on idle code blocks in the first code block stream according to the requirement of rate adaptation of the first code block stream. In this case, the first code block stream has already been restored, so adding or deleting idle code blocks in the first code block stream will not bring negative effects.
- the transmitting-end communication device multiplexes multiple first code block streams into a second code block stream, it compresses the first code block stream and multiplexes the compressed code block sequence into the second code block stream.
- Code block stream the receiving end communication device for a data unit in the second code block stream executes: obtain the code block from the first code block stream carried by the data unit from the data unit Corresponding bits; decompress the acquired code blocks in the first code block stream carried by the data unit to obtain the code blocks in the first code block stream corresponding to the data unit.
- the decompression method is the inverse processing of the aforementioned compression method.
- the compression is to compress the sync header area from two bits to one bit as described above. When decompressing, the sync header area can be decompressed from 1 bit to 2 bits.
- the decompression corresponding to the other compression methods is only the inverse processing of the aforementioned compression scheme, and will not be repeated here.
- a demultiplexing unit such as the demultiplexing unit 1704 in communication device three 1013, needs to be configured. However, some communication devices are not equipped with a demultiplexing unit. If a communication device that is not equipped with a demultiplexing unit also needs to demultiplex the second code block stream, the solution b3 provided in the embodiment of the present application can be applied. In this way, it can be compatible with old communication equipment that is not equipped with a demultiplexing unit.
- Figure 5a provides a schematic structural diagram of a communication device provided by an embodiment of the present application.
- the communication device three 1013 in Figure 1b is replaced with the communication device five 1015 in Figure 5a, that is, there is a communication device five on the communication link.
- 1015 is an old device without a demultiplexing unit.
- the communication device 5 demultiplexes the fourth code block stream into the second code block stream 1111, the third code block stream 1112, and the third code block stream 1113. .
- the communication device 5 1015 determines the boundary of the data unit in the second code block stream according to the first code block included in the data unit in the second code block stream, and is determined according to the second code block stream
- the first indication information carried by the out-of-boundary data unit and the bit corresponding to the data code block of the data unit are processed, and the second code block stream is processed to obtain a packet stream corresponding to the second code block stream.
- the conversion unit 1902 in the communication device 5 1015 may convert the second code block stream 1111 into a packet stream 1401.
- the data unit corresponds to a message in the message stream, and a header of the message carries the first indication information in the data unit,
- the payload of the message carries at least bits corresponding to the data code block of the data unit.
- the conversion unit 1902 may be a unit of the liteMAC layer in the existing FlexE communication device. liteMAC is a simplified version of MAC.
- the multiplexing unit for interleaving and multiplexing code blocks is expanded from a single code block to a code block group of multiple code blocks, and a fixed-length encapsulated frame is carried in the multiplexing unit, and the payload of the frame carries the first code block.
- a code block in a code block stream thereby realizing the integration of messages and TDM, which can not only realize the TDM pipeline effect in new equipment, but also realize the second code block stream in the way of message processing in the existing network communication equipment
- the demultiplexing and switching of the second code block stream can be exchanged in the existing FlexE network by means of message analysis and label forwarding, so as to achieve compatibility and facilitate gradual deployment, that is, it is not necessary to connect the communication equipment of the entire network All of them are equipped with demultiplexing units, which can reduce costs.
- a data unit in the second code block stream includes a header code block, an overhead code block, a data code block, and a tail code block.
- Communication device five 1015 can identify a data unit.
- the header code block and the trailer code block can be stripped off, the first indication information in the overhead code block can be put into the header of a message, and all the bits of the data code block of the data unit can be directly carried in the message. The load of the text.
- all bits of the data code block of the data unit may be directly carried in the payload of the message.
- the load of the message carries both
- the data unit correspondingly carries the bit corresponding to the code block from the first code block stream, and also carries the bit corresponding to the sync header area of the data code block in the data unit (the bit corresponding to the sync header area of the data code block is not from the first code
- the block stream is generated when the second code block stream is generated).
- one data unit in the second code block stream includes a header code block, an overhead code block, a data code block, and a tail code block.
- Communication device five 1015 can identify a data unit.
- the header code block and the trailer code block may not be stripped, or only one of the header code block and the trailer code block may be stripped, and then the first indication information in the overhead code block is put into the header of a message , All the bits of the data code block of the data unit, as well as the unstripped header code block and/or tail code block are directly carried in the load of the message.
- the payload (which can also be the payload payload) part sends the message stream to the scheduling unit 1904, and the scheduling unit can send the message to the corresponding outgoing interface by means of message forwarding.
- the 4bytes CRC32 is used to complete the message After verification, it can be discarded without being sent to the scheduling unit with the message.
- the receiving end communication device obtains the message stream corresponding to the second code block stream, it further includes: for a message in the message stream, executing: determining the message header of the message by looking up a table
- the medium block stream identifier corresponds to the outgoing interface; the message is exchanged to the outgoing interface. For example, it can be executed by the scheduling unit 1904 of the communication device five 1015, and the message is sent to the outgoing interface corresponding to the message in the manner of message forwarding.
- the sorting of each message in the message stream is consistent with the sorting of the data unit corresponding to each message in the second code block stream.
- the packets exchanged by the conversion unit to the corresponding outgoing interface are scheduled and output by the scheduling unit.
- the scheduling unit may be a traffic management and scheduling module (TM Scheduler), and the scheduling unit cannot guarantee the fixation of each service. Sub-slots, therefore, there is a certain amount of jitter, but the bandwidth of each first code block stream can be guaranteed through a weighted round-robin scheduling mechanism.
- TM Scheduler traffic management and scheduling module
- the following takes an example to illustrate the weighted round-robin scheduling mechanism mentioned in the embodiment of the present application. As shown in FIG. 5a, the conversion unit 1902 obtains a packet stream 1401.
- the message stream 1401 includes a message corresponding to the first code block stream 1201, a message corresponding to the first code block stream 1202, and a message corresponding to the first message stream 1203.
- the weight mentioned in the embodiment of this application can be the credit of each first code block stream, or it can be the maximum amount of data allowed to be output in a scheduling period, and it can be the number of bytes or the number of packets.
- the number of messages is the unit.
- the weights of the first code block stream 1201, the first code block stream 1202, and the first message stream 1203 are respectively 2:1:1, that is, 4 messages can be output in one scheduling period, then Two packets corresponding to the first code block stream 1201 can be output in one scheduling period, one packet corresponding to the first code block stream 1202 can be output in one scheduling period, and one first code block stream 1202 can be output in one scheduling period.
- the output position of the packet in a scheduling period is not fixed, but the number of packets corresponding to a first code block stream scheduled in a scheduling period may be determined.
- FIG. 5b is a schematic structural diagram of a communication device provided by an embodiment of the application.
- the communication device four 1014 in FIG. 1b is replaced with the communication device six 1016 in FIG. 5b, that is, there is a communication device six 1016 on the communication link. It is an old device without a demultiplexing unit.
- the communication device 6 demultiplexes the fourth code block stream into the second code block stream 1111, the third code block stream 1112, and the third code block stream 1113. .
- the second code block stream is converted into a corresponding packet stream 1401 via the conversion unit 1805.
- the communication device 6 1016 may recover each first code block stream from the packet stream 1401.
- the method further includes: for one message in the message stream, executing: according to the first message carried on the message header of the message Indication information, which determines the code block stream identifier corresponding to the bit corresponding to the code block from the first code block stream carried in the message; the data code block corresponding to the data unit of the data unit carried on the load of the message Among the bits, the code block in the first code block stream corresponding to the code block stream identifier is recovered.
- the message forwarding mechanism of solution b3 if it is adopted to realize the exchange, it can be applied in the FlexE equipment of the existing network to realize compatibility and progressive deployment of the existing network equipment. It avoids the problem of replacing the communication equipment of the entire network. Compared with replacing the communication equipment of the entire network, the cost can be reduced and it is easier to land.
- the transmitting-end communication device multiplexes multiple first code block streams into a second code block stream, it compresses the first code block stream and multiplexes the compressed code block sequence into the second code block stream.
- Code block stream the receiving end communication device for a message in the message stream executes: obtain from the message the corresponding code block in the first code block stream carried by the message Bit; decompress the code block from the first code block stream carried by the obtained message to obtain the code block in the first code block stream corresponding to the message.
- the decompression method is the inverse processing of the aforementioned compression method. As mentioned before, I won't repeat it here.
- FIG. 6 is a schematic structural diagram of a communication device provided by an embodiment of the application.
- the communication device can be a network device, or a chip or circuit, such as a chip or circuit that can be set in a network device. .
- the communication device 701 may further include a bus system, where the processor 702, the memory 704, and the transceiver 703 may be connected through the bus system.
- the aforementioned processor 702 may be a chip.
- the processor 702 may be a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or a system on chip (SoC), or It can be a central processor unit (CPU), a network processor (NP), a digital signal processing circuit (digital signal processor, DSP), or a microcontroller (microcontroller). unit, MCU), and may also be a programmable logic device (PLD) or other integrated chips.
- FPGA field programmable gate array
- ASIC application specific integrated circuit
- SoC system on chip
- CPU central processor unit
- NP network processor
- DSP digital signal processing circuit
- microcontroller microcontroller
- unit, MCU and may also be a programmable logic device (PLD) or other integrated chips.
- PLD programmable logic device
- the steps of the foregoing method can be completed by an integrated logic circuit of hardware in the processor 702 or instructions in the form of software.
- the steps of the method disclosed in the embodiments of the present application may be directly embodied as executed and completed by a hardware processor, or executed and completed by a combination of hardware and software modules in the processor 702.
- the software module can be located in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, or electrically erasable programmable memory, registers.
- the storage medium is located in the memory 704, and the processor 702 reads the information in the memory 704, and completes the steps of the foregoing method in combination with its hardware.
- the processor 702 in the embodiment of the present application may be an integrated circuit chip with signal processing capability.
- the steps of the foregoing method embodiments can be completed by hardware integrated logic circuits in the processor or instructions in the form of software.
- the above-mentioned processor may be a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components .
- DSP digital signal processor
- ASIC application specific integrated circuit
- FPGA field programmable gate array
- the methods, steps, and logical block diagrams disclosed in the embodiments of the present application can be implemented or executed.
- the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
- the steps of the method disclosed in the embodiments of the present application may be directly embodied as being executed and completed by a hardware decoding processor, or executed and completed by a combination of hardware and software modules in the decoding processor.
- the software module can be located in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, or electrically erasable programmable memory, registers.
- the storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.
- the memory 704 in the embodiment of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory.
- the non-volatile memory can be read-only memory (ROM), programmable read-only memory (programmable ROM, PROM), erasable programmable read-only memory (erasable PROM, EPROM), and electrically available Erase programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
- the volatile memory may be random access memory (RAM), which is used as an external cache.
- RAM random access memory
- static random access memory static random access memory
- dynamic RAM dynamic RAM
- DRAM dynamic random access memory
- synchronous dynamic random access memory synchronous DRAM, SDRAM
- double data rate synchronous dynamic random access memory double data rate SDRAM, DDR SDRAM
- enhanced synchronous dynamic random access memory enhanced SDRAM, ESDRAM
- synchronous connection dynamic random access memory serial DRAM, SLDRAM
- direct rambus RAM direct rambus RAM
- the communication device 701 may be used to execute the above-mentioned solution of the sending-end communication device, and may also be used to execute the above-mentioned solution of the receiving-end communication device.
- the communication device may include a processor 702, a transceiver 703, and a memory 704.
- the memory 704 is used to store instructions, and the processor 702 is used to execute the instructions stored in the memory 704 to implement any one or more of the corresponding solutions shown in FIGS. 1b to 5b above.
- the communication device 701 When the communication device 701 is used to execute the above-mentioned solution of the sending-end communication device, the communication device 701 can be used to execute the related methods of the sending-end communication device in FIG. 1b to FIG. 5b. When the communication device 701 is used to execute the foregoing solution of the receiving end communication device, the communication device 701 may be used to execute the foregoing related methods of the receiving end communication device in FIGS. 1b to 5b.
- the processor 702 is configured to obtain Q first code block streams, and convert the Q first code block streams The bit corresponding to the code block in is put into the second code block stream; wherein, the Q is an integer greater than 1; the second code block stream includes at least Q data units; one of the second code block stream The data unit carries a code block from a first code block stream; for at least one data unit of the Q data units in the second code block stream, the data unit includes the first code block, and The first code block is used to determine the boundary of the data unit in the second code block stream.
- the processor 702 is specifically configured to: according to the correspondence between the Q first code block stream and the F sub-slots Relation, the bits corresponding to the code blocks in the Q first code block stream are put into the second code block stream; wherein, the second code block stream corresponds to at least one time slot, and one time slot is divided into at least two sub Time slot; one of the Q first code block streams corresponds to one or more of the F sub-slots; the F is an integer not less than the Q.
- the processor 702 is configured to obtain a second code block stream, and process the second code block stream
- the second code block stream includes at least Q data units
- one data unit of the second code block stream carries code blocks from a first code block stream
- for the Q data units A data unit, the data unit includes a first code block, and the first code block is used to determine the boundary of the data unit in the second code block stream.
- the processor 702 is specifically configured to perform: according to a data unit in the second code block stream: The first code block included in the data unit determines the boundary of the data unit; according to the first indication information carried on the data unit whose boundary is determined, it is determined that the first code block carried by the data unit is from the first code block.
- the code block stream identifier corresponding to the bit corresponding to the code block of the stream; from the bit corresponding to the code block from the first code block stream carried on the data unit, the first code corresponding to the code block stream identifier is recovered Code blocks in the block stream.
- the processor 702 is specifically configured to: according to the first data unit included in the second code block stream The code block determines the boundary of the data unit in the second code block stream; the first indication information carried by the data unit whose boundary is determined in the second code block stream and the bit corresponding to the data code block of the data unit , Processing the second code block stream to obtain a packet stream corresponding to the second code block stream; wherein, for one data unit in the second code block stream, the data unit corresponds to the packet stream
- the header of the message carries the first indication information in the data unit, and the load of the message carries at least the bits corresponding to the data code block of the data unit;
- a message in the message stream the message is exchanged to the outgoing interface corresponding to the code block stream identifier in the message header of the message by means of table lookup, or the message is recovered from the message
- the processor 702 is specifically configured to: for a message in the message flow, execute: according to the The first indication information carried on the header of the message determines the code block stream identifier corresponding to the bit corresponding to the code block from the first code block stream carried in the message; and is carried from the load of the message Among the bits corresponding to the data code block of the data unit, the code block in the first code block stream corresponding to the code block stream identifier is recovered.
- FIG. 7 is a schematic structural diagram of a communication device provided by an embodiment of the application.
- the communication device 801 may include a communication interface 804, a processor 802, and a transceiver 803.
- the communication interface 804 is used to input and/or output information; the processor 802 is used to execute computer programs or instructions, so that the communication device 801 implements the sending end communication device and/or in the above-mentioned related solutions of FIGS. 1b to 5b Or the method of the receiving end communication device.
- the transceiver 803 may implement the solution implemented by the transceiver 703 in FIG. 6 above, and the processor 802 may implement the solution implemented by the processor 702 in FIG. 6 described above, and details are not described herein again.
- the embodiment of the present application further provides a communication system, which includes the aforementioned communication device for executing the communication device solution at the transmitting end and the communication device for executing the communication device solution at the receiving end.
- FIG. 8 is a schematic diagram of a communication device provided by an embodiment of this application.
- the communication device 901 may be a transmitting-end communication device, or a receiving-end communication device, or may be capable of executing A communication device capable of executing the above-mentioned receiving function with the above-mentioned transmitting function.
- the communication device 901 may be a network device, or a chip or circuit, such as a chip or circuit that can be provided in a network device.
- the communication device can implement the steps performed by the transmitting end communication device and/or the receiving end communication device in any one or more of the corresponding methods shown in FIGS. 1b to 5b above.
- the communication device may include a processing unit 902 and a transceiver unit 903.
- the processing unit 902 are used to obtain the first code block stream of Q bars, and convert the Q bars to the first code block stream.
- the bits corresponding to the code blocks in the first code block stream are put into the second code block stream; wherein, the Q is an integer greater than 1; the second code block stream includes at least Q data units; the second code block stream
- One data unit of the code block stream carries a code block from a first code block stream; for at least one data unit of the Q data units in the second code block stream, the data unit includes the first Code block, the first code block is used to determine the boundary of the data unit in the second code block stream.
- the processing unit 902 is configured to obtain a second code block stream, and process the second code block stream;
- the second code block stream includes at least Q data units; one data unit of the second code block stream carries a code block from a first code block stream; for one of the Q data units A data unit, the data unit includes a first code block, and the first code block is used to determine the boundary of the data unit in the second code block stream.
- the division of the units of the above communication device is only a division of logical functions, and may be fully or partially integrated into one physical entity during actual implementation, or may be physically separated.
- the transceiver unit 902 may be implemented by the transceiver 703 in FIG. 6 described above, and the processing unit 902 may be implemented by the processor 702 in FIG. 6 described above.
- the present application also provides a computer program product, the computer program product comprising: computer program code, when the computer program code runs on a computer, the computer executes the steps shown in FIGS. 1b to 5b The method of any one of the embodiments is shown.
- the present application also provides a computer-readable storage medium, the computer-readable medium stores a program code, when the program code runs on a computer, the computer executes FIGS. 1b to 5b The method of any one of the illustrated embodiments.
- the present application also provides a system, which includes the aforementioned sending end communication device and the receiving end communication device.
- the computer program product includes one or more computer instructions.
- the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
- the computer instructions may be stored in a computer-readable storage medium or transmitted from one 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.
- the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or a data center integrated with one or more available media.
- the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, and a magnetic tape), an optical medium (for example, a high-density digital video disc (digital video disc, DVD)), or a semiconductor medium (for example, a solid state disk (solid state disc), SSD)) etc.
- the communication equipment in the above-mentioned device embodiments corresponds to the communication equipment in the method embodiments, and the corresponding modules or units execute the corresponding steps.
- the communication unit executes the steps of receiving or sending in the method embodiments, except for sending, Steps other than receiving can be executed by the processing unit (processor).
- the processing unit executes the functions of specific units, refer to the corresponding method embodiments. Among them, there may be one or more processors.
- component used in this specification are used to denote computer-related entities, hardware, firmware, a combination of hardware and software, software, or software in execution.
- the component may be, but is not limited to, a process, a processor, an object, an executable file, an execution thread, a program, and/or a computer running on a processor.
- the application running on the computing device and the computing device can be components.
- One or more components may reside in processes and/or threads of execution, and components may be located on one computer and/or distributed between two or more computers.
- these components can be executed from various computer readable media having various data structures stored thereon.
- the component can be based on, for example, a signal having one or more data packets (e.g. data from two components interacting with another component in a local system, a distributed system, and/or a network, such as the Internet that interacts with other systems through a signal) Communicate through local and/or remote processes.
- a signal having one or more data packets (e.g. data from two components interacting with another component in a local system, a distributed system, and/or a network, such as the Internet that interacts with other systems through a signal) Communicate through local and/or remote processes.
- the disclosed system, device, and method can be implemented in other ways.
- the device embodiments described above are merely illustrative, for example, the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or It can be integrated into another system, or some features can be ignored or not implemented.
- the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
- the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
- the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
- the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
- the technical solution of the present application essentially or the part that contributes to the existing technology or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including Several instructions are used to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
- the aforementioned storage media include: U disk, mobile hard disk, read-only memory (read-only memory, ROM), random access memory (random access memory, RAM), magnetic disk or optical disk and other media that can store program code .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供一种数据传输方法、通信设备及存储介质,用于提升带宽利用率,减缓带宽浪费的问题。本申请实施例中,获取Q条第一码块流,将Q条第一码块流中的码块对应的比特放入第二码块流;其中,第二码块流中至少包括Q个数据单元;第二码块流的一个数据单元承载来自一条第一码块流的码块;针对第二码块流中的至少Q个数据单元中的一个数据单元,数据单元中包括第一码块,第一码块用于确定数据单元在第二码块流中的边界。如此,当第二码块流穿越至少一个中间节点到达解复用侧的第二通信设备时,中间节点可能不需对第二码块流进行解复用,因此可以减少中间节点需处理的交叉连接数量,可以减轻网络管理和运维方面的压力。
Description
相关申请的交叉引用
本申请要求在2019年12月10日提交中国专利局、申请号为201911257025.9、申请名称为“一种数据传输方法、通信设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及通信领域,尤其涉及一种数据传输方法、通信设备及存储介质。
光互联网论坛(Optical Internet Forum,OIF)发布了灵活以太网(Flexible Ethernet,FlexE),FlexE是一种支持多种以太网MAC层速率的通用技术。通过将多个100GE(Physical,PHYs)端口绑定,并将每个100GE端口在时域上以5G为颗粒划分为20个时隙,FlexE可支持以下功能:绑定,将多个以太网端口绑定为一个链路组以支持速率大于单个以太网端口的媒体访问控制(Medium Access Control,MAC)业务;子速率,通过为业务分配时隙支持速率小于链路组带宽或者小于单个以太网端口带宽的MAC业务;通道化,通过为业务分配时隙支持在链路组中同时传输多个MAC业务,例如在2 x 100GE链路组中支持同时传输一个150G和两个25G的MAC业务。
FlexE通过时分复用(Time Division Multiplexing,TDM)方式划分时隙,实现传输管道带宽的硬隔离,一个业务数据流可以分配到一到多个时隙中,实现了对各种速率业务的匹配。一个FlexE组(英文也可以称为FlexE Group)可以包含一个或多个物理链路接口(英文可以写为PHY)。图1a示例性示出了一种基于灵活以太网协议的通信系统示意图,如图1a所示,以FlexE Group包括4个PHY示意。灵活以太网协议客户(FlexE Client)代表在FlexE Group上指定时隙(一个时隙或多个时隙)传输的客户数据流,一个FlexE Group上可承载多个FlexE Client,一个FlexE Client对应一个用户业务数据流(典型的,可以称为媒体访问控制(Medium Access Control,MAC)Client),灵活以太网协议功能层(英文可以称为FlexE Shim)层提供FlexE Client到MAC Client的数据适配和转换。
但是实际应用中有些业务存在灵活速率的需求,或者存在低速率接入需求,但是采用FLEXE技术确只能以5Gbps时隙或N个5Gbps时隙承载,如此,会存在较严重的带宽浪费。
发明内容
本申请实施例提供一种数据传输方法、设备及存储介质,用于提升带宽利用率,减缓带宽浪费的问题。
第一方面,本申请实施例提供一种数据传输方法,包括:获取Q条第一码块流,将Q条第一码块流中的码块对应的比特放入第二码块流;其中,第二码块流中至少包括Q个数据单元;第二码块流的一个数据单元承载来自一条第一码块流的码块;针对第二码块流中 的至少Q个数据单元中的一个数据单元,数据单元中包括第一码块,第一码块用于确定数据单元在第二码块流中的边界。如此,当第二码块流穿越至少一个中间节点到达解复用侧的第二通信设备时,中间节点可能不需对第二码块流进行解复用,因此可以减少中间节点需处理的交叉连接数量,可以减轻网络管理和运维方面的压力。
进一步,由于本申请实施例中所述第二码块流的一个数据单元承载来自一条第一码块流的码块,因此,第二码块流在经过中间节点时,若Q条第一码块流中存在至少两条第一码块流的下一跳通信设备不同,且当接收端通信设备没有配置用于对第二码块流进行解复用的解复用单元的情况下,接收端通信设备可以经过传统的报文转发方式,将每个数据单元转换为一个报文,一个报文中也仅仅包括一个第一码块流中的对应的比特,进而将该报文可以交换到该报文对应的第一码块流所对应的出接口。可以看出,本申请实施例提供的方案一方面可以将多条第一码块流复用为一条第二码块流进行传输,另外一方面,在接收端通信设备需要将至少两个第一码块流对应的比特交换至不同的出接口时,可以采用传统报文转发的方式,因此无需为每个接收端通信设备配置用于对第二码块流进行解复用的解复用单元,可以减低成本,而且由于无需对全网的通信设备配置用于对第二码块流进行解复用的解复用单元,因此,可以更加有利于渐进式部署通信设备,更加易于落地。
在一种可选地实施方式中,所述第二码块流的相邻数据单元之间包括R个空闲码块,所述R为零或正整数;所述R个空闲码块用于在对所述第二码块流进行速率适配时进行空闲码块的删除操作。也就是说,由于将原始的第一码块流的码块对应的比特封装在数据单元内,而进行IDLE增删时仅仅涉及到数据单元之间的IDLE,因此IDLE增删不会影响到第一码块流中的IDLE码块对应的比特,也就是保持了原始的第一码块流的完整性。
在一种可选地实施方式中,所述将所述Q条第一码块流中的码块对应的比特放入第二码块流,包括:根据所述Q条第一码块流与F个子时隙的对应关系,将所述Q条第一码块流中的码块对应的比特放入第二码块流;其中,所述第二码块流对应至少一个时隙,一个时隙划分为至少两个子时隙;所述Q条第一码块流中的一条第一码块流对应所述F个子时隙中的一个或多个子时隙;所述F为不小于所述Q的整数。可选地,本申请实施例中为了实现更细粒度的子时隙承载业务,可以使子时隙的带宽小于时隙的带宽,可选地,一个时隙划分为至少两个子时隙。当通过子时隙来承载第一码块流,每条第一码块流所占用的带宽粒度可以较小,从而可以实现通过更细粒度的子时隙来承载数据的目的,提升带宽利用率,可以更加满足在实际应用中的灵活速率业务或低速业务接入需求,可以减少带宽的浪费情况。
在一种可选地实施方式中,针对所述第二码块流中的两个数据单元,所述两个数据单元包括的码块的数量相同。如此,可以简化通信设备的数据处理流程。一个数据单元中包括的码块的数量为整数。又一种可选地实施方式中,由于每个数据单元都可以单独定出边界,因此两个数据单元中包括的码块的总数量也可以不同。如此,可以提高方案的灵活性。
为了达到一个数据单元仅承载一条第一码块流中的码块目的,若一条第一码块流中的码块对应的比特放不满一个数据单元,则可以在该数据单元中填充一些字符,比如空闲字符,或者填充一些其他控制信息。在一种可选地实施方式中,针对所述第二码块流中的一个数据单元,所述数据单元包括所述第一码块和J个数据码块;所述J个数据码块中的(J-Z)个码块承载来自一条第一码块流的码块对应的比特,其余Z个数据码块上承载空闲字符,所述J为正整数,所述Z为零或为不大于J的正整数。
在一种可选地实施方式中,所述第一码块包括以下内容中的一项或多项:头码块、开销码块和尾码块。如此,可以更好的兼容现有技术。
在一种可选地实施方式中,针对所述第二码块流的一个数据单元,所述数据单元还包括有第一指示信息;所述第一指示信息用于指示:所述数据单元承载的来自第一码块流的码块所对应的码块流标识。如此,接收端通信设备可以根据数据单元上承载的第一指示信息确定出该数据单元上承载的来自第一码块流的码块所对应的第一码块流的码块流标识。进而可根据该码块流标识对该数据单元上承载的来自第一码块流的码块进行恢复或交换。
在一种可选地实施方式中,当所述第二码块流中的一个数据单元中包括有开销码块,则:所述第一指示信息承载于所述开销码块。如此,当第二码块流穿过未配置用于对第二码块流进行解复用的解复用单元的通信设备的情况下,该通信设备可以将该数据单元的头码块和尾码块剥离,进而将开销码块上承载的第一指示信息承载至报文头,并将该数据单元的数据码块对应的比特放入报文的负荷,从而达到将该数据单元转换为报文的目的,且在该报文的报文头中携带该报文负荷中承载的来自第一码块流的码块对应的码块流标识。
在一种可选地实施方式中,所述将所述Q条第一码块流中的码块对应的比特放入第二码块流之后,还包括:获取L条第三码块流;将所述第二码块流和所述L条第三码块流进行基于码块的时分复用,得到待发送的第四码块流;其中,所述L条第三码块流中的一条第三码块流对应至少一个时隙。由于再次将一条或多条第二码块流与一条或多条第三码块流进行复用,从而可以实现多级复用。
在一种可选地实施方式中,所述将所述Q条第一码块流中的码块对应的比特放入第二码块流,包括:针对所述Q条第一码块流中的第一码块流进行压缩处理,得到Q条压缩后码块序列;将所述Q条压缩后码块序列中的码块对应的比特放入第二码块流;其中,所述Q条第一码块流中的一条第一码块流的编码类型为M1/N1比特编码,所述M1为正整数,所述N1为不小于所述M1的整数;所述第二码块流的编码类型为M2/N2;所述M2为正整数,所述N2为不小于所述M2的整数。如此,可以进一步提高数据传输效率,提高封装效率,避免逐层封装引入过度的带宽膨胀。
在一种可选地实施方式中,针对所述Q条压缩后码块序列中的一条压缩后码块序列:所述压缩后码块序列的码块对应比特承载于所述第二码块流中的码块的净荷区域。在一种可选地实施方式中,针对所述Q条第一码块流中的一条第一码块流:所述第一码块流的码块对应比特承载于所述第二码块流中的码块的净荷区域。该方案中由于第一码块流的码块的同步头区域和非同步头区域都发送给接收端,因此可以省去等待接收用于指示同步头区域的第二指示信息的时延,从而可以降低第一码块流的接收时延。
在一种可选地实施方式中,针对所述Q条第一码块流中的一条第一码块流:所述第一码块流的码块的非同步头区域对应的比特承载于所述第二码块流中的码块的净荷区域,且所述第二码块流中还包括有第二指示信息,所述第二指示信息用于指示所述第一码块流的码块的同步头区域的比特值。可进一步提高数据传输效率,提高封装效率,避免逐层封装引入过度的带宽膨胀。
第二方面,本申请实施例提供一种数据传输方法,包括获取第二码块流;其中,所述第二码块流中至少包括Q个数据单元;所述第二码块流的一个数据单元承载来自一条第一码块流的码块;针对所述Q个数据单元中的一个数据单元,所述数据单元中包括第一码块,所述第一码块用于确定所述数据单元在所述第二码块流中的边界;对所述第二码块流进行 处理。如此,当第二码块流穿越至少一个中间节点到达解复用侧的第二通信设备时,中间节点可能不需对第二码块流进行解复用,因此可以减少中间节点需处理的交叉连接数量,可以减轻网络管理和运维方面的压力。
进一步,由于本申请实施例中所述第二码块流的一个数据单元承载来自一条第一码块流的码块,因此,第二码块流在经过中间节点时,若Q条第一码块流中存在至少两条第一码块流的下一跳通信设备不同,且当接收端通信设备没有配置用于对第二码块流进行解复用的解复用单元的情况下,接收端通信设备可以经过传统的报文转发方式,将每个数据单元转换为一个报文,一个报文中也仅仅包括一个第一码块流中的对应的比特,进而将该报文可以交换到该报文对应的第一码块流所对应的出接口。可以看出,本申请实施例提供的方案一方面可以将多条第一码块流复用为一条第二码块流进行传输,另外一方面,在接收端通信设备需要将至少两个第一码块流对应的比特交换至不同的出接口时,可以采用传统报文转发的方式,因此无需为每个接收端通信设备配置用于对第二码块流进行解复用的解复用单元,可以减低成本,而且由于无需对全网的通信设备配置用于对第二码块流进行解复用的解复用单元,因此,可以更加有利于渐进式部署通信设备,更加易于落地。
在一种可选地实施方式中,针对所述第二码块流中的一个数据单元,所述数据单元包括第一指示信息;所述第一指示信息用于指示:所述数据单元承载的来自第一码块流的码块对应的比特所对应的码块流标识。如此,接收端通信设备可以根据数据单元上承载的第一指示信息确定出该数据单元上承载的来自第一码块流的码块所对应的第一码块流的码块流标识。进而可根据该码块流标识对该数据单元上承载的来自第一码块流的码块进行恢复或交换。
在一种可选地实施方式中,所述对所述第二码块流进行处理,包括:针对所述第二码块流中的一个数据单元,执行:根据所述数据单元包括的所述第一码块,确定出所述数据单元的边界;根据确定出边界的所述数据单元上承载的第一指示信息,确定所述数据单元承载的来自第一码块流的码块对应的比特所对应的码块流标识;从所述数据单元上承载的来自第一码块流的码块对应的比特中,恢复出所述码块流标识对应的第一码块流中的码块。如此,可以根据第一码块确定出数据单元的边界,并根据将第一码块流复用为第二码块流的规则进行逆处理,从而可以从数据单元中取出来自第一码块流的码块对应的比特,从而达到解复用出第一码块流的目的。
在一种可选地实施方式中,所述从所述数据单元上承载的来自第一码块流的码块对应的比特,恢复出所述码块流标识对应的第一码块流中的码块之后,还包括:根据码块流标识与出接口的对应关系,将恢复出的所述第一码块流中的码块交换至所述码块流标识对应的出接口。如此,可以实现第一码块流的交换。
在一种可选地实施方式中,所述从所述数据单元上承载的来自第一码块流的码块对应的比特,恢复出所述码块流标识对应的第一码块流中的码块之后,还包括:根据所述第一码块流速率适配的需求,对所述第一码块流中的空闲码块进行增删操作。如此,可以实现对第一码块流的速率适配。
在一种可选地实施方式中,针对所述第二码块流中的一个数据单元:所述数据单元包括所述第一码块和数据码块;所述数据单元的所述数据码块用于承载来自第一码块流的码块对应的比特。如此,可以兼容现有设备中未配置用于将第二码块流解复用为第一码块流的接收端通信设备,该通信设备可以将一个数据单元转换为一个报文,进而从报文中恢复 出来自第一码块流的码块对应的比特。
在一种可选地实施方式中,所述对所述第二码块流进行处理,包括:根据所述第二码块流中数据单元包括的所述第一码块,确定出所述第二码块流中数据单元的边界;根据所述第二码块流中确定出边界的数据单元承载的第一指示信息和该数据单元的数据码块对应的比特,对所述第二码块流进行处理,得到第二码块流对应的报文流;其中,针对所述第二码块流中的一个数据单元,所述数据单元对应所述报文流中的一个报文,所述报文的报文头承载所述数据单元中的第一指示信息,所述报文的负荷至少承载所述数据单元的数据码块对应的比特。如此,可以实现通信设备可以将一个数据单元转换为一个报文的目的。
在一种可选地实施方式中,所述得到第二码块流对应的报文流之后,还包括:针对所述报文流中的一个报文,执行:通过查表确定所述报文的报文头中码块流标识对应的出接口;将所述报文交换到所述出接口。如此,可以兼容现有技术,通过报文转发的方式实现第一码块流的交换。
在一种可选地实施方式中,所述得到第二码块流对应的报文流之后,还包括:针对所述报文流中的一个报文,执行:根据所述报文的报文头上承载的第一指示信息,确定所述报文承载的来自第一码块流的码块对应的比特所对应的码块流标识;从所述报文的负荷上承载的所述数据单元的数据码块对应的比特中,恢复出所述码块流标识对应的第一码块流中的码块。如此,可以兼容现有技术,通过报文的方式恢复出第一码块流对应的比特。
在一种可选地实施方式中,所述对所述第二码块流进行处理,包括:根据所述第二码块流对应的时隙和出接口,将所述第二码块流交换到所述时隙和所述出接口。因此可以减少中间节点需处理的交叉连接数量,可以减轻网络管理和运维方面的压力。
在一种可选地实施方式中,所述对所述第二码块流进行处理,包括:根据所述第二码块流速率适配的需求,在所述第二码块流相邻的两个数据单元之间进行的空闲码块的增删操作。如此可以实现对第二码块流的速率适配操作。
在一种可选地实施方式中,针对所述Q个数据单元中的两个数据单元,所述两个数据单元包括的码块的数量相同。如此,可以简化通信设备的数据处理流程。一个数据单元中包括的码块的数量为整数。又一种可选地实施方式中,由于每个数据单元都可以单独定出边界,因此两个数据单元中包括的码块的总数量也可以不同。如此,可以提高方案的灵活性。
为了达到一个数据单元仅承载一条第一码块流中的码块目的,若一条第一码块流中的码块对应的比特放不满一个数据单元,则可以在该数据单元中填充一些字符,比如空闲字符,或者填充一些其他控制信息。在一种可选地实施方式中,在一种可选地实施方式中,针对所述Q个数据单元中的一个数据单元,所述数据单元包括所述第一码块和J个数据码块;所述J个数据码块中的(J-Z)个码块承载来自一条第一码块流的码块对应的比特,其余Z个数据码块上承载空闲字符,所述J为正整数,所述Z为零或为不大于J的正整数。
在一种可选地实施方式中,所述第一码块包括以下内容中的一项或多项:头码块、开销码块和尾码块。如此,可以更好的兼容现有技术。
在一种可选地实施方式中,所述Q条第一码块流中的一条第一码块流的编码类型为M1/N1比特编码,所述M1为正整数,所述N1为不小于所述M1的整数;所述第二码块流的编码类型为M2/N2;所述M2为正整数,所述N2为不小于所述M2的整数;所述对 所述第二码块流进行处理,包括:针对所述第二码块流中的一个数据单元,执行:从所述数据单元上获取所述数据单元承载的来自所述第一码块流中的码块对应的比特;对获取到的所述数据单元承载的来自所述第一码块流中的码块进行解压缩,得到所述数据单元对应的第一码块流中的码块。如此,可以进一步提高数据传输效率,提高封装效率,避免逐层封装引入过度的带宽膨胀。
在一种可选地实施方式中,针对所述Q条第一码块流中的一条第一码块流:所述第一码块流的码块对应比特承载于所述第二码块流中的码块的净荷区域。该方案中由于第一码块流的码块的同步头区域和非同步头区域都发送给接收端,因此可以省去等待接收用于指示同步头区域的第二指示信息的时延,从而可以降低第一码块流的接收时延。
在一种可选地实施方式中,针对所述Q条第一码块流中的一条第一码块流:所述第一码块流的码块的非同步头区域对应的比特承载于所述第二码块流中的码块的净荷区域,且:所述第二码块流中还包括有第二指示信息,所述第二指示信息用于指示所述第一码块流的码块的同步头区域的比特值。可进一步提高数据传输效率,提高封装效率,避免逐层封装引入过度的带宽膨胀。
在一种可选地实施方式中,所述获取第二码块流,包括:获取第四码块流;对所述第四码块流进行基于码块的时分解复用,得到L条第三码块流和第二码块流;其中,所述第二码块流对应至少一个时隙;所述L条第三码块流中的一条第三码块流对应至少一个时隙;所述L个第二业务中的一个第二业务对应所述L条第三码块流中的一条第三码块流。如此实现了多级解复用,从而可以减轻网络管理和运维方面的压力。
第三方面,提供了一种通信设备,包括收发单元和处理单元,以执行上述第一方面至第二方面任一种通信方法中的任一种实施方式。收发单元用于执行与发送和接收相关的功能。可选地,收发单元包括接收单元和发送单元。在一种设计中,通信设备为通信芯片,收发单元可以为通信芯片的输入输出电路或者端口。
在另一种设计中,收发单元可以为发射器和接收器,或者收发单元为发射机和接收机。可选的,通信设备还包括可用于执行上述第一方面至第二方面任一种通信方法中的任一种实施方式的各个模块。
第四方面,提供了一种通信设备,该通信设备为网络设备。包括处理器和存储器。所述存储器,用于存储程序代码;所述处理器,用于从所述存储器调用所述程序代码执行如第一方面或第二方面所述的方法。
第五方面,本申请实施例提供一种通信设备,所述通信设备包括处理器、存储器和收发器,所述收发器,用于接收信号或者发送信号;所述存储器,用于存储程序代码;所述处理器,用于从所述存储器调用所述程序代码执行如第一方面或第二方面所述的方法。该存储器用于存储计算机程序或指令,该处理器用于从存储器中调用并运行该计算机程序或指令,当所述处理器执行存储器中的计算机程序或指令时,使得该通信设备执行上述第一方面至第二方面任一种通信方法中的任一种实施方式。
可选的,处理器为一个或多个,存储器为一个或多个。
可选的,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
可选的,收发器中可以包括,发射机(发射器)和接收机(接收器)。
第六方面,提供了一种通信设备,包括处理器。可选地,该处理器与存储器耦合,可用于执行第一方面至第二方面任一方面,以及第一方面至第二方面中任一种可能实现方式 中的方法。可选地,该通信设备还包括存储器。可选地,该通信设备还包括通信接口,处理器与通信接口耦合。
在一种实现方式中,该通信设备为通信设备。当该通信设备为网络设备时,所述通信接口可以是收发器,或,输入/输出接口。可选地,所述收发器可以为收发电路。可选地,所述输入/输出接口可以为输入/输出电路。
在又一种实现方式中,该通信设备为芯片或芯片系统。当该通信设备为芯片或芯片系统时,所述通信接口可以是该芯片或芯片系统上的输入/输出接口、接口电路、输出电路、输入电路、管脚或相关电路等。所述处理器也可以体现为处理电路或逻辑电路。
第七方面,本申请实施例提供一种通信设备,所述通信设备包括处理器和接口电路,所述接口电路,用于接收代码指令并传输至所述处理器;所述处理器运行所述代码指令以执行如第一方面或第二方面所示的相应的方法。
第八方面,提供了一种系统,系统包括上述接收端通信设备和发送端通信设备。一个通信设备可以既是发送端通信设备,也可以作为接收端通信设备。
第九方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序(也可以称为代码,或指令),当计算机程序被运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法,或者使得计算机执行上述第一方面至第二方面任一种实现方式中的方法。
第十方面,提供了一种计算机可读存储介质,计算机可读介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法,或者使得计算机执行上述第一方面至第二方面任一种实现方式中的方法。
第十一方面,提供了一种通信设备,包括:输入电路、输出电路和处理电路。所述处理电路用于通过所述输入电路接收信号,并通过所述输出电路发射信号,使得所述第一方面至第二方面任一方面,以及第一方面至第二方面中任一种可能实现方式中的方法被实现。在具体实现过程中,上述处理设备可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本申请实施例对处理器及各种电路的具体实现方式不做限定。
图1a为一种基于灵活以太网协议的通信系统示意图;
图1b为本申请实施例提供的一种通信系统架构示意图;
图1c为本申请实施例提供的一种通信设备内部结构的示意图;
图1d为本申请实施例提供的一种数据传输方法的流程示意图;
图2a为本申请实施例提供的一种标准中定义的64B/66B编码格式的码块的结构示意图;
图2b为本申请实施例提供的一种空闲码块的结构形式;
图2c为本申请实施例提供的一种码块的结构形式示意图;
图2d为本申请实施例提供的一种码块的结构形式示意图;
图2e为本申请实施例提供的一种码块的结构形式示意图;
图2f为本申请实施例提供的一种FlexeE帧格式的结构示意图;
图2g为本申请实施例提供的一种FlexeE帧格式的结构示意图;
图3a为本申请实施例提供的一种第二数据单元的结构形式示意图;
图3b为将图3a所示的第二码块流映射到图2g所示的时隙上的结构示意图;
图4a为一种将第一码块流313的码块对应的比特放入第二码块流301的数据单元311的结构示意图;
图4b为本申请实施例提供的另一种第二码块流的结构示意图;
图4c为本申请实施例提供的一种压缩处理方式的示意图;
图4d为本申请实施例提供的一种压缩处理方式的示意图;
图5a为本申请实施例提供的一种通信设备的结构示意图;
图5b为本申请实施例提供的一种通信设备的结构示意图;
图6为本申请实施例提供的一种通信设备的结构示意图;
图7为本申请实施例提供的另一种通信设备的结构示意图;
图8为本申请实施例提供的另一种通信设备的结构示意图。
应理解,本申请实施例的技术方案可以应用于各种通信系统,例如:移动承载前传或回传领域、城域多业务承载、数据中心互联、工业通讯、FlexE等基于以太网技术的通讯系统,以及工业或通讯设备内不同元器件或模块之间的通讯系统。
针对本申请实施例中所涉及到的发送端的通信设备以及接收端的通信设备中的任一个通信设备来说,该通信设备可以是网络设备,或为设置于网络设备内部的芯片。该网络设备比如可以是FlexE网络中的运营商网络(以下简称网络)边缘的通信设备,或者为运营商网络(以下简称网络)内的通信设备。其中,运营商网络边缘的通信设备英文可以称为Provider Edge node,可以简称为PE节点,运营商网络内的通信设备英文可以称为Provider node,可以简称为P节点。P节点也可以称为中间节点。该通信设备还可以是作为客户设备接入到其他承载网络,例如光传送网(OpticalTransportNetwork,OTN)或波分复用(Wavelength Division Multiplexing,WDM)等,还可以是基站(例如,基站NodeB、演进型基站eNodeB、第五代(the fifth generation,5G)通信系统中的网络设备(如传输点(transmission point,TP)、发送接收点(transmission reception point,TRP)、基站、小基站设备等)、未来通信系统中的网络设备、WiFi系统中的接入节点、无线中继节点,以及无线回传节点等等。
图1b示例性示出本申请实施例提供的一种通信系统架构示意图,如图1b所示,该通信系统可以包括两种类型的通信设备,分别为作为P节点的通信设备和作为PE节点的通信设备。图1b中通信设备一1011、通信设备四1014可以属于PE节点,通信设备二1012和通信设备三1013可以属于P节点。
通信设备一1011的一侧可以通过用户侧接口(User network interface,UNI)1501与用户设备连接,也可以与客户网络设备连接。通信设备四1014的一侧可以通过UNI1803与用户设备连接,也可以与客户网络设备连接。通信设备一1011、通信设备二1012、通信 设备三1013和通信设备四1014两两之间可以通过网络侧接口(Network to Network interface,NNI)连接。比如通信设备一1011的NNI1504与通信设备二1012的NNI1601连接,通信设备二1012的NNI1603与通信设备三1013的NNI1701连接,通信设备三1013的NNI1703与通信设备四1014的NNI1801连接,在图中仅示意性示出了一个通信设备二1012和通信设备三1013作为P节点,本领域技术人员可知在两个PE节点之间可以包括一个或多个P节点的通信设备。
本申请实施例的通信设备可以用于发送数据也可以用于接收数据,也就是说,一个通信设备既可以作为本申请实施例中的发送端通信设备,也可以作为本申请实施例中的接收端通信设备,比如上述图1b中通信设备三1013作为发送端通信设备时,可以用于发送码块流1301,当通信设备三1013作为接收端通信设备时,可以用于接收通信设备二1012发送的码块流1114。类似的,上述图1b中通信设备一1011既可以作为发送端通信设备,用于发送码块流1114,也可以作为接收端通信设备,用于接收其它设备发送的数据流。
基于上述内容,图1d示例性示出了本申请实施例提供的一种数据传输方法的流程示意图。该方法中发送端通信设备可以执行步骤4101和步骤4102。
步骤4101,发送端通信设备获取Q条第一码块流,其中,所述Q为大于1的整数。
步骤4102,发送端通信设备将所述Q条第一码块流中的码块对应的比特放入第二码块流。其中,所述第二码块流中至少包括Q个数据单元;所述第二码块流的一个数据单元承载来自一条第一码块流的码块。针对所述第二码块流中的至少所述Q个数据单元中的一个数据单元,所述数据单元中包括第一码块,所述第一码块用于确定所述数据单元在所述第二码块流中的边界。
由于将Q条第一码块流复用(复用也可以称为交织,英文也可以写为Interleaving)为一条第二码块流进行发送,当第二码块流穿越至少一个中间节点到达解复用侧的第二通信设备时,中间节点可能不需对第二码块流进行解复用,因此通过将Q条第一码块流复用为一条第二码块流传输的方案可以减少中间节点需处理的交叉连接数量,也可以减轻网络管理和运维方面的压力。
另外一方面,由于本申请实施例中所述第二码块流的一个数据单元承载来自一条第一码块流的码块,因此,第二码块流在经过中间节点时,若Q条第一码块流中存在至少两条第一码块流的下一跳通信设备不同,且当接收端通信设备没有配置用于对第二码块流进行解复用的解复用单元的情况下,接收端通信设备可以经过传统的报文转发方式,将每个数据单元转换为一个报文,一个报文中也仅仅包括一个第一码块流中的对应的比特,进而将该报文可以交换到该报文对应的第一码块流所对应的出接口。可以看出,本申请实施例提供的方案一方面可以将多条第一码块流复用为一条第二码块流进行传输,另外一方面,在接收端通信设备需要将至少两个第一码块流对应的比特交换至不同的出接口时,可以采用传统报文转发的方式,因此无需为每个接收端通信设备配置用于对第二码块流进行解复用的解复用单元,可以减低成本,而且由于无需对全网的通信设备配置用于对第二码块流进行解复用的解复用单元,因此,可以更加有利于渐进式部署通信设备,更加易于落地。
在上述步骤4102之后,可选地,发送端通信设备可以直接将第二码块流发送出去,也可以将第二码块流和其它码块流(比如其它第二码块流和/或第三码块流)再次进行复用(该复用也可以称为二级复用),将复用后的码块流发送出去。当将第二码块流与其他码块流进行复用再进行发送时,发送端通信设备在执行上述步骤4102之后还可以执行步骤 4103和步骤4104。
步骤4103,发送端通信设备获取L条第三码块流。
步骤4104,发送端通信设备将所述第二码块流和所述L条第三码块流进行基于码块的时分复用,得到待发送的第四码块流;其中,所述L条第三码块流中的一条第三码块流对应至少一个时隙。所述第二码块流对应至少一个时隙。
在上述步骤4104中,可以基于时分复用将第二码块流和第三码块流复用为第四码块流。比如基于FlexE的时分复用,可以为第二码块流和第三码块流中的每条码块流分配一个或多个时隙,根据每条码块流对应的时隙,依据时隙的排序,将第二码块流和第三码块流复用为第四码块流。为描述方便,在上述步骤4104中,仅描述了L条第三码块流可以和一条第二码块流进行复用的情况,在实际应用中,第三码块流可以和一条或多条第二码块流进行复用。由于再次将一条或多条第二码块流与一条或多条第三码块流进行复用,从而可以实现多级复用。
上述步骤4101至步骤4104描述了发送端通信设备所执行的相应方法。可选地,本申请实施例中还提供接收端通信设备所执行的方法。
一种可选地实施方案中,接收端通信设备可以执行步骤4105,。
步骤4105,接收端通信设备获取第二码块流,并对第二码块流进行处理。
在上述步骤4105中,接收端通信设备可以直接接收发送端通信设备发送的第二码块流,另外一种可选地实施方式中,接收端通信设备可以通过执行步骤4106来获取第二码块流。
步骤4106,接收端通信设备接收发送端通信设备发送的第四码块流;对所述第四码块流进行基于码块的时分解复用,得到L条第三码块流和第二码块流。
在步骤4106中,接收端通信设备对所述第四码块流进行基于码块的时分解复用,比如基于FlexE的时分解复用,依据为各个第二码块流和第三码块流分配的时隙,从第四码块流中解复用出各个第二码块流和第三码块流。
结合图1b进行描述,如图1b所示,通信设备一1101通过UNI1501收到三条第一码块流,分别为第一码块流1201、第一码块流1202和第一码块流1203,通信设备一还收到两条第三码块流,分别为第三码块流1112和第三码块流1113。该三条第一码块流以及两条第三码块流可以通过交换与速率适配单元1502的处理,比如可以进行速率适配的操作等。之后,三条第一码块流进入到复用单元1503进行处理,复用单元1503将三条第一码块流复用为一条第二码块流1111,其中,该三条第一码块流的下一跳相同,均是通信设备二1012。通信设备一1011的NNI1504可以再次将第二码块流1111、第三码块流1112和第三码块流1113进行复用,得到第四码块流1114,其中,该第二码块流和两条第三码块流的下一跳相同,均是通信设备二1012。通信设备一1011将第四码块流1114输出给下一跳通信设备二1012。本申请实施例中NNI中可以配置有复用单元,用于将第二码块流和第三码块流再次进行复用。若无第三码块流,通信设备也可以直接将第二码块流发送出去。
如图1b所示,通信设备二1012通过NNI1601接收到第四码块流1114之后,可以进行一级解复用,得到第二码块流1111、第三码块流1112和第三码块流1113。本申请实施例中NNI中还可以配置有解复用单元,用于将第四码块流解复用为第二码块流和第三码块流。通信设备二1012可以通过交换与速率适配单元1602对这三条码块流进行速率适配等操作,之后通过NNI1603将该三条码块流再次复用为一条第四码块流1114,并将第四码块 流1114输出给下一跳通信设备三1013。可以看出,第二码块流在通信设备二内部可以直接穿通,无需再将第二码块流解复用为多条第一码块流,从而节省了中间节点通信设备二的数据处理量。
本申请实施例中第二码块流在穿通中间节点时,若Q条第一码块流的下一跳通信设备是相同的,则该第二码块流可以整体穿通中间节点,比如上述第二码块流1111穿通通信设备二1012的示例。若Q条第一码块流中至少有两条第一码块流的下一跳通信设备不同的,在第二码块流在穿通中间节点时,可能需要在中间节点被进行处理,以便使Q条第一码块流进入各自对应的中间节点,比如下述内容中将提到的通信设备三1013所执行方案的示例。
如图1b所示,通信设备三1013通过NNI1701接收到第四码块流1114之后,可以进行一级解复用,得到第二码块流1111、第三码块流1112和第三码块流1113。进一步的,通信设备三中配置有解复用单元1704和复用单元1705。解复用单元1704可以将第二码块流1111解复用为第一码块流1201、第一码块流1202和第一码块流1203。第一码块流1201的下一跳与第一码块流1202的下一跳不同,第一码块流1202的下一跳与第一码块流1203的下一跳相同,通信设备三可能还收到一条第一码块流1204,第一码块流1204的下一跳第一码块流1203的下一跳相同。可以看出,通信设备三1013需要将第一码块流1201交换至对应的出接口,第一码块流1201的下一跳在图1b中并未示出。而由于第一码块流1202、第一码块流1203和第一码块流1204的下一跳相同,因此通信设备三1013可以将第一码块流1202、第一码块流1203和第一码块流1204通过复用单元1705再次进行复用,得到第二码块流1205,以进行传输。进一步,通信设备三1013可以继续将第二码块流1205与交换至网络侧接口1703的第三码块流1112和第三码块流1113再次复用为一条第四码块流1301。并将第四码块流1301输出给下一跳通信设备四1014。
如图1b所示,通信设备四1014通过NNI1801接收到第四码块流1301之后,可以进行一级解复用,得到一条第二码块流1205、第三码块流1112和第三码块流1113。进一步的,通信设备四1014中配置有解复用单元1804。解复用单元1804可以将第二码块流1205解复用为第一码块流1202、第一码块流1203和第一码块流1204。之后将解复用出的三条第一码块流和两条第三码块流经过交换与速率适配单元1802的处理,并将其交换至各个码块流对应的出接口。
本申请实施例中将第一码块流复用为第二码块流的方案可用于FlexE设备(如路由、交换机等)直连或跨传送网连接的场景,其功能涉及FlexE接口模块。图1c示例性示出了本申请实施例提供的一种通信设备内部结构的示意图,如图1c所示,通信设备2111可以包括灵活以太网层(FlexE Shim)2011、物理编码子层下半部分(physical coding sublayer lowpart,PCS lowpart)2012,以及物理介质附件子层(Physical medium attachment sublayer,PMA)2013。复用单元和解复用单元可以设置在FlexE shim之前(比如图中FlexE shim的左侧)(举个例子,比如三条第一码块流可以先经过复用单元再经过FlexE shim2011,或者第二码块流可以经由FlexE shim2011输出至解复用单元,以便解复用出各条第一码块流),也可以像FlexE一样直接把复用单元和解复用单元插入到PCS lowpart之上,实现以太网接口的时隙化。可选地,通信设备中的灵活以太网层(FlexE Shim)2011可以存在也可以不存在,灵活以太网层(FlexE Shim)2011存在时可以针对FlexE K*5Gbps管道划分灵活粒度管道,灵活以太网层(FlexE Shim)2011不存在时可以针对以太网接口划分灵活粒度管 道。
下面对本申请实施例中所涉及到的Q条第一码块流、第二码块流、第三码块流和第四码块流中的任一条码块流,以及Q条第一码块流、第二码块流、第三码块流和第四码块流中的任一条码块流中的一个码块进行介绍。除特别说明外,下文中针对码块流的描述均适用于第一码块流、第二码块流、第三码块流和第四码块流中的任一条码块流。除特别说明外,下文中针对码块的描述均适用于第一码块流、第二码块流、第三码块流和第四码块流中的任一个码块。
本申请实施例中所定义的码块流(比如第一码块流和第二码块流)可以指以码块为单位的数据流。本申请实施例中,码块(比如第一码块流中的码块和第二码块流中的码块)的英文可以写为Bit Block,或者英文写为Block。本申请实施例中可以将比特流(该比特流可以是编码后的或编码前的)中预设数量的比特称为一个码块(该码块也可以称为一个比特组或比特块)。比如本申请实施例中可以将1个比特称为一个码块,再比如可以将2个比特称为一个码块。另一种可选地实施方式中,本申请实施例中所定义的码块可以是使用编码类型对比特流进行编码之后得到的码块。
图2a示例性示出了标准中定义的64B/66B编码格式的码块的结构示意图,图2b还示例性示出了空闲码块的结构形式。如图2a和图2b所示,该码块为IEEE Std 802.3-2018.IEEE Standard for Ethenet SECTION SIX标准所定义。如图2a和图2b所示,码块的同步头区域包括码块的第0比特和第1比特,码块的同步头区域有两种情况,分别为01和10。同步头为01的码块称为数据码块,数据码块可以写为D码块;同步头为10的称为控制码块。控制码块的字段D0占用8比特,可以称为控制码块的类型域(类型域可以写为type域)。
控制码块可以包括:头码块、尾码块、Ordered set码块(也可以写为O码块)、空闲码块(空闲码块也可以写为IDLE码块)、错误码块(错误码块也可以写为error码块)、低功耗码块等。本申请实施例中头码块可以是指同步头为10且类型为0x78的码块,可以写为S码块。本申请实施例中尾码块可以写为T码块,包括图2a中同步头为10,类型域为0x87、0x99、0xAA、0xB4、0xCC、0xD2、0xE1和0xFF的码块。本申请实施例中O码块为图2a中同步头为10且类型为0x4B的码块。本申请实施例中可以将控制码块中除S码块和T码块之外的控制码块写为C码块。本申请实施例中所涉及到的码块以图2a和图2b所示的码块结构形式为例进行示例性说明,但本申请实施例也适用于其它标准所定义的码块形式,比如8B/10B,256B/257B等。
本申请实施例中的码块的结构形式可能有多种,图2c、图2d和图2e示例性示出了三种码块的结构形式示意图。一个码块可以仅包括非同步头区域,一个码块也可以包括非同步头区域和同步头区域。一个码块的非同步头区域中可以仅包括净荷区域,一个码块的非同步头区域中也可以包括非净荷区域和净荷区域。如图2c所示,本申请实施例的码块4200为数据码块,码块4200包括的同步头区域4301承载的信息为“SH01”,“SH01”是指该码块4200的类型为数据类型。非同步头区域4302中包括净荷区域4303。数据码块的非同步头区域全部是净荷区域,如图D0~D7所示的净荷区域。
如图2d所示,本申请实施例的码块4200为O码块,O码块4200包括的同步头区域4301承载的信息为“SH10”,“SH10”是指该码块4200的类型为控制类型。非同步头区域4302中包括净荷区域4303和非净荷区域4304,非净荷区域4304可以用于承载类型字段“0x4B”、“O0”和预留字段“C4~C7”,预留字段“C4~C7”可以全部填充“0x00”。可选 地,“O0”可以填充为“0x0”、“0xF”或“0x5”等现有技术涉及的特征命令字以及“0xA”、“0x9”或“0x3”等未被现有技术所使用的特征命令字,从而与现有技术形成区别,可以用该“O0”字段填充的内容指示一些信息。可选地,本申请实施例中头码块也可以是指码块的字符中包括S的码块,也可以是新定义的O码块等新码块。
如图2e所示,本申请实施例的码块4200为IDLE码块,码块4200包括的同步头区域4301承载的信息为“SH10”,“SH10”是指该码块4200的类型为控制类型。非同步头区域4302用于承载类型字段“0x1E”,非同步头区域4302的其它字段“C0~C7”承载的内容为“0x00”。
图2f和图2g示例性示出了本申请实施例提供的一种FlexeE帧格式的结构示意图,如图2f所示,基于灵活以太网协议可以物理端口的传输构建固定帧格式,并进行基于时分复用(Time Division Multiplexing,TDM)的时隙划分。可以为第二码块流和第三码块流中的一条码块流分配一个或多个时隙。FlexE的时隙划分粒度可以为66B,对应承载一个64B/66B编码块。对于100GE PHY端口,数据码块流可以由以20为周期的64B/66B码块组成,对应20个时隙,每个时隙带宽为5G,称为一个时隙(slot)。本申请实施例中的64B/66B可以理解为64比特的比特块以及由它编码得到的66比特的编码块。
如图2f和图2g所示,灵活以太网可以基于64B/66B码块构建的时分复用帧结构。FlexE每个PHY上的数据通过周期性插入开销(OH)码块来实现对齐,比如可以是每隔1023 x 20个66B的净荷数据码块插入1个66B的开销码块(开销码块在一些应用场景下也可以写为OH码块、FLexE OH或FLexE OH码块)。如图2f和图2g所示,8行(每行包括1个OH码块+1023 x 20数据(Data))的66B码块构成一个灵活以太网协议下的协议帧,如图2f和图2g所示。32个灵活以太网协议下的协议帧构成一个灵活以太网协议下的复帧。
如图2f和图2g所示,每个FlexE帧包含8个FlexE行和8个OH码块。如图2g所示,一个FlexE帧的第一个OH码块为order-set码块(也可以称为O码块),第二个OH码块和第三个OH码块为数据码块(可以称为D码块),余下的OH码块标准中还未定义,故在图2g中码块类型填为X。如图2g所示,每个FlexE帧的8个OH码块中第三个OH码块可以用来传输FlexE Calendar,一个FlexE复帧包含32个FlexE帧,前面20个FlexE帧传输20个FlexE时隙的calendar,后面12个FlexE帧无calendar可传,可以变为保留字段。
在上述步骤4101中,可以基于时分复用将Q条第一码块流复用为一条第二码块流。在上述步骤4104中,也可以基于时分复用将第二码块流和第三码块流复用为第四码块流。第三码块流对应至少一个时隙。所述第二码块流对应至少一个时隙。本申请实施例中还涉及到子时隙的概念,子时隙是由一个时隙划分得来,一个时隙可以至少划分为两个子时隙。子时隙的带宽小于时隙的带宽。本申请实施例中所提到的一个时隙可以是指占用一定带宽的时隙,比如在FlexE中定义的占用5G带宽的一个时隙。为了方便介绍,本申请实施例以FlexE为例进行介绍,若有其他标准定义其他带宽的时隙,本申请实施例也适用。
一种可选地实施方式中,一条第二码块流对应一个时隙,一个时隙可以划分为F个子时隙。另外一种可选地实施方式中,可以选择多个时隙一起进行划分,比如将多个时隙作为一个整体,一起划分为F个子时隙。可选地,本申请实施例中为了实现更细粒度的子时隙承载业务,可以使子时隙的带宽小于时隙的带宽,可选地,一个时隙划分为至少两个子时隙。当通过子时隙来承载第一码块流(比如,一个第二码块流对应一个时隙,则Q条第一码块流可以映射到一个时隙上进行传输,Q条第一码块流共同占用一个时隙。若一个时 隙的带宽为5G,则Q条第一码块流一共占用5G的带宽),每条第一码块流所占用的带宽粒度可以较小,从而可以实现通过更细粒度的子时隙来承载数据的目的,提升带宽利用率,可以更加满足在实际应用中的灵活速率业务或低速业务接入需求,可以减少带宽的浪费情况。
在上述步骤4102中,一种可选地实施方式中,发送端通信设备可以根据所述Q条第一码块流与F个子时隙的对应关系,将所述Q条第一码块流中的码块对应的比特放入第二码块流。所述Q条第一码块流中的一条第一码块流对应所述F个子时隙中的一个或多个子时隙。所述F为不小于所述Q的整数。比如,将一个时隙划分为子时隙0、子时隙1、子时隙2。若有三条第一码块流,可以给每条第一码块流分配一个子时隙。也可以给一条第一码块流分配多个子时隙,比如若有两条第一码块流,可以给其中一条分配子时隙0和子时隙2,给另外一条第一码块流分配子时隙1。为每条第一码块流分配的子时隙的数量可以根据具体的需求为其分配。
子时隙可以有标识,子时隙也有排序,比如若有32个子时隙,从子时隙0至子时隙31的排序是根据子时隙的标识进行排序的,子时隙的标识是0至31。发送端通信设备可以根据子时隙0至子时隙31的排序,依序循环的获取子时隙0至子时隙31对应的第一码块流中的码块对应的比特。图3a示例性示出了本申请实施例提供的一种第二数据单元的结构形式,图3a中仅以三条第一码块流,且一个数据单元对应一个子时隙为例进行举例。数据单元311对应子时隙0,数据单元321对应子时隙1,数据单元331对应子时隙2,数据单元341对应子时隙4。可以根据子时隙和第一码块流的对应关系,将第一码块流的码块对应的比特放入第一码块流对应的子时隙所对应的数据单元中,比如图3a中,第一码块流313分配了子时隙0和子时隙4,第一码块流323分配了子时隙2,第一码块流333分配了子时隙3。又一种可选地实施方式中,一个子时隙可以对应多个数据单元,一个数据单元对应一个子时隙,比如数据单元311对应子时隙0,而子时隙0可以对应数据单元311和数据单元322。若子时隙0被分配给第一码块流313,则数据单元311和数据单元322上都承载来自第一码块流313的码块对应的比特,该示例未在图中示出。如此,可以使一个数据单元仅承载一条第一码块流中的码块。
进一步,为了达到该目的,若一条第一码块流中的码块对应的比特放不满一个数据单元,则可以在该数据单元中填充一些字符,比如空闲字符,或者填充一些其他控制信息。也就是说,针对第二码块流的一个数据单元中,该数据单元除了承载有来自第一码块流的码块对应的比特外,可能还会承载有一些填充比特,填充比特可以是指上述空闲字符,或者其他控制信息对应的比特。又一种可选地实施方式中,针对所述第二码块流中的一个数据单元,所述数据单元包括所述第一码块和J个数据码块;所述J个数据码块中的(J-Z)个码块承载来自一条第一码块流的码块对应的比特,其余Z个数据码块上承载空闲字符,所述J为正整数,所述Z为零或为不大于J的正整数。又一种可选地实施方式中,针对所述第二码块流中的一个数据单元,所述数据单元包括所述第一码块和J个数据码块;所述J个数据码块承载V个来自一条第一码块流的码块所对应的比特,V小于或等于J。V为正整数。也就是说,第二码块流的一个数据单元中包括有J个数据码块,J个数据码块可以承载K个第一码块流中的码块对应的比特。当V个码块放入J个数据码块中,放不满时,则可以填充一些空闲字符等内容。具体相关示例可以参见下述内容中的复用方案a1、复用方案a2和复用方案a3中的相关描述。
举个例子,FlexE接口目前只能K*5Gbps(K为不大于20的正整数)的粒度来划分管道,其中,*表示乘。实际应用中通常需要更灵活的管道带宽,本申请实施例中通过在现有FlexE接口的K*5Gbps管道中划分TDM复用段,以一个数据单元为复用单元,一个数据单元中可以封装N*64B/66B个码块,一个数据单元可以对应一个子时隙,进行TDM复用以实现更小的粒度。也就是说,本申请实施例中可以对多路第一码块流分别进行分段封装,形成N*64B/66B的定长帧封装后再进行TDM复用,以形成复用周期为P的复用段,在K*5Gbps的FlexE管道中传输,由此把K*5Gbps的管道划分成P个
粒度的子时隙。可以根据带宽需求,为一条第一码块流选择子时隙数量M,获得与业务带宽相匹配的灵活粒度管道带宽:
其中,P为不小于Q的正整数。M为正整数。
比如,在5Gbps的FlexE管道中以35个64B/66B码块为一个复用单元,除头码块和尾码块外,每个定长封装的数据单元可承载31个数据码块和一个开销码块,可选地,还可以在尾码块后预留一个空闲码块,则传输效率为88.6%(31/35),以P=2200创建复用子帧,进行多业务TDM复用,子时隙带宽为:2Mbps(=88.6%*5Gbps/2200)。
图3a示例性示出了本申请实施例提供的一种第二数据单元的结构形式,如图3a所示,将第一码块流313、第一码块流323和第一码块流333复用为一条第二码块流301。第二码块流301中包括多个数据单元,比如数据单元311、数据单元321、数据单元331和数据单元341。本申请实施例中的数据单元包括第一码块。可选地,所述第一码块可以包括头码块、开销码块和尾码块中的一项或多项。如此,可以更好的兼容现有技术。第一码块用于定出一个数据单元的边界。如此,可以使接收端通信设备接收到第二码块流后,根据第一码块定出一个数据单元的边界。
一种可选地实施方式中,针对所述第二码块流中的两个数据单元,所述两个数据单元包括的码块的数量相同。如此,可以简化通信设备的数据处理流程。一个数据单元中包括的码块的数量为整数。又一种可选地实施方式中,由于每个数据单元都可以单独定出边界,因此两个数据单元中包括的码块的总数量也可以不同。如此,可以提高方案的灵活性。
一种可选地实施方式中,针对一个数据单元的所有码块来说,第一码块流的码块对应的比特可以放入数据单元的码块的非同步头区域,比如当数据单元包括头码块、开销码块、数据码块和尾码块,则第一码块流的码块对应的比特除了可以放在数据单元的非同步头区域之外,还可以放在头码块的非同步区域、开销码块的非同步头区域,以及尾码块的非同步区域中的一项或多项中。又一种可选地实施方式中,针对一个数据单元的所有码块来说,第一码块流的码块对应的比特可以放入数据单元的码块的非同步头区域的净荷区域。又外一种可选地实施方式中,第一码块流的码块对应的比特可以放入数据单元的数据码块的非同步头区域。
如图3a所示,所述第二码块流的一个数据单元承载来自一条第一码块流的码块。也就是说,一个数据单元仅承载一条第一码块流中的码块。比如图3a所示,数据单元311承载第一码块流313中的码块对应的比特。数据单元321承载第一码块流323中的码块对应的比特。数据单元331承载第一码块流333中的码块对应的比特。
一种可选地实施方式中,所述第二码块流的相邻数据单元之间包括R个空闲码块,所述R为零或正整数。所述R个空闲码块用于在对所述第二码块流进行速率适配时进行空闲码块的删除操作。第二码块流的相邻数据单元之间间隔IDLE码块的数量可以是个变量,可以依据具体应用场景进行调整。如图3a所示,比如数据单元311和数据单元321之间预留有一个IDLE,数据单元321和数据单元331之间预留有两个IDLE,数据单元331和数 据单元351之间预留有一个IDLE。当然数据单元之间预留的IDLE数量也可以为零。第二码块流在经过其它节点进行传输的过程中,可以在数据单元之间增加IDLE,也可以对数据单元之间的IDLE进行删除。也就是说,由于将原始的第一码块流的码块对应的比特封装在数据单元内,而进行IDLE增删时仅仅涉及到数据单元之间的IDLE,因此IDLE增删不会影响到第一码块流中的IDLE码块对应的比特,也就是保持了原始的第一码块流的完整性。
另外,第二码块流中的一个数据单元的内部可选地,除了包括头码块、开销码块、尾端码块、数据码块之外,还可以包括一些IDLE码块,IDLE码块在数据单元中的位置可以是预先配置,也可以是随机的。可选地,在第二码块流的相邻数据单元之间除了可以设置空闲码块之外,还可以配置一些其它码块,比如数据码块、S码块等等。
图3b示例性示出了将图3a所示的第二码块流映射到图2g所示的时隙上的结构示意图,如图3b所示,第二码块流对应时隙1,第二码块流的码块可以依次占用时隙1中的子时隙。
在步骤4102中,可选地,针对所述第二码块流的一个数据单元,所述数据单元还包括有第一指示信息。如此,接收端通信设备可以根据数据单元上承载的第一指示信息确定出该数据单元上承载的来自第一码块流的码块所对应的第一码块流的码块流标识。进而可根据该码块流标识对该数据单元上承载的来自第一码块流的码块进行恢复或交换。所述第一指示信息用于指示:所述数据单元承载的来自第一码块流的码块所对应的码块流标识。可选地,第一指示信息可以放置在第一码块上。一种可选地实施方式中,当所述第二码块流中的一个数据单元中包括有开销码块,所述第一指示信息承载于所述开销码块。如此,当第二码块流穿过未配置用于对第二码块流进行解复用的解复用单元的通信设备的情况下,该通信设备可以将该数据单元的头码块和尾码块剥离,进而将开销码块上承载的第一指示信息承载至报文头,并将该数据单元的数据码块对应的比特放入报文的负荷,从而达到将该数据单元转换为报文的目的,且在该报文的报文头中携带该报文负荷中承载的来自第一码块流的码块对应的码块流标识。下述表1示例性示出了一种开销码块承载信息的结构示意图。如表1所示,第一指示信息可以承载在开销码块的ClientID字段。
表1 一种开销码块承载信息的结构示意图
在上述步骤4102中,有多种复用方案,下面通过下述复用方案a1、复用方案a2和复用方案a3分别进行介绍。
复用方案a1
在一种可选地实施方式中,针对所述Q条第一码块流中的一条第一码块流,所述第一码块流的码块对应比特承载于所述第二码块流中的码块的净荷区域。一种可选地实施方式中,可将所述第一码块流的码块对应比特承载于所述第二码块流中的数据码块的净荷区域。又一种可选地实施方式中,除将所述第一码块流的码块对应比特承载于所述第二码块流中的数据码块的净荷区域之外,还可将所述第一码块流的码块对应比特承载于第一码块的净荷区域。可选地,可根据需要在尾码块加上4bytes的CRC32校验,校验范围包含一个数据单元中从开销码块开始的全部数据。该方案中由于第一码块流的码块的同步头区域和非同步头区域都发送给接收端,因此可以省去等待接收用于指示同步头区域的第二指示信息的时延,从而可以降低第一码块流的接收时延。
图4a示例性示出了一种将第一码块流313的码块对应的比特放入第二码块流301的数据单元311的结构示意图。如图4a所示,数据单元311包括头码块341、开销码块342、以及一个或多个数据码块312和尾码块344。在图4a中,将第一码块流313的码块对应的比特放入数据单元311的一个或多个数据码块312中。可选地,如图4a所示,针对第一码块流的码块对应的比特(包括码块的同步头区域对应的比特和非同步头区域对应的比特),可以将第一码块流的码块对应的比特放入数据单元311的一个或多个数据码块312的净荷区域343。图4a中仅仅示例出了一个数据码块的净荷区域343。图3a中将第一码块流323的码块对应的比特放入第二码块流301的数据单元321的一个或多个数据码块322中,以及图3a中将第一码块流333的码块对应的比特放入第二码块流301的数据单元331的一个或多个数据码块332中,以及图3a中将第一码块流313的码块对应的比特放入第二码块流301的数据单元341的一个或多个数据码块中的方案均可参加图4a的示例。
在一种可选地实施方式中,所述Q条第一码块流中的一条第一码块流的编码类型为M1/N1比特编码,所述M1为正整数,所述N1为不小于所述M1的整数;所述第二码块流的编码类型为M2/N2;所述M2为正整数,所述N2为不小于所述M2的整数。
本申请实施例中定义了一些编码方式,比如M1/N1比特编码、M2/N2比特编码和下述内容所提到的M3/N3比特编码,本申请实施例中将这些编码方式统称为M/N编码方式,也就是说本申请实施例中对M/N比特编码的描述可以适用于M1/N1比特编码、M2/N2比特编码和M3/N3比特编码中的任一项或任多项,即当M1适用于对M的描述时,N1对应适用于对N的描述;即当M2适用于对M的描述时,N2对应适用于对N的描述;即当M3适用于对M的描述时,N2对应适用于对N的描述;其中,M为正整数,N为不小于M的整数。
一种可选地实施方式中,M可以等于N,如此,若一个码块分为同步头区域和非同步头区域,则可以理解同步头区域承载的比特位为0。或者也可以理解为将预设数量的比特称为一个码块。通过其他技术手段来确定码块的边界。
另一种可选地实施方式中,N可以大于M。但并没有明确的同步头。比如,使用8B/10B编码进行编码后实现直流均衡后得到的码块,10比特信息长度的8B/10B码块样本为1024个,远高于8比特信息长度需要的256个码块样本数量。可以通过预订的码块样本实现8B/10B码块同步,识别8B/10B码块的边界。该8B/10B码块仅包括非同步头区域。图4a 示例性示出了本申请实施例提供的一种码块的结构示意图,如图4a所示,码块4200包括的同步头区域承载的比特为0,码块4200包括的全部比特都为非同步头区域4201承载的比特。
在N可以大于M的可选地实施方式中,比如,M/N比特编码可以是在802.3中定义的使用64B/66B编码(64B/66B编码也可以写为64/66比特编码),如该标准中定义的,码块可以包括同步头区域和非同步头区域。本申请实施例中使用M/N比特编码编码后得到的码块可以是指非同步头区域包括M个比特,编码后的一个码块的总比特数是N比特的码块;M/N比特编码编码后得到的码块也可以描述为:非同步头区域的M比特+同步头区域的若干个比特构成的码块。本申请实施例中的同步头区域4301承载的信息可以用于指示码块的类型,码块的类型可以包括控制类型、数据类型以及一些其它类型等等。
实际应用中,可以在Ethernet物理层链路传递经过M/N比特编码所得到的码块流,M/N比特编码可以是1G Ethernet中采用8B/10B编码,即1GE物理层链路传递的为8B/10B编码类型的码块流(码块流的英文也可以称为Block流);M/N比特编码可以是10GE、40GE和/或100GE中采用的64B/66B编码,即10GE、40GE和/或100GE物理层链路传递64B/66B的码块流。未来随Ethernet技术发展,可能会出现其他编码解码,本申请实施例中的M/N比特编码也可以是未来出现的一些编码类型,比如可能出现128B/130B编码、256B/257B编码等等。实际应用中,码块可以是根据IEEE 802.3已经规范的以太网物理编码子层(Physical Coding Sublayer,PCS)子层编码所得到的使用8B/10B编码所得到的码块(也可以称为8B/10B码块)、以及使用64B/66B编码所得到的码块(也可以称为64B/66B码块)等。再比如本申请实施例中的码块可以是802.3以太网前向纠错码(Forward Error Correction,FEC)子层使用256B/257B编码(转码)所得到的码块(可以称为256B/257B码块),再比如本申请实施例中的码块可以是ITU-T G.709中使用基于64B/66B转码得到的64B/65B码块所得到的码块(也可以称为64B/65B码块)、512B/514B码块等。再比如本申请实施例中的码块可以是Interlaken总线规范的使用64B/67B编码所得到的码块(也可以称为64B/67B码块)等。
该复用方案a1中,若第一码块流和第二码块流均为64B/66B的编码方式,若第一码块流的32个码块放入一个数据单元中,且把32个66B码块进行位宽转换,转换为33个64bits数据块,并在头部插入8bytes的OH字段,然后再在头部加上8bytes Preamble和尾部加上16Bytes空闲字符(有CRC32则加12Bytes空闲字符),然后进行64B/66B编码,形成36*64B/66B的数据单元和一个空闲码块。若第一码块流的码块对应的比特填不满一个数据单元,则需要进行填充,举个例子,若需要将第一码块流的47个64B/66B码块放入一个数据单元,则需要填充比特数量为:34=(64*ceil(47*66/64)-47*66)。
复用方案a2
在一种可选地实施方式中,针对所述Q条第一码块流中的第一码块流进行压缩处理,得到Q条压缩后码块序列;将所述Q条压缩后码块序列中的码块对应的比特放入第二码块流。如此,可以进一步提高数据传输效率,提高封装效率,避免逐层封装引入过度的带宽膨胀。
一种可选地实施方式中,针对所述Q条压缩后码块序列中的一条压缩后码块序列:所述压缩后码块序列的码块对应比特承载于所述第二码块流中的码块的净荷区域。一种可选地实施方式中,可将压缩后码块序列的码块对应比特承载于所述第二码块流中的数据码块 的净荷区域。又一种可选地实施方式中,除将压缩后码块序列的码块对应比特承载于所述第二码块流中的数据码块的净荷区域之外,还可将压缩后码块序列的码块对应比特承载于第一码块的净荷区域。
图4b示例性示出了本申请实施例提供的另一种第二码块流的结构示意图,如图4b所示,图4b是在图4a的基础上进行的改进,图4b中,将第一码块流313进行压缩处理,得到压缩后码块序列351,之后将压缩后码块序列351对应的比特放置入第二码块流301的数据单元311的一个或多个数据码块312的净荷区域343。可选地,可以在开销码块342上承载用于指示第一码块流313的码块流标识的第一指示信息。
下面以第一码块流313压缩为压缩后码块序列351为例说明。压缩处理的方式有多种,比如可以对第一码块流313中的每个码块单独进行压缩,比如将第一码块流313中每个码块的同步头区域由2比特压缩成为1比特,比如将“10”压缩为“1”,将“01”压缩为“0”。压缩后码块序列的编码形式为M3/N3;M3为正整数,N3为不小于M3的整数。第一码块流313中的码块编码为64B/66B时,压缩后码块序列351的编码形式变为64/65比特编码。同步头区域为“10”的码块表示该码块的类型为控制类型。
另一种可选地压缩处理的方式中,由于目前广泛使用的控制类型的码块的类型字段包括0x1E、0x2D、0x33、0x4B、0x55、0x66、0x78、0x87、0x99、0xAA、0xB4、0xCC、0xD2、0xE1和0xFF。0x00等其他数值保留未用。码块的类型字段占用了1字节,因此可以将控制类型的码块的类型字段从8比特压缩为4比特,比如将“0x1E”压缩为“0x1”,将“0x2D”压缩为“0x2”等。如此,节省出的4比特空间可以用于多个码块的组合顺序识别,如此可以获得更高的映射效率。一个典型的例子,此类压缩处理方式之一,可以将待处理序列中连续的多个码块进行压缩。比如,一种可选地实施方式中,可以将第一码块流313中的4个64B/66B码块转换为一个压缩后码块序列351中的256B/257B码块,比如可以通过第1个比特来区分该256B/257B码块是否包含控制块。图4c示例性示出了本申请实施例提供的一种压缩处理方式的示意图,如图4c所示,该256B/257B码块的第1个比特为1则表示该256B/257B码块不包含待处理序列中的控制类型的码块,全部为待处理序列中的数据类型的码块,如此,第一码块流313中的4个64B/66B码块的共8比特同步头可以压缩为1比特。图4d示例性示出了本申请实施例提供的一种压缩处理方式的示意图,如图4d所示,该256B/257B码块的第1个比特为0,则表示该256B/257B码块中包括至少一个待处理序列中的控制类型的码块,之后在该256B/257B码块中包括的第一个64B/66B码块的类型字段的4个比特可以用于依次指示该256B/257B码块中包括的4个来自第一码块流313的4个64B/66B码块的类型,比如该256B/257B码块中包括的4个来自第一码块流313的4个64B/66B码块的类型均为控制类型,则该4比特可以依次为“0000”,如此可以将该256B/257B码块中包括的4个来自第一码块流313的4个64B/66B码块的同步头区域压缩掉,也就是说,节省出的码块的类型字段的4比特空间可以用于多个码块的组合顺序识别。
复用方案a3
在一种可选地实施方式中,针对所述Q条第一码块流中的一条第一码块流:所述第一码块流的码块的非同步头区域对应的比特承载于所述第二码块流中的码块的净荷区域,且:所述第二码块流中还包括有第二指示信息,所述第二指示信息用于指示所述第一码块流的码块的同步头区域的比特值。可选地,第二指示信息可以放置在头码块、开销码块或尾码 块中。
该复用方案a3中,针对第一码块流中的每个码块,每个码块包括同步头区域和非同步头区域,可选地,将第一码块流的码块的非同步头区域对应的比特承载于所述第二码块流中的码块的净荷区域。可选地,可以将第一码块流的码块的非同步头区域对应的比特承载于所述第二码块流中的数据码块的净荷区域。这种方式,也就是说无论第一数据流中的码块的同步头区域是10还是01,该码块的非同步头区域部分都承载在第二码块流的数据单元的数据码块的净荷区域。而一个数据单元上承载的来自第一码块流的码块的非同步头区域的比特值可通过比特位图(即第二指示信息)来指示。
一种可选地实施方式中,考虑到传输链路误码检测,可以在数据单元的尾码块中插入4bytes CRC32校验码,则尾码块可以为T4码块,校验范围可以从开销码块开始到最后一个数据码块,且2bits同步头不纳入计算。
基于上述内容,下面对接收端通信设备所执行的方案进行介绍。接收端通信设备所执行的方案可通过下述方案b1、方案b2和方案b3来进行介绍。
方案b1
结合图1b来看,本申请实施例中的接收端通信设备有两种,一种接收端通信设备并不对第二码块流进行解复用,也可以说第二码块流作为一个整体,整体穿通该接收端通信设备,去往下一跳。比如上述图1b的通信设备二1012。这种示例中,对于当前的接收端通信设备来说,第二码块流中包括的所有第一码块流的下一跳相同。该方案中,由于不需对第二码块流进行解复用,因此通过将Q条第一码块流复用为一条第二码块流传输的方案可以减少中间节点需处理的交叉连接数量,也可以减轻网络管理和运维方面的压力。
可选地,接收端通信设备所述对所述第二码块流进行处理,可以包括:根据所述第二码块流对应的时隙和出接口,将所述第二码块流交换到所述时隙和所述出接口。接收端通信设备还可以根据所述第二码块流速率适配的需求,在所述第二码块流相邻的两个数据单元之间进行的空闲码块的增删操作。由于将原始的第一码块流的码块对应的比特封装在数据单元内,而进行IDLE增删时仅仅涉及到数据单元之间的IDLE,因此IDLE增删不会影响到第一码块流中的IDLE码块对应的比特,也就是保持了原始的第一码块流的完整性。
方案b2
接收端通信设备需要对接收到的第二码块流进行解复用,比如上述图1b中的通信设备三和通信设备四。上述通信设备三和通信设备四对第二码块流进行解复用是通过解复用单元执行的。这种情况下,需要为接收端通信设备配置解复用单元,以便解复用出第一码块流。
一种可选地实施方式中,接收端通信设备所述对所述第二码块流进行处理,包括:针对所述第二码块流中的一个数据单元,执行:根据所述数据单元包括的所述第一码块,确定出所述数据单元的边界;根据确定出边界的所述数据单元上承载的第一指示信息,确定所述数据单元承载的来自第一码块流的码块对应的比特所对应的码块流标识;从所述数据单元上承载的来自第一码块流的码块对应的比特,恢复出所述码块流标识对应的第一码块流中的码块。
进一步,可选地,可以存储第一码块流和出接口的对应关系,在接收端通信设备恢复出第一码块流之后,根据第一码块流的码块流标识与出接口的对应关系,将恢复出的所述第一码块流中的码块交换至所述码块流标识对应的出接口。
又一种可选地实施方式中,可以存储第一码块流、出接口和子时隙的对应关系,在接收端通信设备恢复出第一码块流之后,根据第一码块流的码块流标识与出接口和子时隙的对应关系,将恢复出的所述第一码块流中的码块交换至所述码块流标识对应的出接口和子时隙。
又一种可选地实施方式中,一个子时隙是从一个时隙中划分来的,可以说一个子时隙对应一个时隙,一个时隙可以对应至少两个子时隙。可以存储第一码块流、出接口和时隙的对应关系,在接收端通信设备恢复出第一码块流之后,根据第一码块流的码块流标识与出接口和时隙的对应关系,将恢复出的所述第一码块流中的码块交换至所述码块流标识对应的出接口和时隙。
进一步,可选地,对解复用出来的各个第一码块流可以进行速率适配,比如上述通信设备四的教诲与速率适配单元1802对各个第一码块流所进行的速率适配操作。可选地,接收端通信设备从所述数据单元上承载的来自第一码块流的码块对应的比特,恢复出所述码块流标识对应的第一码块流中的码块之后,还包括:根据所述第一码块流速率适配的需求,对所述第一码块流中的空闲码块进行增删操作。由于这种情况下,已经将第一码块流恢复出来,因此再对第一码块流中的空闲码块进行增删操作并不会带来负面影响。
进一步,若发送端通信设备在将多条第一码块流复用为一条第二码块流时,是将第一码块流进行了压缩,并将压缩后码块序列复用至第二码块流,则接收端通信设备针对所述第二码块流中的一个数据单元,执行:从所述数据单元上获取所述数据单元承载的来自所述第一码块流中的码块对应的比特;对获取到的所述数据单元承载的来自所述第一码块流中的码块进行解压缩,得到所述数据单元对应的第一码块流中的码块。解压缩的方法为前述压缩方法的逆处理。比如,压缩是采用前述的将同步头区域由两比特压缩为一比特,则在进行解压缩时,可以将同步头区域从1比特解压缩为2比特。其余压缩方法对应的解压缩仅仅是前述压缩方案的逆处理,在此不再赘述。
方案b3
上述图1b中接收端通信设备若需进行解复用,均需配置解复用单元,比如通信设备三1013中的解复用单元1704。但是有些通信设备中并未配置解复用单元。若未配置解复用单元的通信设备也需要对第二码块流进行解复用,则可应用本申请实施例提供的该方案b3。如此,可以兼容未配置解复用单元的旧通信设备。
图5a提供了本申请实施例提供的一种通信设备的结构示意图,当上述图1b中的通信设备三1013替换为图5a中的通信设备五1015时,即在通信链路上存在通信设备五1015为老设备,并未配置解复用单元。这种情况下,通信设备五通过NNI1901接收到第四码块流1114之后,将第四码块流解复用为第二码块流1111、第三码块流1112和第三码块流1113。
通信设备五1015根据第二码块流中的所述数据单元包括的所述第一码块,确定出第二码块流中的所述数据单元的边界,根据第二码块流中被确定出边界的数据单元承载的第一指示信息和所述数据单元的数据码块对应的比特,对所述第二码块流进行处理,得到第二码块流对应的报文流。具体可以由通信设备五1015中的转换单元1902将第二码块流1111转换为报文流1401。针对所述第二码块流中的一个数据单元,所述数据单元对应所述报文流中的一个报文,所述报文的报文头承载所述数据单元中的第一指示信息,所述报文的负荷至少承载所述数据单元的数据码块对应的比特。转换单元1902可以是现有FlexE通信设备中的liteMAC层的单元。liteMAC即简化版MAC。
本申请实施例中通过把码块交织复用的复用单元由单个码块扩展到多个码块的码块组,并在复用单元中承载一个定长封装的帧,帧的payload承载第一码块流中的码块,由此实现报文与TDM的融合,既可在新设备中实现TDM管道效果,又能在现网通信设备中以报文处理的方式实现第二码块流的解复用与交换,即可以使得第二码块流在现有FlexE网络中以报文解析和标签转发的方式进行交换,从而实现兼容,便于渐进式部署,即不必将全网的通信设备上都配置解复用单元,从而可以降低费用。
一种可选地实施方式中,第二码块流中一个数据单元包括头码块、开销码块、数据码块和尾码块。通信设备五1015可以识别出一个数据单元。可选地,可以将头码块和尾码块剥去,将开销码块中的第一指示信息放入一个报文的报文头,将数据单元的数据码块的所有比特直接承载在报文的负荷中。可选地,可以将数据单元的数据码块的所有比特直接承载在报文的有效负荷(payload)中。当第一码块流的码块对应的比特承载在第二码块流的数据单元的数据码块的净荷区域时,可以看出,这种实施方式中,报文的负荷中既承载有数据单元对应承载的来自第一码块流的码块对应的比特,也承载有数据单元中数据码块的同步头区域对应的比特(数据码块的同步头区域对应的比特不是来自第一码块流,而是在生成第二码块流时生成的)。
又一种可选地实施方式中,第二码块流中一个数据单元包括头码块、开销码块、数据码块和尾码块。通信设备五1015可以识别出一个数据单元。可选地,可以不剥离头码块和尾码块,或者只剥离头码块和尾码块中的一个,之后,将开销码块中的第一指示信息放入一个报文的报文头,将数据单元的数据码块的所有比特,以及未被剥离的头码块和/或尾码块直接承载在报文的负荷中。
举个例子,可以将一个数据单元的8bytes开销码块作为报文头,将尾部为4bytes CRC32作为报文尾,将数据单元中间封装的32个64B/66B码块全部当做33*8bytes的报文负荷(也可以是有效负荷payload)部分,将报文流送到调度单元1904,调度单元可以以报文转发的方式将报文发送到对应的出接口,其中,4bytes CRC32在完成对报文的校验后可以丢弃而不随报文送到调度单元。
进一步的,接收端通信设备在得到第二码块流对应的报文流之后,还包括:针对所述报文流中的一个报文,执行:通过查表确定所述报文的报文头中码块流标识对应的出接口;所述报文交换到所述出接口。比如可以由通信设备五1015的调度单元1904来执行,将报文以报文转发的方式发送至报文对应的出接口。报文流中各个报文的排序和各个报文对应的数据单元在第二码块流的排序是一致的。
一种可选地实施方式中,经过转换单元交换到对应出接口的报文经过调度单元进行调度输出,调度单元可以是流量管理与调度模块(TM Scheduler),调度单元无法保证每一个业务的固定子时隙,因此存在一定的抖动,但可通过带权重的轮询调度机制保证每个第一码块流的带宽。下面举个例子对本申请实施例提到的权重轮询调度机制进行说明,如图5a所示,转换单元1902获取了报文流1401。报文流1401中包括有第一码块流1201对应的报文、第一码块流1202对应的报文,以及第一报文流1203对应的报文。本申请实施例中提到的权重可以是每个第一码块流的信用(credit),也可以是一个调度周期允许输出的最大数据量,可以是字节数量或报文数量,这里以报文数量为单位,若第一码块流1201、第一码块流1202,以及第一报文流1203的权重分别是2:1:1,即一个调度周期可以输出4个报文,则在一个调度周期内可以输出2个第一码块流1201对应的报文,在一个调度周 期内可以输出1个第一码块流1202对应的报文,在一个调度周期内可以输出1个第一码块流1203对应的报文。可选地,在一个调度周期内报文的输出位置并不固定,但是在一个调度周期内所调度的一个第一码块流对应的报文的数量可以是确定的。
图5b为本申请实施例提供的一种通信设备的结构示意图,当上述图1b中的通信设备四1014替换为图5b中的通信设备六1016时,即在通信链路上存在通信设备六1016为老设备,并未配置解复用单元。这种情况下,通信设备六通过NNI18058接收到第四码块流1301之后,将第四码块流解复用为第二码块流1111、第三码块流1112和第三码块流1113。之后经由转换单元1805将第二码块流转换为对应的报文流1401。可选地,通信设备六1016可以从报文流1401中恢复出各个第一码块流。具体来说,所述得到第二码块流对应的报文流之后,还包括:针对所述报文流中的一个报文,执行:根据所述报文的报文头上承载的第一指示信息,确定所述报文承载的来自第一码块流的码块对应的比特所对应的码块流标识;从所述报文的负荷上承载的所述数据单元的数据码块对应的比特中,恢复出所述码块流标识对应的第一码块流中的码块。
本申请实施例中若采用方案b3的报文转发机制实现交换,则可在现网FlexE设备中应用,实现现网设备兼容和渐进式部署。避免了将全网的通信设备更换的问题,相比于更换全网的通信设备,可以减少代价,较易落地。
进一步,若发送端通信设备在将多条第一码块流复用为一条第二码块流时,是将第一码块流进行了压缩,并将压缩后码块序列复用至第二码块流,则接收端通信设备针对所述报文流中的一个报文,执行:从所述报文上获取所述报文承载的来自所述第一码块流中的码块对应的比特;对获取到的所述报文承载的来自所述第一码块流中的码块进行解压缩,得到所述报文对应的第一码块流中的码块。解压缩的方法为前述压缩方法的逆处理。如前所述,在此不再赘述。
根据前述方法,图6为本申请实施例提供的通信设备的结构示意图,如图6所示,该通信设备可以为网络设备,也可以为芯片或电路,比如可设置于网络设备的芯片或电路。
进一步的,该通信设备701还可以进一步包括总线系统,其中,处理器702、存储器704、收发器703可以通过总线系统相连。
应理解,上述处理器702可以是一个芯片。例如,该处理器702可以是现场可编程门阵列(field programmable gate array,FPGA),可以是专用集成芯片(application specific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processor unit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
在实现过程中,上述方法的各步骤可以通过处理器702中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器702中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器704,处理器702读取存储器704中的信息,结合其硬件完成上述方法的步骤。
应注意,本申请实施例中的处理器702可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或 者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器704可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
该通信设备701可以用于执行上述发送端通信设备的方案,也可以用于执行上述接收端通信设备的方案。该通信设备可以包括处理器702、收发器703和存储器704。该存储器704用于存储指令,该处理器702用于执行该存储器704存储的指令,以实现如上图1b至图5b中所示的任一项或任多项对应的方法中的相关方案。
当通信设备701用于执行上述发送端通信设备的方案,通信设备701可以用于执行上述图1b至图5b中发送端通信设备相关方法。当通信设备701用于执行上述接收端通信设备的方案,通信设备701可以用于执行上述图1b至图5b中接收端通信设备相关方法。
在第一种可能地实施方式中,通信设备701用于执行上述发送端通信设备的方案时,处理器702,用于获取Q条第一码块流,将所述Q条第一码块流中的码块对应的比特放入第二码块流;其中,所述Q为大于1的整数;所述第二码块流中至少包括Q个数据单元;所述第二码块流的一个数据单元承载来自一条第一码块流的码块;针对所述第二码块流中的至少所述Q个数据单元中的一个数据单元,所述数据单元中包括第一码块,所述第一码块用于确定所述数据单元在所述第二码块流中的边界。
通信设备701用于执行上述发送端通信设备的方案时,一种可能地实施方式中,所述处理器702,具体用于:根据所述Q条第一码块流与F个子时隙的对应关系,将所述Q条第一码块流中的码块对应的比特放入第二码块流;其中,所述第二码块流对应至少一个时隙,一个时隙划分为至少两个子时隙;所述Q条第一码块流中的一条第一码块流对应所述F个子时隙中的一个或多个子时隙;所述F为不小于所述Q的整数。
通信设备701用于执行上述接收端通信设备的方案时,在第一种可能地实施方式中, 所述处理器702,用于获取第二码块流,对所述第二码块流进行处理;其中,所述第二码块流中至少包括Q个数据单元;所述第二码块流的一个数据单元承载来自一条第一码块流的码块;针对所述Q个数据单元中的一个数据单元,所述数据单元中包括第一码块,所述第一码块用于确定所述数据单元在所述第二码块流中的边界。
通信设备701用于执行上述接收端通信设备的方案时,一种可能地实施方式中,所述处理器702,具体用于针对所述第二码块流中的一个数据单元,执行:根据所述数据单元包括的所述第一码块,确定出所述数据单元的边界;根据确定出边界的所述数据单元上承载的第一指示信息,确定所述数据单元承载的来自第一码块流的码块对应的比特所对应的码块流标识;从所述数据单元上承载的来自第一码块流的码块对应的比特中,恢复出所述码块流标识对应的第一码块流中的码块。
通信设备701用于执行上述接收端通信设备的方案时,一种可能地实施方式中,所述处理器702,具体用于:根据所述第二码块流中数据单元包括的所述第一码块,确定出所述第二码块流中数据单元的边界;根据所述第二码块流中确定出边界的数据单元承载的第一指示信息和该数据单元的数据码块对应的比特,对所述第二码块流进行处理,得到第二码块流对应的报文流;其中,针对所述第二码块流中的一个数据单元,所述数据单元对应所述报文流中的一个报文,所述报文的报文头承载所述数据单元中的第一指示信息,所述报文的负荷至少承载所述数据单元的数据码块对应的比特;针对所述报文流中的一个报文:通过查表方式将所述报文交换至所述报文的报文头中码块流标识对应的出接口,或者,从所述报文中恢复出所述报文的报文头中码块流标识对应的第一码块流中的码块。
通信设备701用于执行上述接收端通信设备的方案时,一种可能地实施方式中,所述处理器702,具体用于:针对所述报文流中的一个报文,执行:根据所述报文的报文头上承载的第一指示信息,确定所述报文承载的来自第一码块流的码块对应的比特所对应的码块流标识;从所述报文的负荷上承载的所述数据单元的数据码块对应的比特中,恢复出所述码块流标识对应的第一码块流中的码块。
该通信设备所涉及的与本申请实施例提供的技术方案相关的概念,解释和详细说明及其他步骤请参见前述方法或其他实施例中关于这些内容的描述,此处不做赘述。
根据前述方法,图7为本申请实施例提供的通信设备的结构示意图,如图7所示,通信设备801可以包括通信接口804、处理器802和收发器803。所述通信接口804,用于输入和/或输出信息;所述处理器802,用于执行计算机程序或指令,使得通信设备801实现上述图1b至图5b的相关方案中发送端通信设备和/或接收端通信设备的方法。本申请实施例中,收发器803可以实现上述图6的收发器703所实现的方案,处理器802可以实现上述图6的处理器702所实现的方案,在此不再赘述。
根据本申请实施例提供的方法,本申请实施例还提供一种通信系统,其包括前述的用于执行发送端通信设备方案的通信设备和用于执行接收端通信设备方案的通信设备。
基于以上实施例以及相同构思,图8为本申请实施例提供的通信设备的示意图,如图8所示,该通信设备901可以为发送端通信设备,或为接收端通信设备,或为可以执行上述发送功能也能执行上述接收功能的通信设备。通信设备901可以为网络设备,也可以为芯片或电路,比如可设置于网络设备的芯片或电路。
该通信设备可以实现如上图1b至图5b中所示的任一项或任多项对应的方法中发送端通信设备和/或接收端通信设备所执行的步骤。该通信设备可以包括处理单元902和收发单 元903。
通信设备901用于执行上述发送端通信设备的方案时,一种可选地实施方式中,所述处理单元902,处理单元902,用于获取Q条第一码块流,将所述Q条第一码块流中的码块对应的比特放入第二码块流;其中,所述Q为大于1的整数;所述第二码块流中至少包括Q个数据单元;所述第二码块流的一个数据单元承载来自一条第一码块流的码块;针对所述第二码块流中的至少所述Q个数据单元中的一个数据单元,所述数据单元中包括第一码块,所述第一码块用于确定所述数据单元在所述第二码块流中的边界。
通信设备901用于执行上述接收端通信设备的方案时,一种可选地实施方式中,所述处理单元902,用于获取第二码块流,对所述第二码块流进行处理;其中,所述第二码块流中至少包括Q个数据单元;所述第二码块流的一个数据单元承载来自一条第一码块流的码块;针对所述Q个数据单元中的一个数据单元,所述数据单元中包括第一码块,所述第一码块用于确定所述数据单元在所述第二码块流中的边界。
该通信设备所涉及的与本申请实施例提供的技术方案相关的概念,解释和详细说明及其他步骤请参见前述方法或其他实施例中关于这些内容的描述,此处不做赘述。
可以理解的是,上述通信设备901中各个单元的功能可以参考相应方法实施例的实现,此处不再赘述。
应理解,以上通信设备的单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。本申请实施例中,收发单元902可以由上述图6的收发器703实现,处理单元902可以由上述图6的处理器702实现。
根据本申请实施例提供的方法,本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行图1b至图5b所示实施例中任意一个实施例的方法。
根据本申请实施例提供的方法,本申请还提供一种计算机可读存储介质,该计算机可读介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行图1b至图5b所示实施例中任意一个实施例的方法。
根据本申请实施例提供的方法,本申请还提供一种系统,其包括前述的发送端通信设备和接收端通信设备。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disc,SSD))等。
上述各个装置实施例中通信设备和方法实施例中的通信设备对应,由相应的模块或单元执行相应的步骤,例如通信单元(收发器)执行方法实施例中接收或发送的步骤,除发送、接收外的其它步骤可以由处理单元(处理器)执行。具体单元的功能可以参考相应的方法实施例。其中,处理器可以为一个或多个。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在两个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各种说明性逻辑块(illustrative logical block)和步骤(step),能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (30)
- 一种数据传输方法,其特征在于,包括:获取Q条第一码块流,其中,所述Q为大于1的整数;将所述Q条第一码块流中的码块对应的比特放入第二码块流;其中,所述第二码块流中至少包括Q个数据单元;所述第二码块流的一个数据单元承载来自一条第一码块流的码块;针对所述第二码块流中的至少所述Q个数据单元中的一个数据单元,所述数据单元中包括第一码块,所述第一码块用于确定所述数据单元在所述第二码块流中的边界。
- 如权利要求1所述的方法,其特征在于,所述第二码块流的相邻数据单元之间包括R个空闲码块,所述R为零或正整数;所述R个空闲码块用于在对所述第二码块流进行速率适配时进行空闲码块的删除操作。
- 如权利要求1或2所述的方法,其特征在于,所述将所述Q条第一码块流中的码块对应的比特放入第二码块流,包括:根据所述Q条第一码块流与F个子时隙的对应关系,将所述Q条第一码块流中的码块对应的比特放入第二码块流;其中,所述第二码块流对应至少一个时隙,一个时隙划分为至少两个子时隙;所述Q条第一码块流中的一条第一码块流对应所述F个子时隙中的一个或多个子时隙;所述F为不小于所述Q的整数。
- 如权利要求1-3任一项所述的方法,其特征在于,针对所述第二码块流中的两个数据单元,所述两个数据单元包括的码块的数量相同。
- 如权利要求1-4任一项所述的方法,其特征在于,所述第一码块包括以下内容中的一项或多项:头码块、开销码块和尾码块。
- 如权利要求1-5任一项所述的方法,其特征在于,针对所述第二码块流的一个数据单元,所述数据单元还包括有第一指示信息;所述第一指示信息用于指示:所述数据单元承载的来自第一码块流的码块所对应的码块流标识。
- 如权利要求1-6任一项所述的方法,其特征在于,针对所述Q条第一码块流中的一条第一码块流:所述第一码块流的码块对应比特承载于所述第二码块流中的码块的净荷区域;或者,针对所述Q条第一码块流中的一条第一码块流:所述第一码块流的码块的非同步头区域对应的比特承载于所述第二码块流中的码块的净荷区域,且:所述第二码块流中还包括有第二指示信息,所述第二指示信息用于指示所述第一码块流的码块的同步头区域的比特值。
- 一种数据传输方法,其特征在于,包括:获取第二码块流;其中,所述第二码块流中至少包括Q个数据单元;所述第二码块流的一个数据单元承载来自一条第一码块流的码块;针对所述Q个数据单元中的一个数据单元,所述数据单元中包括第一码块,所述第一码块用于确定所述数据单元在所述第二码块 流中的边界;对所述第二码块流进行处理。
- 如权利要求8所述的方法,其特征在于,针对所述第二码块流中的一个数据单元,所述数据单元包括第一指示信息;所述第一指示信息用于指示:所述数据单元承载的来自第一码块流的码块对应的比特所对应的码块流标识。
- 如权利要求9所述的方法,其特征在于,所述对所述第二码块流进行处理,包括:针对所述第二码块流中的一个数据单元,执行:根据所述数据单元包括的所述第一码块,确定出所述数据单元的边界;根据确定出边界的所述数据单元上承载的第一指示信息,确定所述数据单元承载的来自第一码块流的码块对应的比特所对应的码块流标识;从所述数据单元上承载的来自第一码块流的码块对应的比特中,恢复出所述码块流标识对应的第一码块流中的码块。
- 如权利要求9所述的方法,其特征在于,针对所述第二码块流中的一个数据单元:所述数据单元包括所述第一码块和数据码块;所述数据单元的所述数据码块用于承载来自第一码块流的码块对应的比特。
- 如权利要求11所述的方法,其特征在于,所述对所述第二码块流进行处理,包括:根据所述第二码块流中数据单元包括的所述第一码块,确定出所述第二码块流中数据单元的边界;根据所述第二码块流中确定出边界的数据单元承载的第一指示信息和该数据单元的数据码块对应的比特,对所述第二码块流进行处理,得到第二码块流对应的报文流;其中,针对所述第二码块流中的一个数据单元,所述数据单元对应所述报文流中的一个报文,所述报文的报文头承载所述数据单元中的第一指示信息,所述报文的负荷至少承载所述数据单元的数据码块对应的比特;针对所述报文流中的一个报文:通过查表方式将所述报文交换至所述报文的报文头中码块流标识对应的出接口,或者,从所述报文中恢复出所述报文的报文头中码块流标识对应的第一码块流中的码块。
- 如权利要求12所述的方法,其特征在于,所述从所述报文中恢复出所述报文的报文头中码块流标识对应的第一码块流中的码块,包括:针对所述报文流中的一个报文,执行:根据所述报文的报文头上承载的第一指示信息,确定所述报文承载的来自第一码块流的码块对应的比特所对应的码块流标识;从所述报文的负荷上承载的所述数据单元的数据码块对应的比特中,恢复出所述码块流标识对应的第一码块流中的码块。
- 如权利要求8-13任一项所述的方法,其特征在于,针对所述Q条第一码块流中的一条第一码块流:所述第一码块流的码块对应比特承载于所述第二码块流中的码块的净荷区域;或者,针对所述Q条第一码块流中的一条第一码块流:所述第一码块流的码块的非同步头区域对应的比特承载于所述第二码块流中的码块的净荷区域,且:所述第二码块流中还包括 有第二指示信息,所述第二指示信息用于指示所述第一码块流的码块的同步头区域的比特值。
- 一种通信设备,其特征在于,包括:处理器,用于获取Q条第一码块流,将所述Q条第一码块流中的码块对应的比特放入第二码块流;其中,所述Q为大于1的整数;所述第二码块流中至少包括Q个数据单元;所述第二码块流的一个数据单元承载来自一条第一码块流的码块;针对所述第二码块流中的至少所述Q个数据单元中的一个数据单元,所述数据单元中包括第一码块,所述第一码块用于确定所述数据单元在所述第二码块流中的边界。
- 如权利要求15所述的通信设备,其特征在于,所述第二码块流的相邻数据单元之间包括R个空闲码块,所述R为零或正整数;所述R个空闲码块用于在对所述第二码块流进行速率适配时进行空闲码块的删除操作。
- 如权利要求15或16所述的通信设备,其特征在于,所述处理器,具体用于:根据所述Q条第一码块流与F个子时隙的对应关系,将所述Q条第一码块流中的码块对应的比特放入第二码块流;其中,所述第二码块流对应至少一个时隙,一个时隙划分为至少两个子时隙;所述Q条第一码块流中的一条第一码块流对应所述F个子时隙中的一个或多个子时隙;所述F为不小于所述Q的整数。
- 如权利要求15-17任一项所述的通信设备,其特征在于,针对所述第二码块流中的两个数据单元,所述两个数据单元包括的码块的数量相同。
- 如权利要求15-18任一项所述的通信设备,其特征在于,所述第一码块包括以下内容中的一项或多项:头码块、开销码块和尾码块。
- 如权利要求15-19任一项所述的通信设备,其特征在于,针对所述第二码块流的一个数据单元,所述数据单元还包括有第一指示信息;所述第一指示信息用于指示:所述数据单元承载的来自第一码块流的码块所对应的码块流标识。
- 如权利要求15-20任一项所述的通信设备,其特征在于,针对所述Q条第一码块流中的一条第一码块流:所述第一码块流的码块对应比特承载于所述第二码块流中的码块的净荷区域;或者,针对所述Q条第一码块流中的一条第一码块流:所述第一码块流的码块的非同步头区域对应的比特承载于所述第二码块流中的码块的净荷区域,且:所述第二码块流中还包括有第二指示信息,所述第二指示信息用于指示所述第一码块流的码块的同步头区域的比特值。
- 一种通信设备,其特征在于,包括:所述处理器,用于获取第二码块流,对所述第二码块流进行处理;其中,所述第二码块流中至少包括Q个数据单元;所述第二码块流的一个数据单元承载来自一条第一码块流的码块;针对所述Q个数据单元中的一个数据单元,所述数据单元中包括第一码块,所述第一码块用于确定所述数据单元在所述第二码块流中的边界。
- 如权利要求22所述的通信设备,其特征在于,针对所述第二码块流中的一个数据单元,所述数据单元包括第一指示信息;所述第一指示信息用于指示:所述数据单元承载的来自第一码块流的码块对应的比特所对应的码块流标识。
- 如权利要求23所述的通信设备,其特征在于,所述处理器,具体用于:针对所述第二码块流中的一个数据单元,执行:根据所述数据单元包括的所述第一码块,确定出所述数据单元的边界;根据确定出边界的所述数据单元上承载的第一指示信息,确定所述数据单元承载的来自第一码块流的码块对应的比特所对应的码块流标识;从所述数据单元上承载的来自第一码块流的码块对应的比特中,恢复出所述码块流标识对应的第一码块流中的码块。
- 如权利要求23所述的通信设备,其特征在于,针对所述第二码块流中的一个数据单元:所述数据单元包括所述第一码块和数据码块;所述数据单元的所述数据码块用于承载来自第一码块流的码块对应的比特。
- 如权利要求25所述的通信设备,其特征在于,所述处理器,具体用于:根据所述第二码块流中数据单元包括的所述第一码块,确定出所述第二码块流中数据单元的边界;根据所述第二码块流中确定出边界的数据单元承载的第一指示信息和该数据单元的数据码块对应的比特,对所述第二码块流进行处理,得到第二码块流对应的报文流;其中,针对所述第二码块流中的一个数据单元,所述数据单元对应所述报文流中的一个报文,所述报文的报文头承载所述数据单元中的第一指示信息,所述报文的负荷至少承载所述数据单元的数据码块对应的比特;针对所述报文流中的一个报文:通过查表方式将所述报文交换至所述报文的报文头中码块流标识对应的出接口,或者,从所述报文中恢复出所述报文的报文头中码块流标识对应的第一码块流中的码块。
- 如权利要求26所述的通信设备,其特征在于,所述处理器,具体用于:针对所述报文流中的一个报文,执行:根据所述报文的报文头上承载的第一指示信息,确定所述报文承载的来自第一码块流的码块对应的比特所对应的码块流标识;从所述报文的负荷上承载的所述数据单元的数据码块对应的比特中,恢复出所述码块流标识对应的第一码块流中的码块。
- 如权利要求22-27任一项所述的通信设备,其特征在于,所述第一码块包括以下内容中的一项或多项:头码块、开销码块和尾码块。
- 如权利要求22-28任一项所述的通信设备,其特征在于,针对所述Q条第一码块流中的一条第一码块流:所述第一码块流的码块对应比特承载于所述第二码块流中的码块的净荷区域;或者,针对所述Q条第一码块流中的一条第一码块流:所述第一码块流的码块的非同步头区 域对应的比特承载于所述第二码块流中的码块的净荷区域,且:所述第二码块流中还包括有第二指示信息,所述第二指示信息用于指示所述第一码块流的码块的同步头区域的比特值。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被计算机调用时,使所述计算机执行如权利要求1至14任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911257025.9 | 2019-12-10 | ||
CN201911257025.9A CN112953675A (zh) | 2019-12-10 | 2019-12-10 | 一种数据传输方法、通信设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021115215A1 true WO2021115215A1 (zh) | 2021-06-17 |
Family
ID=76225344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/134083 WO2021115215A1 (zh) | 2019-12-10 | 2020-12-04 | 一种数据传输方法、通信设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112953675A (zh) |
WO (1) | WO2021115215A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114584258A (zh) * | 2022-02-15 | 2022-06-03 | 烽火通信科技股份有限公司 | 业务时延降低方法、装置、设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3113502A1 (en) * | 2015-06-30 | 2017-01-04 | Ciena Corporation | Flexible ethernet systems and methods for switching, oam, multi-service, chip-to-chip interface, time transfer, and encryption |
CN109995434A (zh) * | 2017-12-29 | 2019-07-09 | 华为技术有限公司 | 一种数据传输方法、通信设备及存储介质 |
CN109995455A (zh) * | 2017-12-29 | 2019-07-09 | 华为技术有限公司 | 一种数据传输方法、通信设备及存储介质 |
CN110120848A (zh) * | 2018-02-07 | 2019-08-13 | 华为技术有限公司 | 处理数据流的方法和网元设备 |
-
2019
- 2019-12-10 CN CN201911257025.9A patent/CN112953675A/zh active Pending
-
2020
- 2020-12-04 WO PCT/CN2020/134083 patent/WO2021115215A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3113502A1 (en) * | 2015-06-30 | 2017-01-04 | Ciena Corporation | Flexible ethernet systems and methods for switching, oam, multi-service, chip-to-chip interface, time transfer, and encryption |
CN109995434A (zh) * | 2017-12-29 | 2019-07-09 | 华为技术有限公司 | 一种数据传输方法、通信设备及存储介质 |
CN109995455A (zh) * | 2017-12-29 | 2019-07-09 | 华为技术有限公司 | 一种数据传输方法、通信设备及存储介质 |
CN110120848A (zh) * | 2018-02-07 | 2019-08-13 | 华为技术有限公司 | 处理数据流的方法和网元设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114584258A (zh) * | 2022-02-15 | 2022-06-03 | 烽火通信科技股份有限公司 | 业务时延降低方法、装置、设备及可读存储介质 |
CN114584258B (zh) * | 2022-02-15 | 2023-05-26 | 烽火通信科技股份有限公司 | 业务时延降低方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112953675A (zh) | 2021-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102331530B1 (ko) | 데이터 전송 방법, 통신 장치, 및 저장 매체 | |
CN109600188B (zh) | 数据传输方法、传输设备和传输系统 | |
CN113300810B (zh) | 一种传输速率的调整方法及网络设备 | |
EP3319254A1 (en) | Method for data transmission, transmitter and receiver | |
EP3641237A1 (en) | Transmission network system, and data exchange and transmission method, device and apparatus | |
KR102383297B1 (ko) | 서비스 주파수를 투명하게 전송하기 위한 방법 및 디바이스 | |
US11381338B2 (en) | Data transmission method, communications device, and storage medium | |
CN113972997A (zh) | 一种传输数据的方法和设备 | |
CN113330696B (zh) | Cpri数据块传输方法和设备 | |
JP2023523462A (ja) | サービスデータ処理方法、サービスデータ交換方法、サービスデータ抽出方法およびコンピュータ可読媒体 | |
KR20200100759A (ko) | 데이터 송신 방법, 전송 장치, 및 수신 장치 | |
WO2021115215A1 (zh) | 一种数据传输方法、通信设备及存储介质 | |
CN114915366A (zh) | 一种通信方法、设备和芯片系统 | |
WO2023109424A1 (zh) | 一种数据传输的方法以及相关装置 | |
WO2023035776A1 (zh) | 一种通信方法、相关装置以及存储介质 | |
JP7167345B2 (ja) | データ伝送方法、通信機器、および記憶媒体 | |
WO2024032269A1 (zh) | 通信方法、相关装置及计算机可读存储介质 | |
WO2023124551A1 (zh) | 分组信号的发送方法、装置、存储介质以及电子装置 | |
WO2018121223A1 (zh) | 一种信号传送方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20899688 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20899688 Country of ref document: EP Kind code of ref document: A1 |