WO2023035776A1 - 一种通信方法、相关装置以及存储介质 - Google Patents

一种通信方法、相关装置以及存储介质 Download PDF

Info

Publication number
WO2023035776A1
WO2023035776A1 PCT/CN2022/106293 CN2022106293W WO2023035776A1 WO 2023035776 A1 WO2023035776 A1 WO 2023035776A1 CN 2022106293 W CN2022106293 W CN 2022106293W WO 2023035776 A1 WO2023035776 A1 WO 2023035776A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
code block
clock frequency
stream
service data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2022/106293
Other languages
English (en)
French (fr)
Inventor
李日欣
祁云磊
范博龄
汪仁磊
徐丽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to EP22866251.6A priority Critical patent/EP4391438A4/en
Publication of WO2023035776A1 publication Critical patent/WO2023035776A1/zh
Priority to US18/602,795 priority patent/US20240223321A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/0001Arrangements for dividing the transmission path
    • H04L5/0014Three-dimensional division
    • H04L5/0016Time-frequency-code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signalling, i.e. of overhead other than pilot signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0078Timing of allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/0091Signalling for the administration of the divided path, e.g. signalling of configuration information
    • H04L5/0094Indication of how sub-channels of the path are allocated
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J2203/00Aspects of optical multiplex systems other than those covered by H04J14/05 and H04J14/07
    • H04J2203/0001Provisions for broadband connections in integrated services digital network using frames of the Optical Transport Network [OTN] or using synchronous transfer mode [STM], e.g. SONET, SDH
    • H04J2203/0073Services, e.g. multimedia, GOS, QOS
    • H04J2203/0082Interaction of SDH with non-ATM protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-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
    • H04J3/1605Fixed allocated frame structures
    • H04J3/1652Optical Transport Network [OTN]

Definitions

  • the present application relates to the communication field, and in particular to a communication method, a related device and a storage medium.
  • CPRI common public radio interface
  • SDH synchronous digital hierarchy
  • CBR constant bit rate
  • the clock frequency of a service can be transmitted based on a circuit emulation service (CES).
  • the communication device processes the original service data flow at the user network interfac (UNI), extracts the data frame of the original service, and adds the corresponding Ethernet frame header, pseudowire header, real-time transport protocol (real -time transport protocol (RTP) header, Ethernet header, and frame check sequence (frame check sequence, FCS) check to form an Ethernet message, and then pass through the interface between networks or between devices in the network ( The network to network interface (NNI) interface sends the Ethernet packet.
  • the clock frequency information of the service data stream can be put in the RTP header. It can be seen that the above solution needs to encapsulate the data frame into an Ethernet message. In this way, after other communication devices receive the Ethernet message, they need to perform layer 2 (layer 2, L2) processing (the Ethernet frame header, RTP header, and pseudowire header need to be processed), and operations such as grouping are required , the operation is more complicated.
  • layer 2 layer 2, L2
  • flexible Ethernet flexible ethernet
  • FlexE combines some technical characteristics of Ethernet and transport network (for example, optical transport network (Optical Transport Network, OTN), SDH, etc.), and is an evolution of Ethernet technology. important milestone.
  • Ethernet physical interfaces present the characteristics of virtualization. Multiple Ethernet physical interfaces can be cascaded to support several virtual logical ports. For example, a 400 Gigabit (400G) flexible Ethernet physical interface group formed by cascading four 100 Gigabit Ethernet (100GE) physical interfaces can support several logical ports.
  • 400G 400 Gigabit
  • the international telecommunication union telecommunication standardization sector has defined a new generation of transport network technology system on the basis of reusing FlexE logic for new service requirements such as the 5th generation mobile network (5G) (Metro Transport Network, MTN).
  • MTN is a new transport network layer network composed of MTN section layer (MTN Section layer) and MTN channel layer (MTN Path layer).
  • the physical layer is compatible with existing standard 50GBASE R, 100GBASE R, 200GBASE R, 400GBASE R and other interfaces .
  • Embodiments of the present application provide a communication method, a related device, and a storage medium, which are used to solve the problem of transparent transmission of clock frequency information of services.
  • the embodiment of the present application provides a communication method, and the method may be executed by a first communication device.
  • the first communication device receives the first service data stream, generates a first code block stream according to the first service data stream, and sends the first code block stream.
  • the first code block stream includes first clock frequency information.
  • the first clock frequency information may be used to indicate the moment when the first communication device receives the k first data frames of the first service data flow. In yet another possible implementation manner, the first clock frequency information may be used to indicate the transmission duration of the k first data frames of the first service data flow. In yet another possible implementation manner, the first clock frequency information is used to indicate the moment when the first communication device receives k first data frames of the first service data flow, and may also indicate k frames of the first service data flow The transmission duration of the first data frame.
  • the first clock frequency information is used to indicate the transmission duration of k first data frames and/or the first communication device receives k first data frames.
  • the clock frequency of a data frame is basically the same, so that the problem of transparent transmission of the clock frequency information of the service can be solved.
  • the first clock frequency information may be used to indicate the transmission duration of k first data frames of the first service data flow.
  • the first clock frequency information includes a first count value, and the first count value is the number of cycles of the clock frequency of the local clock signal of the first communication device within the duration of receiving k first data frames by the first communication device.
  • the second communication device may combine the local clock signal of the second communication device to send the k first data frames within a duration of the first count value of cycles of the local clock signal of the second communication device.
  • the clock frequency of the k first data frames sent by the second communication device can be basically consistent with the clock frequency of the k first data frames received by the first communication device, so that the transparent transmission of clock frequency information of the service can be solved The problem.
  • the transparent transmission of the clock frequency information is realized by transmitting the first count value, which can save bits of information to be transmitted.
  • the first clock frequency information may be used to indicate the transmission duration of k first data frames of the first service data flow.
  • the first clock frequency information includes a second count value, and the second count value is a difference between the first count value and a preset value.
  • the second communication device can combine the second count value and the preset value to calculate the first count value, and then the second communication device can combine the local clock signal of the second communication device and the first count value to solve the clock frequency information transparency of the service. transmitted problem.
  • the second count value is the difference between the first count value and the preset value
  • the number of bits occupied by the second count value can be less than the number of bits occupied by the first count value, so by transmitting the first count value
  • the transparent transmission of the clock frequency information is realized by means of two count values, which can further save the bits of the information to be transmitted.
  • the first clock frequency information includes a second count value and a preset value.
  • the second communication device can combine the second count value and the preset value to calculate the first count value, and then the second communication device can combine the local clock signal of the second communication device and the first count value to solve the clock frequency information transparency of the service. transmitted problem.
  • the sending periods of the second count value and the preset value may also be set separately, for example, the sending period of the preset value may be longer than the sending period of the second count value. In this way, the number of times of sending the preset value can be reduced, saving resources.
  • the first communication device since the first communication device also sends the preset value to the second communication device, the first communication device can change the value of the preset value more flexibly, and the second communication device can directly determine from the received data It can be seen that the specific value of the preset value in this scheme can be more flexible.
  • the preset value may be a preset value.
  • the preset value may be manually configured in the first communication device.
  • rules and rules may also be manually configured in the first communication device. The initial value, and then the first communication device can calculate the preset value according to the configuration rule and the initial value.
  • the preset value is the number of cycles of the clock frequency of the reference clock signal within the preset time period.
  • the difference between the preset duration and the transmission duration of the k first data frames is smaller than a preset difference threshold. It can also be understood that there is a deviation in the transmission duration of any two groups of data frames (k data frames in each group) in the first service data flow; and the difference between the preset duration and the transmission duration of k first data frames is less than
  • the preset difference threshold can also be understood as: the preset duration is relatively close to the average transmission duration of the k data frames of the first service data stream, so that the difference between the transmission duration of each group of data frames and the preset value can be smaller.
  • the first clock frequency information may be used to indicate the transmission time at which the first communication device receives the k first data frames.
  • the first clock frequency information includes the receiving time of the frame header of the first data frame among the k first data frames, and the time of receiving the frame header of the k first data frame among the k first data frames The received moment of the end of the frame.
  • the second communication device can send k first data frames according to the received first clock frequency information, thereby solving the problem of transparent transmission of clock frequency information of services.
  • the second communication device may calculate the transmission duration of the k first data frames according to the two received time instants, which is relatively simple and does not need to be calculated in conjunction with other reference values.
  • the first clock frequency information may indicate the transmission duration of k first data frames of the first service data flow.
  • the k first data included in the first clock frequency information when the first clock frequency information includes the receiving time of the frame header of the first data frame in the k first data frames, the k first data included in the first clock frequency information
  • the receiving moment of the frame header of the first data frame in the frame may refer to the moment when the first communication device receives the frame header of the first data frame among the k first data frames.
  • the first clock frequency information includes the receiving moment of the frame tail of the k first data frame among the k first data frames
  • the receiving moment of the frame tail of the k first data frames may refer to the moment when the first communication device receives the frame tail of the k-th first data frame among the k first data frames.
  • the first clock frequency information may indicate the transmission duration of k first data frames of the first service data flow, and the first clock frequency information includes a first duration, and the first duration is the kth The transmission duration of a data frame.
  • the second communication device can send the k first data frames according to the received first duration, thereby solving the problem of transparent transmission of the clock frequency information of the service. This method is relatively simple, and does not require the first communication device and the second communication device to have the same frequency.
  • the first clock frequency information may be used to indicate a time when the first communication device receives the k first data frames of the first service data flow.
  • the first clock frequency information includes the receiving time of the header of the first data frame in the k first data frames. If the data frame corresponding to one clock frequency information is called a group of data frames, for example, since the first clock frequency information indicates the transmission duration of k first data frames, the k first data frames can be called a group of data frames .
  • the second communication device can send k first data frames according to the received first clock frequency information, thereby solving the problem of transparent transmission of clock frequency information of services. This method is relatively simple and does not require the first communication device to The frequency point is the same as that of the second communication device.
  • the first clock frequency information includes a receiving moment of a frame end of a kth data frame among the k first data frames.
  • the second communication device can send k first data frames according to the received first clock frequency information, thereby solving the problem of transparent transmission of clock frequency information of services.
  • This method is relatively simple and does not require the first communication device to The frequency point is the same as that of the second communication device.
  • the first clock frequency information includes a third count value.
  • the third count value is the number of cycles of the clock frequency of the local clock signal of the first communication device within the second duration
  • the second duration is the first first data frame from the preset time to the first k first data frames The duration of the receiving moment of the frame header.
  • the first clock frequency information includes the second duration.
  • the second communication device can send k first data frames according to the received first clock frequency information, thereby solving the problem of transparent transmission of clock frequency information of services.
  • This method is relatively simple and does not require the first communication device to The frequency point is the same as that of the second communication device.
  • the first clock frequency information includes a fourth count value.
  • the fourth count value is the number of cycles of the clock frequency of the local clock signal of the first communication device within the third duration
  • the third duration is the kth first data frame from the preset time to the k first data frame The duration of the receiving moment of the end of the frame.
  • the first clock frequency information includes a third duration.
  • the second communication device can send k first data frames according to the received first clock frequency information, thereby solving the problem of transparent transmission of clock frequency information of services.
  • This method is relatively simple and does not require the first communication device to The frequency point is the same as that of the second communication device.
  • the first code block stream further includes second clock frequency information; the second clock frequency information is used to indicate: the transmission duration of k second data frames of the first service data stream, and/or , the moment when the first communication device receives k second data frames of the first service data flow. Since the first code block stream includes multiple clock frequency information, the second communication device can send the recovered first service data stream according to the multiple clock frequency information, and the clock of the first service data stream sent by the second communication device The frequency is basically consistent with the clock frequency of the first service data stream received by the first communication device, so that the problem of transparent transmission of the clock frequency information of the service can be solved.
  • the first code block stream includes a first data unit group, and the first data unit group includes W 1 first data units, where W 1 is a positive integer; the first clock frequency information is carried in W 1 at least one of the first data units.
  • W 1 may be equal to 1.
  • k first data frames are encapsulated in one first data unit.
  • the first clock frequency information is also carried in the first data unit.
  • W 1 may also be greater than 1.
  • k first data frames are encapsulated in W 1 (multiple) first data units.
  • Part of the first data units of the W 1 first data units may carry the first clock frequency information, for example, the first clock frequency information may be carried in one first data unit of the W 1 first data units, or It may be carried in two first data units of the W 1 first data units, where one first data unit of the two first data units may carry part of the first clock frequency information.
  • the first clock frequency information may be carried in at least one of the following contents of the first data unit: header code block, at least one data code block, tail code block, or operation and maintenance management code block.
  • the first clock frequency information may be carried in at least one of the following contents of the first data unit: an overhead area or a payload area.
  • the bits corresponding to the k first data frames are carried in the payload area of the data code block in at least one data code block of the first data unit in the W 1 first data units. In a possible implementation manner, the bits corresponding to the k first data frames are carried in the payload area and the tail code block in at least one data code block of the first data unit in the W 1 first data units. For example, T7 code block and so on.
  • At least one first data unit among the W 1 first data units carries first indication information, and the first indication information is used to indicate that the first data unit carrying the first indication information carries a First clock frequency information.
  • the second communication device when the second communication device receives the first indication information, it can be determined according to the first indication information that the first data unit carrying the first indication information carries the first clock frequency information, and then the first data unit can be The first clock frequency information is acquired in the unit.
  • the first communication device side and the second communication device side may agree in advance whether one clock frequency information is carried in one data unit or in multiple data units. If it is agreed that one clock frequency information is carried in one data unit, then the second The indication information is used to indicate that the first data unit carrying the first indication information carries all of the first clock frequency information. If it is stipulated that one clock frequency information is carried in multiple data units, the first indication information is used to indicate that the first data unit carrying the first indication information carries a part of the first clock frequency information.
  • At least one first data unit among the W 1 first data units carries second indication information
  • the second indication information is used to indicate that the first data unit carrying the second indication information does not carry First clock frequency information.
  • the second communication device when the second communication device receives the second indication information, it can be determined according to the second indication information that the first data unit carrying the second indication information does not carry the first clock frequency information, so that there is no need to obtain the first clock frequency information from the first The first clock frequency information is acquired in the data unit.
  • the first clock frequency information is carried in the payload area of the first data code block of at least one first data unit among the W 1 first data units.
  • the last code block of the first data unit carrying the first clock frequency information may be a T7 code block. Since there are more bits in the T7 code block that can be used to carry data, when the payload area of the data code block is occupied to carry the first clock frequency information, a part of the fields of the tail code block T7 can be used to carry the k first data frames. bits, so that the number of data code blocks in the first data unit can be saved.
  • the numbers of data code blocks included in two first data units among the W 1 first data units are the same.
  • the first service data stream may be a data stream with a relatively constant rate.
  • the first communication device receives the first service data stream and encapsulates the first service data stream, the first code block stream corresponding to the first service data stream The same number of data code blocks in the two data units can simplify the encapsulation process.
  • the first code block stream further includes a second data unit group, the second data unit group includes W 2 second data units, W 2 is a positive integer, and W 2 second data units
  • the second data unit of carries k second data frames of the first service data flow.
  • the number of data code blocks included in one of the W 2 second data units is the same as the number of data code blocks included in one of the W 1 first data units.
  • the first service data stream may be a data stream with a relatively constant rate.
  • W 1 and W 2 are equal. In this way, the number of data units carrying k first data frames is equal to the number of data units carrying k second data frames, so that the encapsulation process of the code block stream can be simplified.
  • the first communication device may also receive Q 0 second service data streams before generating the first code block stream according to the first service data stream, where Q 0 is a positive integer.
  • the first communication device may generate a first code block stream according to the first service data stream and Q 0 second service data streams.
  • the first clock frequency information is also used to indicate the transmission duration of k third data frames of each second service data stream in the Q 0 second service data streams and/or the first communication device receives k third data frames The moments of the data frame.
  • the first communication device can receive multiple service data streams, and encapsulate the multiple service data streams to obtain the first code block stream, thereby improving service processing efficiency.
  • Q 0 second service data streams are the same as the communication device at the source end of the first service data stream, and Q 0 second service data streams are the same as the communication device at the sink end of the first service data stream .
  • the first communication device encapsulates multiple service data streams into first code block streams and sends them to the second communication device, except for the second communication device, the communication devices of other intermediate nodes do not need to update the first code block streams.
  • the stream is decapsulated, which can increase the data transfer rate.
  • the first communication device may use a bit block consisting of n0 consecutive bits as a unit according to a preset ordering between the first service data stream and Q0 second service data streams, Multiplexing bit blocks in the first service data stream and Q 0 second service data streams to obtain a third service data stream; n 0 is a positive integer.
  • the first communication device generates a first code block stream according to the third service data stream. In this way, the first communication device can process the multiple received service data streams in parallel, which can reduce the amount of data to be buffered compared to serial processing, thereby reducing the pressure on the buffer area.
  • n 0 is: 8 bits, or 256 bits.
  • the arrangement of data from each service data stream included in the first data unit can be adjusted by adjusting the value of n 0 .
  • PCM pulse code modulation
  • each data unit can include 16 D code blocks, and the 16 D code blocks can carry 4 PCM frames from the 4 service data streams, and the bits of the 4 PCM frames are in the
  • the arrangement of the 16 D code blocks can vary with the value of n0 .
  • the value of n 0 is adjusted in units of bytes (8 bits), which can make the distribution of each service data flow in the data unit more regular.
  • the first code block stream includes a first data unit group, and the first data unit group includes W 1 first data units.
  • one of the W 1 first data units includes: bits corresponding to the k first data frames in the first service data stream, each of Q 0 second service data streams Bits corresponding to the k third data frames of the second service data stream.
  • one first data unit encapsulates k data frames from each service data flow in the first service data flow and Q 0 second service data flows.
  • one of the W 1 first data units includes: some bits in the bits corresponding to the k first data frames in the first service data stream, and Q 0 Part of the bits in the bits corresponding to the k third data frames of each second service data stream in the second service data stream.
  • one of the W 1 first data units includes: (k /W 1 ) bits corresponding to the first data frames, bits corresponding to (k/W 1 ) third data frames of each second service data stream in the Q 0 second service data streams.
  • W 1 is greater than 1
  • one first data unit encapsulates (k/W 1 ) data frames from each service data flow in the first service data flow and Q 0 second service data flows. In this way, multiple service data streams can be evenly distributed in W1 data units in parallel.
  • the first communication device may process Q 0 second service data streams to generate Q 0 third code block streams.
  • the first service data stream is processed to generate a second code block stream; the second code block stream includes the first clock frequency information; the second code block stream includes the first clock frequency information and k first data frames.
  • the first communication device may multiplex data in the Q 0 third code block streams and the second code block stream to obtain the first code block stream. In this way, the flexibility of the scheme can be improved.
  • the first communication device may, according to the preset ordering between the Q 0 third code block stream and the second code block stream, take N 1 data units as a unit, and perform the Q 0
  • the data units in the third code block stream and the second code block stream are multiplexed to obtain the first code block stream, and N 1 is a positive integer.
  • the obtained first code block stream is still a code block stream in units of data units, which can lay a foundation for re-multiplexing the first code block stream with other code block streams.
  • the first communication device may further obtain Q 1 fourth code block streams, where Q 1 is a positive integer. According to the corresponding relationship between Q 1 fourth code block streams and first code block streams and S 1 first time slots respectively, the first communication device compares Q 1 fourth code block streams and first code block streams The code blocks of are time-division multiplexed to obtain the fifth code block stream; Q 1 fourth code block streams and one code block stream in the first code block stream correspond to at least one first time slot in S 1 first time slots slot; S 1 is an integer not less than (Q 1 +1). Send the fifth code block stream.
  • the first code block stream can be the code block stream corresponding to the large granularity time slot, and further can be multiplexed with other code block streams of the large granularity time slot before sending. In this way, the application can be broadened scope.
  • the first communication device may further obtain Q 2 sixth code block streams, where Q 2 is a positive integer.
  • the first communication device may, according to the corresponding relationship between the Q 2 sixth code block streams and the fifth code block streams and the S 2 second time slots, for the Q 2 sixth code block streams and the fifth code block streams
  • the code blocks in are time-division multiplexed to obtain the seventh code block stream; wherein, one code block stream in Q 2 sixth code block streams and the fifth code block stream corresponds to at least one of S 2 second time slots
  • the second time slot; S 2 is an integer not less than (Q 2 +1); the second time slot corresponding to the fifth code block stream is divided into S 1 first time slots.
  • the first code block stream can be the code block stream corresponding to the small-grained time slot, and further can be multiplexed with other code-block streams of other small-granularity time slots, and then combined with other code-block streams of other large-grained time slots.
  • the code block stream is multiplexed and then sent. In this way, the scope of application of the present application can be broadened.
  • the first code block stream includes a first data unit group, the first data unit group includes W 1 first data units, and the first data units in the W 1 first data units include the following One of the contents: header code block and at least one data code block; header code block, at least one data code block and tail code block; at least one data code block and tail code block; header code block, at least one data code block and Operation and maintenance management code block; header code block, at least one data code block, tail code block and operation and maintenance management code block; or, at least one data code block, tail code block and operation and maintenance management code block.
  • the flexibility of the scheme can be improved.
  • the head code block is an S code block
  • the tail code block is a T code block
  • the data code block is a D code block
  • the operation and maintenance management code block is an O code block.
  • the embodiment of the present application provides a communication method, and the method may be executed by a second communication device.
  • the second communication device acquires the first code block stream.
  • the first code block stream includes first clock frequency information; the first clock frequency information is used to indicate: the transmission duration of k first data frames of the first service data stream, and/or, the received first service data stream The moment of the k first data frame.
  • k is a positive integer.
  • the second communication device sends k first data frames according to the first clock frequency information.
  • the first clock frequency information is used to indicate the transmission duration of k first data frames of the first service data stream and/or, the k of the first service data stream is received time of the first data frame. Therefore, the second communication device may send k first data frames according to the first clock frequency information, so that the clock frequency of the k first data frames sent by the second communication device is the same as the k first data frames received by the first communication device
  • the clock frequency of a data frame is basically the same, so that the problem of transparent transmission of the clock frequency information of the service can be solved.
  • the preset value is the number of cycles of the clock frequency of the reference clock signal within the preset time period.
  • the difference between the preset duration and the transmission duration of the k first data frames is smaller than a preset difference threshold.
  • the first code block stream further includes second clock frequency information.
  • the second clock frequency information is used to indicate: the transmission duration of the k second data frames of the first service data flow, and/or the moment when the first communication device receives the k second data frames of the first service data flow.
  • the second communication device may also obtain the second clock frequency information and k second data frames from the first code block stream, and send the k second data frames according to the second clock frequency information.
  • the second communication device can send the recovered first service data stream according to the multiple clock frequency information, and the clock of the first service data stream sent by the second communication device
  • the frequency is basically consistent with the clock frequency of the first service data stream received by the first communication device, so that the problem of transparent transmission of the clock frequency information of the service can be solved.
  • the first code block stream includes a first data unit group, and the first data unit group includes W 1 first data units, where W 1 is a positive integer; the first clock frequency information is carried in W 1 At least one of the following contents of at least one of the first data units: a header code block, at least one data code block, a tail code block, or an operation and maintenance management code block.
  • the bits corresponding to the k first data frames are carried in one of the following contents of the first data unit in the W 1 first data units: the data code block in at least one data code block the payload area; or, the payload area and the tail code block of the data code block in at least one data code block.
  • the bits corresponding to the k first data frames are carried in one of the following contents of the first data unit in the W 1 first data units: the data code block in at least one data code block the payload area; or, the payload area and the tail code block of the data code block in at least one data code block.
  • At least one first data unit among the W 1 first data units carries first indication information
  • the first indication information is used to indicate that the first data unit carrying the first indication information carries a First clock frequency information.
  • At least one first data unit among the W 1 first data units carries second indication information
  • the second indication information is used to indicate that the first data unit carrying the second indication information does not carry First clock frequency information.
  • the first clock frequency information is carried in the payload area of the first data code block of at least one first data unit in the W 1 first data units; the first clock frequency information is carried
  • the end code block included in the first data unit is a T7 code block.
  • the numbers of data code blocks included in two first data units among the W 1 first data units are the same.
  • the related content of the aforementioned first aspect which will not be repeated here.
  • the first code block stream further includes a second data unit group, the second data unit group includes W 2 second data units, W 2 is a positive integer, and W 2 second data units
  • the second data unit of carries k second data frames of the first service data flow.
  • the number of data code blocks included in one of the W 2 second data units is the same as the number of data code blocks included in one of the W 1 first data units.
  • W 1 and W 2 are equal.
  • W 1 and W 2 are equal.
  • the second communication device may acquire the first clock frequency information from the first code block stream. Demultiplexing the first code block stream to obtain the first service data stream and Q 0 second service data streams, where Q 0 is a positive integer.
  • the first clock frequency information is also used to indicate the transmission duration of k third data frames of each second service data stream in the Q 0 second service data streams and/or the first communication device receives k third data frames The moments of the data frame. In this way, multiple service data streams can be transmitted between the first communication device and the second communication device through the first code block stream, thereby improving service processing efficiency.
  • Q 0 second service data streams are the same as the communication device at the source end of the first service data stream, and Q 0 second service data streams are the same as the communication device at the sink end of the first service data stream .
  • Q 0 second service data streams are the same as the communication device at the sink end of the first service data stream .
  • the second communication device may demultiplex the first code block stream in units of bit blocks consisting of n 0 consecutive bits to obtain the first service data stream and Q 0 second code block streams. business data flow.
  • the first communication device can process the multiple received service data streams in parallel, which can reduce the amount of data to be buffered compared to serial processing, thereby reducing the pressure on the buffer area.
  • n 0 is: 8 bits, or 256 bits.
  • the first code block stream includes a first data unit group, and the first data unit group includes W 1 first data units.
  • W 1 is 1
  • one of the W 1 first data units includes: bits corresponding to the k first data frames in the first service data stream, each of Q 0 second service data streams Bits corresponding to the k third data frames of the second service data stream;
  • one of the W 1 first data units includes: some bits in the bits corresponding to the k first data frames in the first service data stream, and Q 0 Part of the bits in the bits corresponding to the k third data frames of each second service data stream in the second service data stream.
  • W 1 is an integer greater than 1, and if k/W 1 is an integer, then one of the W 1 first data units includes: (k /W 1 ) bits corresponding to the first data frames, bits corresponding to (k/W 1 ) third data frames of each second service data stream in the Q 0 second service data streams.
  • the second communication device may demultiplex the first code block stream to obtain Q 0 third code block streams and the second code block stream.
  • the second code block stream includes first clock frequency information and k first data frames.
  • the second communication device may obtain the first service data stream and the first clock frequency information from the second code block stream.
  • the second communication device may use N1 data units as a unit to demultiplex the first code block stream to obtain Q0 third code block streams and second code block streams, N 1 is a positive integer. In this way, the processing process is relatively simple, thereby simplifying the data processing process.
  • the second communication device may acquire the fifth code block stream.
  • the fifth code block stream is demultiplexed to obtain Q 1 fourth code block streams and the first code block stream.
  • Q 1 fourth code block streams and a code block stream in the first code block stream correspond to at least one first time slot in S 1 first time slots; S 1 is not less than (Q 1 +1) an integer of .
  • the first code block stream may be a code block stream corresponding to a time slot with a large granularity. In this way, the scope of application of the present application may be broadened.
  • the second communication device before the second communication device sends the fifth code block stream, it may further acquire the seventh code block stream.
  • the second communication device can demultiplex the seventh code block stream according to the corresponding relationship between S 2 second time slots and Q 2 sixth code block streams and fifth code block streams to obtain Q 2 sixth code block streams A code block stream and a fifth code block stream.
  • one code block stream in Q 2 sixth code block streams and the fifth code block stream corresponds to at least one second time slot in S 2 second time slots; the second time slot corresponding to the fifth code block stream Divided into S 1 first time slots; S 2 is an integer not less than (Q 2 +1).
  • the first code block stream may be a code block stream corresponding to a small-grained time slot. In this way, the scope of application of the present application may be broadened.
  • the first code block stream includes a first data unit group, the first data unit group includes W 1 first data units, and the first data units in the W 1 first data units include the following One of the contents: header code block and at least one data code block; header code block, at least one data code block and tail code block; at least one data code block and tail code block; header code block, at least one data code block and Operation and maintenance management code block; header code block, at least one data code block, tail code block and operation and maintenance management code block; or, at least one data code block, tail code block and operation and maintenance management code block.
  • the head code block is an S code block
  • the tail code block is a T code block
  • the data code block is a D code block
  • the operation and maintenance management code block is an O code block.
  • a communication device including a communication unit and a processing unit.
  • the communication device may be the above-mentioned first communication device, or may be the above-mentioned second communication device.
  • the communication device may implement any one of the above first aspect to the second aspect, and any implementation manner of any one aspect.
  • the communication unit is used to perform functions related to transmission and reception.
  • the communication unit includes a receiving unit and a sending unit.
  • the communication device is a communication chip
  • the processing unit may be one or more processors or processor cores
  • the communication unit may be an input/output circuit or port of the communication chip.
  • the communication unit may be a transmitter and a receiver, or the communication unit may be a transmitter and a receiver.
  • the communication device further includes various modules that can be used to implement any one of the foregoing first aspect to the second aspect, and any implementation manner of any one aspect.
  • a communication device including a processor and a memory.
  • the communication device may be the above-mentioned first communication device, or may be the above-mentioned second communication device.
  • a transceiver is also included, the memory is used to store computer programs or instructions, the processor is used to call and run the computer programs or instructions from the memory, and when the processor executes the computer programs or instructions in the memory, the The communication device implements any one of the above first aspect to the second aspect, and any implementation manner of any one aspect.
  • processors there are one or more processors, and one or more memories.
  • the memory may be integrated with the processor, or the memory may be separated from the processor.
  • the transceiver may include a transmitter (transmitter) and a receiver (receiver).
  • a communication device including a processor.
  • the communication device may be the above-mentioned first communication device, or may be the above-mentioned second communication device.
  • the processor is coupled with the memory, and can be used to execute any one of the first aspect to the second aspect, and any implementation manner of any one aspect.
  • the communication device may be the above-mentioned first communication device, or may be the above-mentioned second communication device.
  • the communication device further includes a memory.
  • the communication device further includes a communication interface, and the processor is coupled to the communication interface.
  • 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 interface may be an input/output on the chip or the chip system Interface, interface circuit, output circuit, input circuit, pin or related circuit, etc.
  • a processor may also be embodied as processing circuitry or logic circuitry.
  • a system includes the above-mentioned first communication device and the second communication device.
  • a computer program product includes: a computer program (also referred to as code, or an instruction), which, when the computer program is executed, causes the computer to execute any of the above first to second aspects.
  • a computer program also referred to as code, or an instruction
  • a computer-readable storage medium stores a computer program (also referred to as code, or an instruction) which, when run on a computer, causes the computer to perform the above-mentioned first to second aspects.
  • a computer program also referred to as code, or an instruction
  • a chip system may include a processor.
  • the processor is coupled with the memory, and may be used to implement any one of the first aspect to the second aspect above, and any implementation manner of any one aspect.
  • the chip system further includes a memory.
  • Memory used to store computer programs (also called code, or instructions).
  • the processor is configured to call and run a computer program from the memory, so that the device installed with the system-on-a-chip executes any one of the first aspect to the second aspect, and any implementation manner of any one aspect.
  • a processing device including: an interface circuit and a processing circuit.
  • Interface circuitry may include input circuitry and output circuitry.
  • the processing circuit is used to receive signals through the input circuit and transmit signals through the output circuit, so that any one of the first aspect to the second aspect and any implementation manner of any one aspect are realized.
  • 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, the receiver
  • the output signal of the output circuit may be, for example but not limited to, output to the transmitter and transmitted by the transmitter
  • the circuit may be the same circuit, which is used as an input circuit and an output circuit respectively at different times.
  • the present application does not limit the specific implementation manners of the processor and various circuits.
  • the communication device may be a part of the first communication device or the second communication device, such as an integrated circuit product such as a system chip or a communication chip.
  • the interface circuit may be an input/output interface, interface circuit, output circuit, input circuit, pin or related circuit on the chip or chip system.
  • the processing circuitry may be logic circuitry on the chip.
  • Figure 1a is a schematic diagram of a network architecture applicable to the embodiment of the present application.
  • FIG. 1b is a schematic diagram of another network architecture applicable to the embodiment of the present application.
  • Figure 1c is a schematic diagram of a layered model architecture of a protocol stack applicable to the embodiment of the present application
  • Figure 1d is a schematic diagram of another layered model of the protocol stack applicable to the embodiment of the present application.
  • FIG. 2a schematically shows a possible pipe division scheme of a communication device on the basis of FIG. 1a;
  • Figure 2b is a schematic structural diagram of a code block in a 64B/66B encoding format
  • Fig. 2c is the structural form of idle code block
  • FIG. 2d is a schematic diagram of a frame structure corresponding to an OSU service provided by an embodiment of the present application.
  • FIG. 3 is an interactive schematic diagram of a communication method provided by an embodiment of the present application.
  • FIG. 4a is a schematic flowchart of a data transmission method on the first communication device side provided by an embodiment of the present application
  • Fig. 4b is a schematic diagram of counting the first count value provided by the embodiment of the present application.
  • FIG. 4c is a schematic flowchart of a data transmission method on the second communication device side provided by an embodiment of the present application.
  • Figure 5a is a possible implementation of converting the service data stream provided by the embodiment of the present application into a code block stream
  • FIG. 5b is a schematic diagram of the rate relationship of each data stream in the container construction process provided by the embodiment of the present application.
  • Figure 5c is a possible implementation of converting the code block stream into a service data stream in the embodiment of the present application.
  • Fig. 6a is a schematic diagram of a bearing position of the first clock frequency information provided by the embodiment of the present application.
  • FIG. 6b is a schematic diagram of another bearing position of the first clock frequency information provided by the embodiment of the present application.
  • FIG. 6c is a schematic diagram of another bearing position of the first clock frequency information provided by the embodiment of the present application.
  • Figure 6d is a schematic structural diagram of a possible O code block provided by the embodiment of the present application.
  • FIG. 7a is a schematic diagram of multiplexing bit blocks provided by an embodiment of the present application.
  • FIG. 7b is a schematic diagram of signals carried in the data unit shown in FIG. 6a provided by the embodiment of the present application;
  • FIG. 7c is a schematic diagram of signals carried in the data unit shown in FIG. 6a provided by the embodiment of the present application;
  • FIG. 7d is a schematic diagram of a scheme for multiplexing data units provided by the embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a frame format of a flexible Ethernet protocol provided by an embodiment of the present application.
  • Figure 9a is a flexible small granularity frame (fine granularity basic unit, fgBU) format provided by the embodiment of the present application;
  • FIG. 9b is a schematic diagram of a basic frame of a code block stream provided by an embodiment of the present application.
  • FIG. 9c is a schematic diagram of a possible data frame transmission duration of the first service data flow provided by the embodiment of the present application.
  • Fig. 9d is a schematic diagram of a possible data frame transmission duration of the first service data flow provided by the embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of a communication device provided by an embodiment of the present application.
  • FIG. 11 is a schematic structural diagram of another communication device provided by the embodiment of the present application.
  • FIG. 12 is a schematic structural diagram of another communication device provided by an embodiment of the present application.
  • the technical solution provided by the embodiment of the present application can be applied to a metro transport network (Metro Transport Network, MTN), and can also be applied to other types of networks, such as flexible Ethernet FlexE, Ethernet, OTN, SDH networks.
  • MTN metro transport network
  • FlexE flexible Ethernet FlexE
  • Ethernet Ethernet
  • OTN optical network
  • SDH SDH network
  • Fig. 1a exemplarily shows a schematic diagram of a network architecture applicable to this embodiment of the present application.
  • the network architecture includes a first communication device and a second communication device. Other communication devices may or may not be included between the first communication device and the second communication device.
  • the first communication device and the second communication device in the embodiment of the present application may be network equipment, or may be modules, units or chips inside the network equipment.
  • network equipment includes but is not limited to: core routers, edge routers, OTN transmission equipment, OTN optical service units (Optical Service Unit, OSU), etc., as well as network protocol-based radio access networks (Internet Protocol Radio Access Network , IPRAN), packet transport network (Packet Transport Network, PTN) box or frame switch equipment.
  • IPRAN Internet Protocol Radio Access Network
  • PTN Packet Transport Network
  • the first communication device may receive the first service data stream, generate the first code block stream according to the first service data stream, and send the first code block stream.
  • the first code block stream includes first clock frequency information.
  • the first clock frequency information is used to indicate: the transmission duration of the k first data frames of the first service data flow, and/or the moment when the k first data frames of the first service data flow are received.
  • k is a positive integer.
  • the second communication device acquires the k first data frames and the first clock frequency information from the first code block stream, and then can send the k first data frames according to the first clock frequency information.
  • the second communication device can send k first data frames according to the first clock frequency information frames, so that the clock frequency of the k first data frames sent by the second communication device is basically consistent with the clock frequency of the k first data frames received by the first communication device, thereby solving the clock frequency information transparency of the service transmitted problem.
  • FIG. 1b exemplarily shows a schematic diagram of another network architecture applicable to the embodiment of the present application.
  • the network architecture includes three types of devices, which can be respectively backbone network edge (provider edge, PE) routers, user network Edge (customer edge, CE) router and backbone network core router (provider router, PR).
  • the PE router can also be written as PE, such as the subsequent PE 1 and PE 2
  • the CE router can also be abbreviated as CE, such as the subsequent CE 1 and CE 2 .
  • CE devices in the network architecture include CE 1 and CE 2 .
  • CE 1 can send data to CE 2
  • CE 2 can also send data to CE 1 .
  • the CE that sends data is referred to as a communication device at the source end, or as the source end.
  • the source end may also refer to a communication device that generates a service data flow.
  • the CE that receives the data is referred to as a communication device at the sink end, or as a sink end.
  • the sink end in this embodiment of the present application may also refer to a communication device that ultimately needs to analyze a service data flow.
  • CE 1 can send data to CE 2 as an example for illustration.
  • CE 1 is a source end
  • CE 2 is a sink end.
  • the PE device includes PE 1 and PE 2 in Fig. 1b.
  • PE 1 and PE 2 may not include other communication devices, or may include other communication devices.
  • devices such as P1 and P2 are also included between PE 1 and PE 2 for example.
  • P1 and P2 may be PR devices.
  • the first communication device in FIG. 1a may be PE 1 in FIG. 1b
  • the second communication device in FIG. 1a may be PE 2 in FIG. 1b
  • PE 1 can receive at least one service data flow from a CE device (such as CE 1 ).
  • PE 1 can also receive service data streams of other CE devices.
  • the first service data flow in at least one service data flow is taken as an example for description.
  • the processing manner of other service data streams refer to the processing manner of the first service data stream.
  • PE 1 may acquire at least one piece of clock frequency information of the first service data flow.
  • the clock frequency information in the at least one piece of clock frequency information may indicate the transmission duration of at least one data frame in the first service data stream.
  • the first clock frequency information in at least one clock frequency information is used as an example for description, one or more data frames corresponding to the first clock frequency information are called first data frames, and the first clock frequency information corresponds to The number of data frames is identified as k.
  • the first clock frequency information may indicate the transmission duration of the k first data frames.
  • PE 1 may obtain the first clock frequency information of the first service data flow, and then send k first data frames and the first clock frequency information to PE 2 .
  • PE 2 may use the first clock frequency information to send the received k first data frames to the sink. Therefore, the clock frequency of the k first data frames sent by PE 2 to the sink end may be substantially consistent with the clock frequency of the k first data frames received by PE 1 from the source end.
  • the solution provided by the embodiment of the present application can solve the problem of transparent transmission of the clock frequency information of the service.
  • FIG. 1c exemplarily shows a schematic diagram of a layered model of a protocol stack applicable to the embodiment of the present application.
  • the layered model of the protocol stack is a protocol stack layer of Ethernet (Ethernet).
  • Ethernet is a set of standards related to network, interface, and physical layer technology defined by IEEE 802 standard organization. What is relevant to the embodiment of this application may be the Ethernet physical layer defined in Clause 82 of IEEE802.3, and its protocol stack
  • the hierarchy can refer to Figure 1c.
  • the model architecture is a network interconnection model, which defines the seven-layer framework of network interconnection, from the bottom layer to the high layer, followed by the physical layer, data link layer, network layer, transport layer, and session layer , presentation layer and application layer.
  • Ethernet is at the data link and physical layers in the open system interconnection (OSI) reference model.
  • OSI open system interconnection
  • the data link layer consists of two sublayers: the logical link control (LLC) sublayer and the MAC sublayer responsible for parsing and assembling Ethernet frames.
  • LLC logical link control
  • MAC MAC sublayer responsible for parsing and assembling Ethernet frames.
  • the physical layer may include a physical medium dependent (PMD) sublayer, a physical medium attachment (PMA) sublayer, and a forward error correction (FEC) sublayer (also called FEC layer), physical coding sublayer (physical coding sublayer, PCS).
  • PMD physical medium dependent
  • PMA physical medium attachment
  • FEC forward error correction
  • PCS physical coding sublayer
  • a coordination sublayer reconciliation sublayer, RS
  • Fig. 1c also shows a medium connected to the PMD, which may be a cable, a pluggable optical module, or an optical fiber.
  • the Ethernet frame can be transmitted to the physical layer through the interface.
  • the Ethernet frame involves the processing of the MAC sublayer, RS, PCS, FEC sublayer, PMA sublayer, and PMD sublayer from top to bottom.
  • the processed data flow Embodied as a signal sent to the link medium.
  • the receiving direction involves its inverse process.
  • the signal is received from the link medium, and is finally processed by the PMD sublayer, PMA sublayer, FEC sublayer and PCS in turn to recover the MAC data stream.
  • the data stream can be compiled into a set of bits with a fixed format through the PCS, for example, a code block consisting of 66 bits.
  • the conversion of the encoding format may be involved in the FEC sublayer.
  • the code block stream of the 64B/66B encoding format can be converted into the code block stream of the 256B/257B encoding format at the FEC layer.
  • the code block stream involved in the embodiment of the present application may be the code block stream involved in the PCS, or may be the code block stream involved in the FEC sublayer.
  • FIG. 1c exemplarily shows the protocol stack layer of the Ethernet applicable to the embodiment of the present application.
  • Flexible Ethernet Flexible Ethernet, FlexE
  • MTN are two technologies based on the code block extension of the Ethernet physical layer.
  • FlexE which is a general-purpose technology that supports multiple Ethernet MAC layer rates.
  • FlexE can support the following functions: Interfaces are bound into a link group to support MAC services whose rate is higher than that of a single Ethernet interface; sub-rates support MAC services whose rate is lower than the link group bandwidth or the bandwidth of a single Ethernet interface by allocating time slots for the service; channelization, Support simultaneous transmission of multiple MAC services in a link group by allocating time slots for services, for example, support simultaneous transmission of one 150G and two 25G MAC services in a 2x 100GE link group.
  • MTN can include complete transport network functions, such as interface, crossover, operation and maintenance management (Operations, Administration, and Maintenance, OAM), control, protection, etc.
  • OIF FlexE is an interface technology that can target data center interconnection (DCI) scenarios.
  • MTN is an integrated transport network technology that can be oriented to 5G transport networks. MTN and FlexE cannot be equated.
  • Fig. 1d exemplarily shows a schematic diagram of another layered model architecture of the protocol stack applicable to the embodiment of the present application.
  • the protocol stack layer model is the protocol stack layer of the MTN network.
  • the OIF FlexE shim is functionally equivalent to the MTN section layer.
  • the MTN section layer can be compatible with FlexE, and the frame format of the MTN section layer can follow the FlexE frame format.
  • the PCS in Figure 1d can include MTN Path Adaptation (MTN Path Adaptation) layer, MTN Path Trail Termination (MTN Path Trail Termination) layer functional module, MTN Path Connection (MTN Path Connection) functional module, MTN Section Layer Adaptation (MTN Section Adaptation) layer function module and MTN section layer termination (MTN Section Trail Termination) function module.
  • MTN Path Adaptation MTN Path Adaptation
  • MTN Path Trail Termination MTN Path Trail Termination
  • MTN Path Connection MTN Path Connection
  • MTN Section Layer Adaptation MTN Section Layer Adaptation
  • MTN Section Trail Termination MTN Section Trail Termination
  • the sender can pass the data flow through the MAC and RS in turn, and enter the MTN path layer (path layer) in the MTN domain.
  • the MTN path layer path layer
  • the data flow is encoded by the PCS encoding (encode) module at the MTN path layer, it can be called a code Block stream (such as 64B/66B code block stream).
  • the 64B/66B code block stream can also be inserted into overhead information such as channel layer OAM at the MTN channel layer, and the corresponding forwarding port and time slot can be found through the MTN channel connection function module at the MTN channel layer.
  • the code block stream can enter the MTN section layer from the MTN channel layer, and can be interleaved with other code block streams through rate adaptation at the MTN section layer.
  • the interleaved code block stream can be inserted into segment layer OAM and other overhead information at the MTN segment layer, and then the code block stream is adapted to enter the bottom layer of the PHY for transmission.
  • the adaptation function here does not belong to the MTN domain function.
  • the code block stream will be transcoded from 64B/66B to 256B/257B at the FEC. The transcoded code block stream will be sent to the physical link for transmission, and then sent out.
  • the data stream received by the receiving end may be processed by the FEC sublayer, the MTN section layer, and the MTN channel layer in sequence.
  • the FEC sublayer of the receiving end receives the code block stream, it first performs FEC error correction, and then converts the data stream to the encoding format (for example, converting the 256B/257B code block stream into a 64B/66B code block stream) .
  • the code block stream enters the MTN segment layer, and after processing and deinterleaving at the segment layer, it is restored to the 64B/66B code block stream of each single-channel MAC at the adaptation layer of the MTN segment layer.
  • each 64B/66B code block stream is forwarded at the link function module of the MTN channel layer.
  • the MTN segment layer is similar to FlexE and can provide point-to-point links.
  • the MTN channel layer can provide the cross-connection function from the device input port to the output port, that is, the MTN channel layer can connect the point-to-point links of the MTN segment layer in series to form a complete channel from the network entrance to the network exit.
  • the data stream at the MTN channel layer can be compiled into a set of bits with a fixed format through the PCS encoding (encode) module, for example, it can be a code block composed of 66 bits .
  • the conversion of the encoding format may be involved in the FEC sublayer.
  • the code block stream of the 64B/66B encoding format can be converted into the code block stream of the 256B/257B encoding format at the FEC layer.
  • the code block stream involved in the embodiment of the present application may be the code block stream involved in the MTN channel layer, or may be the code block stream involved in the FEC sublayer.
  • Fig. 2a exemplarily shows a possible pipe division scheme of the communication device on the basis of Fig. 1a.
  • the interface of the first communication device and the interface of the second communication device are divided into pipeline.
  • two nouns are defined, which are large particle pipeline and small particle pipeline.
  • Large particle pipeline and small particle pipeline are relative terms.
  • One large particle pipeline can divide at least two small particle pipelines.
  • Large particle pipeline The bandwidth of the pipeline is larger than that of the small grain pipeline.
  • the time slot allocation of the MTN/FlexE may be at a granularity of 5 Gbps, and at least one channel of the MTN/FlexE with a time slot granularity of 5 Gbps may be called a large-granularity pipe.
  • a channel with a time slot granularity of 5 Gbps may be called a large-granularity pipe
  • multiple channels with a time-slot granularity of 5 Gbps may be called a large-granularity pipe.
  • small granular pipes may be called small granular pipes.
  • Ethernet hard leased line technology is based on MTN/FlexE technology, and provides smaller granularity of pipeline bandwidth.
  • the pipeline with smaller bandwidth granularity provided by Ethernet hard leased line technology can be called small granular pipeline. Small granular pipeline is used to carry a Or multiple small particle businesses.
  • the small-granularity service in the embodiment of this application may be relative to the large-grained service.
  • the small-granularity service may refer to a service whose bandwidth is smaller than the bandwidth of a large-granularity pipe.
  • a service with a bandwidth requirement of 10 Mbps or 100 Mbps may be called a small Particle business.
  • nodes that need to multiplex or demultiplex small granular services are called small granular nodes, and nodes that need to multiplex and demultiplex large granular services are called large granular nodes.
  • the nodes on a transmission path may or may not be small granular nodes.
  • FIG. 2a A possible service transmission method is illustrated in FIG. 2a, which is illustrated in conjunction with FIG. 2a.
  • the large-granularity pipeline 40 is divided into 480 small-granularity pipelines 401, and each small-granularity pipeline corresponds to a sub-slot resources, according to the corresponding relationship between small-grained services and sub-slots, the code block streams of each small-grained service are multiplexed to obtain the code block stream 411 corresponding to the large-grained pipeline 40 .
  • the first communication device includes time slots corresponding to 20 large-grain pipes, and each large-grain pipe corresponds to a time slot. Except for the large-grain pipe 40, other large-grain pipes are used to carry large-grain services.
  • the code block stream 511 and the code block stream 611 corresponding to the large particle pipeline 60) are multiplexed to obtain the code block stream 1211.
  • the code block stream 1211 is then sent to the second communication device.
  • the second communication device demultiplexes the code block stream 1211 to obtain the code block streams corresponding to each large particle pipeline, such as the code block stream 411, the code block stream 511 and the code block stream shown in the figure 611.
  • the second communication device further demultiplexes the code block stream 411 to obtain the small-grain service 1 and the small-grain service 2 .
  • a code block mentioned in the embodiment of the present application refers to one bit or multiple consecutive bits, and the information carried on a code block may refer to the information carried on the bits included in the code block.
  • the code block in the embodiment of the present application may also have other alternative names, for example, it may be replaced by a data unit, a bit block or a flit.
  • some embodiments introduced using code blocks as an example are also applicable to the Flit scenario.
  • the code blocks in this embodiment of the present application may include two types, namely data type code blocks and control type code blocks.
  • the bits in the code blocks of the data type can be used to carry actual data payloads, and the bits in the code blocks of the control type can be used to carry control information.
  • the code block of the data type may be a code block of the data type in flexE technology/MTN, and may also be one bit or multiple consecutive bits in the field carrying the payload in the data frame of the OSU service.
  • the code blocks of the control type may include at least one of the header code blocks, tail code blocks, idle code blocks, operation and maintenance management code blocks, error code blocks or low power consumption code blocks in flexE technology/MTN.
  • the data unit of the control type may also include one bit or multiple consecutive bits in the overhead area (area carrying overhead information) in the data frame of the OSU service.
  • Figure 2b exemplarily shows a schematic structural diagram of a code block in the 64B/66B encoding format defined in the standard.
  • the code block is defined by the IEEE Std 802.3-2018.IEEE Standard for Ethernet SECTION SIX standard.
  • the sync header area of the code block includes the 0th bit and the 1st bit of the code block, and there are two cases of the sync header area of the code block, which are 01 and 10 respectively.
  • a code block with a synchronization header of 01 is called a data code block, and a data code block can be written as a D code block; a code block with a synchronization header of 10 is called a control code block.
  • a field after the synchronization header of the control code block occupies 8 bits, which can be called the type field of the control code block (the type field can be written as type field).
  • the control code block can include: header code block, tail code block, ordered set (Ordered set) code block (also can be written as O code block), idle code block (idle code block can also be written as IDLE code block), error Code blocks (error code blocks can also be written as error code blocks), low-power code blocks, etc.
  • the header code block is the code block whose synchronization header is 10 type and field is 0x78 in Fig. 2b, which can be written as S code block.
  • the tail code block can be written as a T code block, including code blocks with a sync header of 10 and a type field of 0x87, 0x99, 0xAA, 0xB4, 0xCC, 0xD2, 0xE1, and 0xFF in Figure 2b.
  • the O code block in the embodiment of the present application is the code block whose synchronization header is 10 type and field is 0x4B in FIG. 2b.
  • the control code blocks other than the S code block and the T code block among the control code blocks may be written as C code blocks.
  • Fig. 2c exemplarily shows the structural form of an idle code block.
  • the synchronization header area of the idle code block is 10, and other contents are shown in the figure.
  • the code blocks involved in the embodiments of this application are illustrated by taking the code block structures shown in Figure 2b and Figure 2c 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.
  • a code block mentioned in the embodiment of the present application refers to one bit or multiple consecutive bits, and the information carried on a code block may refer to the information carried on the bits included in the code block.
  • code blocks are referred to as bit blocks in OSU services.
  • a bit block refers to a bit or a plurality of consecutive bits.
  • the code block of the data type is called the bit block of the data type
  • the code block of the control type is called the bit block of the control type.
  • Fig. 2d exemplarily shows a schematic diagram of a frame structure corresponding to a possible OSU service.
  • the length of the data frame may be 192 bytes.
  • the first byte to the seventh byte is the overhead area
  • the eighth byte to the 192nd byte is the payload area.
  • the overhead area may include general overhead, mapping overhead, and cyclic redundancy check (CRC)8.
  • the general overhead may include version number (version, VER), tributary port number (tributary port number, TPN), frame type (frame type, FT) and other general overhead.
  • version number version, VER
  • tributary port number tributary port number, TPN
  • frame type frame type, FT
  • the version number (version, VER) may be used to identify the frame structure version number.
  • the TPN can be used to identify the correspondence between tributary ports and frames.
  • FT can be used to identify the frame type.
  • other common overheads may include functions such as continuity verification (connectivity verification, CV), bandwidth indication (bandwidth, BW), tandem connection monitoring (tandem connection monitoring, TCM), channel monitoring (path monitoring, PM), etc.
  • mapping overhead mainly includes time stamp (TS), payload length (PLn) and so on.
  • a bit block of a data type may include one or more consecutive bits in the payload area of the data frame shown in FIG. 2d.
  • the 8th byte to the 192nd byte of the data frame can be called a bit block of the data type, and can also be called a code block of the data type.
  • a control-type bit block (also referred to as a control-type code block) may include one or more consecutive bits in the overhead area in the data frame shown in FIG. 2d.
  • a control-type bit block may include one or more consecutive bits in the overhead area in the data frame shown in FIG. 2d.
  • one bit or a series of consecutive bits in at least one item of general overhead, mapping overhead, or CRC8 may be called a control-type bit block, and may also be called a control-type code block.
  • a series of data streams composed of code blocks as a unit is called a code block stream, such as the first code block stream and the fourth code block stream involved in the embodiments of the present application.
  • the code block stream in the embodiment of the present application may also have other names, such as a code block sequence, etc., and the name is not specifically limited in the embodiment of the present application.
  • first code block stream "fourth code block stream”, “fifth code block stream”, “sixth code block stream”, “seventh code block stream” and “third code block stream” in the embodiment of the present application
  • first code block stream "fourth code block stream”
  • second code block stream "seventh code block stream”
  • S represents a header code block
  • D represents a data code block
  • T represents a tail code block
  • I represents an idle code block
  • O represents an O code block.
  • the code block sequence in the embodiment of the present application may include a variety of code block types, such as S code block, D code block and T code block, and another example also includes I code block, O code block block etc.
  • code block types such as S code block, D code block and T code block
  • I code block I code block
  • O code block block I code block
  • first code block stream can also be the data stream of the OSU service, and the data stream in the OSU service can include one or more Data Frame.
  • Each data frame may include a bit block of a control type and a bit block of a data type.
  • FIG. 3 exemplarily shows an interactive schematic diagram of a communication method provided by an embodiment of the present application. As shown in FIG. 3 , the method includes:
  • the first communication device receives a first service data stream.
  • the first communication device receives the first service data stream sent by the source end.
  • the first communication device generates a first code block stream according to the first service data stream.
  • the first code block stream includes first clock frequency information.
  • the first clock frequency information may be used to indicate the moment when the first communication device receives the k first data frames of the first service data flow.
  • the first clock frequency information may be used to indicate the transmission duration of the k first data frames of the first service data flow.
  • the first clock frequency information may indicate the moment when the first communication device receives k first data frames of the first service data flow, and may also indicate k time frames of the first service data flow. The transmission duration of the first data frame.
  • the first code block stream may include at least one clock frequency information, and the first clock frequency information is one of the at least one clock frequency information.
  • the clock frequency information in the embodiment of the present application can also be replaced with other names, such as: service frame frequency, service bit rate, count value at the arrival time of the service frame header, count difference between the service frame header and the frame header, clock frequency ( clock frequency), customer clock frequency information, etc., for the convenience of introduction, the embodiment of this application uses the name "clock frequency information" as an example for introduction.
  • the first service data stream may include a plurality of data frames.
  • the data frame (one or more consecutive data frames) corresponding to the first clock frequency information is referred to as the first data frame in this embodiment of the application, and the first data frame is referred to as the first data frame.
  • the total number of data frames corresponding to the clock frequency information is identified as k.
  • One piece of clock frequency information in the at least one piece of clock frequency information in the first code block stream may correspond to one or more data frames, and one piece of clock frequency information may be used to indicate that when the first communication device receives the data frame corresponding to the clock frequency information clock frequency information.
  • a piece of clock frequency information may be used to indicate the transmission duration of the data frame corresponding to the clock frequency information, and may also be understood as the duration of the data frame corresponding to the clock frequency information received by the first communication device.
  • the first clock frequency information may be used to indicate the duration of receiving k first data frames by the first communication device.
  • the first communication device sends the first code block stream.
  • the second communication device acquires the first code block stream.
  • the first code block stream includes first clock frequency information.
  • the second communication device acquires k first data frames and first clock frequency information from the first code block stream.
  • the second communication device sends k first data frames according to the first clock frequency information.
  • the second communication device sends the k first data frames to the sink, and correspondingly, the sink receives the k first data frames.
  • the second communication device may send k first data frames according to the first clock frequency information, so that the clock frequency of the k first data frames sent by the second communication device is the same as the k first data frames received by the first communication device
  • the clock frequency of a data frame is basically the same, so that the problem of transparent transmission of the clock frequency information of the service can be solved.
  • the data flow received by the first communication device is called the service data flow.
  • the embodiment of the application involves multiple service data flows, such as the first service data flow, the second service data flow 1, the second service data flow 2, the second service data flow 3, etc.
  • the first service data flow is taken as an example to introduce the service data flow in the embodiment of this application.
  • the relevant content of the service data flow please refer to the relevant introduction of the first service data flow, and details will not be repeated here.
  • the first service data flow in the embodiment of the present application may be a CBR service data flow, such as but not limited to European transmission level (European transmission level 1, E1), synchronous (synchronous, STM-1), CPRI, serial digital Information (serial digital information, SDI).
  • European transmission level European transmission level 1, E1
  • synchronous synchronous
  • STM-1 synchronous
  • CPRI serial digital Information
  • SDI serial digital information
  • the first service data flow in the embodiment of the present application can also be a type of data flow that does not have an Ethernet frame format but has a fixed rate and a Time Division Multiplexing (Time Division Multiplexing, TDM) frame structure, and this type of data flow can also be called For CBR business.
  • TDM Time Division Multiplexing
  • Table 1 and Table 2 below exemplarily show the relevant information of several service data flows.
  • the service data flows in the embodiment of the application (such as the first service data flow, the second service data flow 1, the second service data flow 2, The second service data stream 3, etc.) may be the service data streams exemplified in Table 1 and Table 2.
  • MB Megabyte (Mega Byte, MB)
  • MB can also be abbreviated as G
  • bit per second bit/s
  • gigabyte gigabyte
  • G synchronous optical network
  • SONET optical carrier
  • optical carrier optical carrier
  • OC optical carrier
  • G generic requirement
  • G core
  • CORE American National Standards Institute
  • ANSI plesiochronous digital system
  • PDH plesiochronous digital hierarchy
  • Transport Layer 1 Transport Layer 1 (Transmission Level1, T1)
  • Fast Ethernet fast Ethernet
  • FE Institute of Electrical and Electronics Engineers
  • IEEE Gigabit Ethernet
  • GE 10 Gigabit Ethernet (10Gigabit Ethernet, 10GE
  • local area network local area network
  • LAN wide area network
  • wide area network wide area network
  • WAN wide area network
  • storage area network storage area network
  • SAN Fiber Channel
  • fiber channel fiber channel
  • FC fiber connector
  • FICON enterprise system connection
  • FICON enterprise system connection
  • FICON enterprise system connection
  • At least one piece of clock frequency information in the first code block stream may further include second clock frequency information.
  • the data frame (one or more consecutive data frames) corresponding to the second clock frequency information is referred to as the second data frame in the embodiment of the present application, and the number of the second data frame may be one or more.
  • the second clock frequency information may be used to indicate the transmission duration of the second data frame of the first service data flow.
  • each piece of clock frequency information in the at least one piece of clock frequency information corresponds to k data frames.
  • the second clock frequency information is used to indicate the transmission duration of the k second data frames of the first service data flow and/or the transmission moment when the first communication device receives the k second data frames.
  • the first communication device determines the clock frequency information of the k data frames every k data frames.
  • the second communication device may also obtain the second clock frequency information and k second data frames from the first code block stream, and send the k second data frames according to the second clock frequency information.
  • related content of the second clock frequency information reference may be made to related content of the first clock frequency information, and details are not repeated here.
  • the number of second data frames may be different from the number of first data frames.
  • the first communication device may send the number of data frames corresponding to the first clock frequency information and the number of data frames corresponding to the second clock frequency information to the second The second communication device, so that the second communication device determines data frames respectively corresponding to the first clock frequency information and the second clock frequency information.
  • the first clock frequency information may have the following multiple implementation modes, the following implementation modes a1, implementation mode a2, implementation mode a3, implementation mode a4, implementation mode a5, implementation mode a6, implementation mode a7, implementation mode a8 , Embodiment a9, Embodiment a10, and Embodiment a11 are described as examples.
  • Embodiment a1
  • the first clock frequency information includes a first count value, and the first count value is the number of cycles of the clock frequency of the local clock signal of the first communication device within the duration of receiving k first data frames by the first communication device .
  • the first clock frequency information may be used to indicate the transmission duration of k first data frames of the first service data flow.
  • the period of the clock frequency in the embodiment of the present application may also be referred to as a clock period, an oscillation period, and the like.
  • the duration of one cycle of the clock frequency is the reciprocal of the clock frequency.
  • the number of cycles of the clock frequency of the local clock signal of the first communication device may also be referred to as: the number of clock cycles, the number of oscillation cycles, and the number of oscillations of the local clock signal of the first communication device.
  • Fig. 4a exemplarily shows a schematic flowchart of a data transmission method at the first communication device side provided by an embodiment of the present application.
  • the first communication device receives a first service data stream.
  • the first service data flow may be a constant rate service, and the bit rate of the first service data flow may be recorded as R client .
  • the first service data stream may be sent by the communication device at the source end to the first communication device with a bit width of n bits, where n is a positive integer.
  • the first communication device may use the statistical module to collect statistics on the first clock frequency information of the k first data frames of the first service data stream.
  • the frame header of the 1st first data frame of the k first data frames may be identified, and the counter is started (for example, the first communication device at the 1st bit of the frame header of the 1st first data frame The counter is started at the receiving moment), and the number of cycles of the clock frequency of the local clock signal of the first communication device (the clock frequency of the local clock signal of the first communication device can be denoted as f source ) is counted by the counter.
  • the counter continues counting until the frame tail of the kth first data frame is recognized, and stop the counter (for example, the first communication device stops the counter at the receiving moment of the last bit of the frame tail of the kth first data frame), at this time, the counter
  • the value of is the first count value.
  • the first count value may be expressed as N source .
  • the first communication device may encapsulate the first service data stream to obtain the first code block stream, place the first count value in the first code block stream, and send the first code block stream to the second communication device device.
  • the frame header of the data frame in the first service data stream in the embodiment of the present application includes a frame header identifier, and the first communication device and the second communication device can identify the frame of the data frame according to the frame header identifier. head.
  • the frame tail of the data frame includes a frame tail identifier, and the first communication device and the second communication device can identify the frame tail of the data frame according to the frame tail identifier.
  • the data frame may be a PCM frame.
  • Fig. 4b exemplarily shows a schematic diagram of counting the first count value.
  • a square wave of the first service data flow can represent the transmission duration of k data frames, such as the kth shown in Fig. 4b The transmission duration of one data frame and the transmission duration of k second data frames.
  • start the counter to count the number of cycles of the clock frequency of the local clock signal of the first communication device until the receiving moment of the frame tail of the k first data frame , stop counting of the counter, and the current value of the counter is the first count value.
  • the transmission duration of a PCM frame may include 1 cycle of the 8kHz local clock signal of the first communication device, or may include 256 cycles of the 2.048Mhz local clock signal of the first communication device.
  • the k-th first data frame and the first second data frame are shown as two consecutive data frames as an example. In practical applications, k first data frames and k second data frames are not limited. frame relationship.
  • FIG. 4c exemplarily shows a schematic flowchart of a data transmission method at the second communication device side provided by an embodiment of the present application.
  • the second communication device acquires a first code block stream.
  • the first clock frequency information (that is, the first count value N source ) is extracted from the first code block stream, and the frequency of the local clock signal of the second communication device is synchronized with the frequency of the local clock signal of the first communication device.
  • the second The communication device may output a working clock signal based on the local clock signal of the second communication device and the first clock frequency information, where the clock frequency of the working clock signal is the clock frequency indicated by the first clock frequency information.
  • the second communication device can combine the phase detector, the phase-locked loop and the filter to realize the above-mentioned scheme of outputting the working clock signal based on the local clock signal and the first clock frequency information of the second communication device, and the phase-locked loop and the filter are cascaded.
  • the phase detector can also be regarded as the internal structure of the phase locked loop
  • the input of the phase detector can be the local clock signal of the second communication device and the clock frequency indicated by the first clock frequency information, based on the value output by the phase detector and the second
  • the local clock signal of the communication device, the phase-locked loop and the filter output the working clock signal.
  • the second communication device may decapsulate the first code block stream to obtain k first data frames in the first service data stream. Further, the second communication device may send k first data frames at a clock frequency indicated by the first clock frequency information.
  • the first communication device and the second communication device can solve the transparent transmission of clock frequency information of the service by transmitting the first count value problem, the scheme is relatively simple, and the number of bits occupied by the transmitted first count value can be less.
  • the frequency points of the local clock signal of the first communication device and the local clock signal of the second communication device are the same, and the frequencies are synchronized.
  • the local clock signal of the first communication device and the local clock signal of the second communication device are both 100 MHz signals.
  • the second communication device may send the k second data frames based on the clock frequency information of the k first data frames indicated by the first count value, so as to solve the problem of transparent transmission of the clock frequency information of the service.
  • the first clock frequency information includes a second count value, and the second count value is a difference between the first count value and a preset value.
  • the first clock frequency information may be used to indicate the transmission duration of k first data frames of the first service data flow.
  • the embodiment a2 differs only in that the first clock frequency information is the second count value instead of the first count value.
  • the second count value may be a positive number or a negative number.
  • the first clock frequency information may include two parts, one part is a sign (positive sign or negative sign) of the second count value, and the other part includes an absolute value of the second count value.
  • a reference clock signal can be set, the clock frequency f ref of the reference clock signal.
  • the clock frequency f ref of the reference clock signal may also be referred to as a reference clock frequency.
  • the number of cycles of the clock frequency of the reference clock signal within the preset duration is a preset value, and the preset value can be recorded as N ref .
  • N ref is the number of clock cycles of f ref within the preset duration, which is an integer.
  • the difference between the first count value and the preset value may be transmitted Solve the problem of transparent transmission of clock frequency information of services. In order to reduce the number of bits occupied by the difference, the preset value can be made closer to the first count value.
  • the preset duration can be set according to the average value of the transmission duration of the k data frames of the first service data flow, for example, the preset duration is equal to at least one group of data frames (one group of data frames) of the first service data flow
  • the data frame includes an average value of the transmission duration of k data frames), or an average value of the transmission duration of at least one group of data frames whose preset duration is close to the first service data flow.
  • the difference between the preset duration and the transmission duration of the k first data frames is smaller than a preset difference threshold.
  • k values may be configured in the first communication device. Then the first communication device determines the value r of the number of bits in the k data frames, and then multiplies r by the transmission duration of each bit, and the obtained value can be used as the preset duration.
  • the transmission duration of each bit may be determined according to the transmission rate of the service data flow corresponding to the k data frames.
  • the real frequency of the local clock is equal to the clock frequency of the service data flow corresponding to the k data frames
  • the recorded transmission duration of the k data frames is used as the preset duration. It can be seen from this embodiment that as long as the value of k is configured, the first communication device can determine the preset duration.
  • This scheme provides a possible implementation scheme for determining the preset duration, and this scheme only needs to configure the value of k, which is relatively simple and easy to popularize.
  • the solution executed by the second communication device is similar to that in the embodiment a1, except that the second count value is obtained when the first clock frequency information is obtained.
  • the second communication device can obtain the preset value in advance, and then can calculate the first count value in combination with the preset value.
  • the frequency points of the local clock signal of the first communication device and the local clock signal of the second communication device are the same, and the frequencies are synchronized.
  • the local clock signal of the first communication device and the local clock signal of the second communication device are both 100 MHz signals.
  • the second communication device may send the k second data frames based on the clock frequency information of the k first data frames indicated by the second count value, so as to solve the problem of transparent transmission of the clock frequency information of the service. Further, k first data frames are sent according to the first count value. For this step, reference may be made to the foregoing embodiment a1, and details are not repeated here.
  • the first clock frequency information includes a second count value and a preset value.
  • the first clock frequency information may be used to indicate the transmission duration of k first data frames of the first service data flow.
  • embodiment a3 The difference between embodiment a3 and embodiment a2 is that the first communication device transmits a preset value in addition to the second count value to the second communication device. For the rest, refer to embodiment a2 and will not be repeated here.
  • the sending cycle of the second count value and the preset value can also be set separately, for example, the sending cycle of the preset value can be longer than the sending cycle of the second count value, so that the sending cycle of the preset value can be reduced.
  • the number of sending times saves resources.
  • a preset value can be set for the first service data flow, and the first communication device can transmit the preset value to the second communication device through the clock frequency information corresponding to the first service data flow (such as the first clock frequency information). device.
  • the first communication device may also transmit multiple preset values to the second communication device through multiple clock frequency information of the first service data stream, for example, it may A preset value is carried in the clock frequency information.
  • multiple preset values may be set for the first service data flow, and each preset value may correspond to one or more groups of data frames (each group of data frames may include k data frames).
  • the first clock frequency information includes the receiving time of the frame header of the first data frame among the k first data frames, and the receiving time of the frame tail of the k-th first data frame among the k first data frames .
  • the first clock frequency information may be used to indicate the moment when the first communication device receives the k first data frames of the first service data flow.
  • the second communication device can calculate the transmission duration of the k first data frames according to the two moments in the first clock frequency information, it can also be understood as the first The clock frequency information indicates the transmission duration of the k first data frames of the first service data flow.
  • the first clock frequency information includes two timestamps, which are timestamp 1 and timestamp 2 respectively.
  • timestamp 1 is the receiving time of the frame header (such as the first bit of the frame header) of the first data frame
  • timestamp 2 is the frame tail of the k-th first data frame (such as the last bit of the frame tail ) receiving time.
  • the second communication device can determine the transmission duration of k first data frames of the first service data stream according to the first clock frequency information (calculate the difference between the two timestamps in the first clock frequency information), and then can calculate According to the transmission duration of the k first data frames, k first data frames are sent within the transmission duration, so that the transmission duration of the k first data frames sent by the second communication device is the same as that received by the first communication device.
  • the transmission durations of the k first data frames are equal or substantially equal, so that the problem of transparent transmission of clock frequency information of services can be solved.
  • the first clock frequency information may occupy 32 bits, and the unit may be nanoseconds.
  • timestamp 1 is: 0000 0000 0000 0000 0000 0001.
  • Timestamp 2 is: 0000 0000 0000 0000 1000 0000.
  • the time difference between timestamp 2 and timestamp 1 is 127 nanoseconds, that is, the transmission duration of the k first data frames is 127 nanoseconds.
  • the second communication device can generate a k first service data stream corresponding to the first communication device receiving the first service data flow according to the difference between the two time stamps in the first clock frequency information and the local clock signal of the second communication device.
  • the clock frequency of the working clock signal can be calculated by the formula ( ⁇ t1/(1/f_local)), where ⁇ t1 is the difference between the two timestamps in the first clock frequency information, and f_local is the time stamp of the second communication device The clock frequency of the local clock signal.
  • the units of the numerator and denominator in this formula can be unified to nanoseconds.
  • the second communication device may not calculate the transmission duration of the k first data frames, but directly send the k data frames based on the clock frequency information of the k first data frames indicated by the two timestamps. the second data frame. For example, the second communication device records the receiving time "time stamp 3" of the frame header (such as the first bit of the frame header) of the first data frame of the k first data frames received by the second communication device.
  • the second communication device calculates the time difference ⁇ t2 between the time stamp 3 and the time stamp 1, further, the second communication device records the receiving time "time stamp 4" of the frame tail of the kth data frame of the k first data frames received by the second communication device ", then calculate the time difference ⁇ t3 between timestamp 4 and timestamp 2, and compare ⁇ t3 with ⁇ t2.
  • the minimum delay of the network is fixed within a certain period of time, and the minimum delay can also be obtained within a certain period of time in terms of probability.
  • ⁇ t3 When the difference between ⁇ t3 and ⁇ t2 is less than a set threshold, if ⁇ t3 is less than ⁇ t2, it means that the data sending frequency of the second communication device is slow, and the second communication device can properly adjust the frequency of sending data a little faster . If ⁇ t3 is greater than ⁇ t2, it means that the data sending frequency of the second communication device is fast, and the second communication device may appropriately slow down the data sending frequency.
  • the frequency of the local clock signal of the first communication device is synchronized with the frequency of the local clock signal of the second communication device.
  • the frequency points of the local clock signal of the first communication device and the local clock signal of the second communication device may be the same or different.
  • the second communication device may send the k second data frames based on the clock frequency information of the k first data frames indicated by the two time stamps, thereby solving the problem of transparent transmission of the clock frequency information of the service.
  • the first clock frequency information includes a first duration
  • the first duration is a transmission duration of k first data frames.
  • the unit of ⁇ t 2 may be nanoseconds or seconds.
  • the first communication device may start the timer at the moment of receiving the frame header of the first first data frame among the k first data frames, and in the k first data frames The timing of the timer is stopped at the time of receiving the header of the first first data frame, and the value of the current timer is the first duration.
  • the second communication device may decapsulate the first code block stream to obtain k first data frames in the first service data stream. Furthermore, the second communication device may send k first data frames with the first duration indicated by the first clock frequency information, for example, the transmission duration of the k first data frames sent by the second device may also be controlled within the first duration. Therefore, the problem of transparent transmission of the clock frequency information of the service can be solved.
  • the first communication device and the second communication device can solve the problem of transparent transmission of the clock frequency information of the service by transmitting the first duration, and the solution is relatively simple. And the second communication device does not need to combine the pre-designed value, the clock frequency of the reference clock signal, etc. to perform calculations.
  • the frequency of the local clock signal of the first communication device is synchronized with the frequency of the local clock signal of the second communication device.
  • the frequency points of the local clock signal of the first communication device and the local clock signal of the second communication device may be the same or different.
  • the second communication device may send the k second data frames based on the clock frequency information of the k first data frames indicated by the first duration, so as to solve the problem of transparent transmission of the clock frequency information of the service.
  • Embodiment a6
  • the first clock frequency information may be used to indicate the moment when the first communication device receives the k first data frames of the first service data flow.
  • the first clock frequency information includes the receiving time of the header of the first data frame in the k first data frames.
  • the receiving moment of the frame header of the first data frame among the k first data frames included in the first clock frequency information is: the time when the first communication device receives the first data frame among the k first data frames The moment of the frame header.
  • the k first data frames can be called a group of data frames .
  • the second clock frequency information indicates the transmission duration of the k second data frames, so the k second data frames may also be referred to as a group of data frames.
  • the second communication device may calculate the transmission duration of a group of data frames according to the difference between the received first clock frequency information included in two groups of adjacent data frames.
  • the k first data frames are called the first group of data frames
  • the k second data frames are called the second group of data frames. If the k second data frames are received after the k first data frames That is, the first group of data frames and the second group of data frames are two consecutive groups of data frames.
  • the second communication device acquires the first group of data frames (k first data frames) corresponding to clock frequency information, and after obtaining the second clock frequency information corresponding to the second group of data frames (k second data frames), the second communication device may subtract the first clock frequency from the moment indicated by the second clock frequency information At the moment indicated by the information, the obtained value is the transmission duration of the first group of data frames (k first data frames).
  • a group of data frames includes k data frames as an example.
  • the k first data frames and k second value frames in Figure 4b are 2k continuous data frames.
  • the receiving time of the frame header of the second data frame is relatively close, and in a possible implementation manner, it can also be understood that the two are approximately equal.
  • the first clock frequency information is the receiving time of the frame header of the first first data frame
  • the second clock frequency information is the receiving time of the frame header of the first second data frame.
  • the second device After the second device receives the first clock frequency information and the second clock frequency information, it can use the receiving time of the frame header of the first second data frame to subtract the receiving time of the frame header of the first data frame to obtain
  • the value of is the transmission duration of k first data frames.
  • the first clock frequency information can also indicate the transmission duration of k first data frames of the first service data flow.
  • Embodiment a6 it can be seen from Embodiment a6 that the first communication device and the second communication device can solve the problem of transparent transmission of the clock frequency information of the service by transmitting the receiving time of the frame header of the first data frame of a group of data frames. It is relatively simple, and the number of bits occupied by the transmitted information is small. And the second communication device does not need to combine the pre-designed value, the clock frequency of the reference clock signal, etc. to perform calculations.
  • the second communication device may not calculate the transmission duration of the k first data frames, but directly send the data frames based on the two timestamps corresponding to the two groups of data frames. For example, the second communication device records the receiving time (time stamp 3) of the frame header (such as the first bit of the frame header) of the first data frame of the k first data frames received by the second communication device, and records The receiving time (time stamp 5) of the frame header (for example, the first bit of the frame header) of the first data frame of the k second data frames received by the second communication device.
  • the second communication device calculates the time difference ⁇ t2 between the time stamp 3 and the receiving moment (time stamp 1) of the frame header of the first data frame of the k first data frames received by the first communication device, and the second communication device Calculate the time difference ⁇ t4 between the time stamp 5 and the receiving moment (time stamp 6 ) of the frame header of the first data frame of the k second data frames received by the first communication device, and then compare ⁇ t4 with ⁇ t2.
  • the minimum delay of the network is fixed within a certain period of time, and the minimum delay can also be obtained within a certain period of time in terms of probability.
  • ⁇ t4 When the difference between ⁇ t4 and ⁇ t2 is less than a set threshold, if ⁇ t4 is less than ⁇ t2, it means that the data sending frequency of the second communication device is slow, and the second communication device can properly adjust the frequency of sending data a little faster . If ⁇ t4 is greater than ⁇ t2, it means that the data sending frequency of the second communication device is fast, and the second communication device may appropriately slow down the data sending frequency.
  • the frequency of the local clock signal of the first communication device and the local clock signal of the second communication device are synchronized.
  • the frequency points of the local clock signal of the first communication device and the local clock signal of the second communication device may be the same or different.
  • the second communication device may send the k second data frames based on the first clock frequency information, thereby solving the problem of transparent transmission of the clock frequency information of the service.
  • Embodiment a7
  • the first clock frequency information may be used to indicate the moment when the first communication device receives the k first data frames of the first service data flow.
  • the first clock frequency information includes the receiving moment of the frame end of the kth first data frame among the k first data frames.
  • the receiving moment of the frame tail of the kth first data frame among the k first data frames included in the first clock frequency information is: the first communication device receives the kth first data frame among the k first data frames The moment of the end of a data frame.
  • the k first data frames are called the first group of data frames.
  • the k fourth data frames in the first service data stream are called the third group of data frames.
  • the fourth clock frequency information is used to indicate the transmission duration of k fourth data frames. If the k fourth data frames are received before the k first data frames, that is, the third group of data frames and the first group of data frames are two consecutive groups of data frames, in this case, the second communication device After obtaining the first clock frequency information corresponding to the first group of data frames (k first data frames), and obtaining the fourth clock frequency information corresponding to the third group of data frames (k fourth data frames), the second The communication device may subtract the time indicated by the fourth clock frequency information from the time indicated by the first clock frequency information, and the obtained value is the transmission duration of the first group of data frames (k first data frames). It should be noted that the number of data frames included in any two groups of data frames in the embodiment of the present application may be equal or unequal. In this embodiment, a group of data frames includes k data frames as an example.
  • the k first data frames are called the first group of data frames
  • the k second data frames are called the second group of data frames. If the k second data frames are received after the k first data frames That is, the first group of data frames and the second group of data frames are two consecutive groups of data frames.
  • the second communication device obtains the first group of data frames (k first data frames) corresponding to After obtaining the first clock frequency information and the second clock frequency information corresponding to the second group of data frames (k second data frames), the second communication device may subtract the time indicated by the second clock frequency information from the first clock At the moment indicated by the frequency information, the obtained value is the transmission duration of the second group of data frames (k second data frames).
  • the k first data frames and k second value frames in Figure 4b are 2k continuous data frames.
  • the receiving time of the frame header of the second data frame is relatively close, and in a possible implementation manner, it can also be understood that the two are approximately equal.
  • the first clock frequency information is the receiving time of the frame tail of the kth first data frame
  • the second clock frequency information is the receiving time of the frame tail of the kth second data frame.
  • After the second device receives the first clock frequency information and the second clock frequency information it may subtract the reception time of the frame tail of the k-th first data frame from the reception time of the frame tail of the k-th second data frame to obtain
  • the value of is the transmission duration of k second data frames.
  • the first clock frequency information can also indicate the transmission duration of k first data frames of the first service data flow.
  • the first communication device and the second communication device can solve the problem of transparent transmission of the clock frequency information of the service by transmitting the receiving time of the frame tail of the first data frame of a group of data frames. It is relatively simple, and the number of bits occupied by the transmitted information is small. And the second communication device does not need to combine the pre-designed value, the clock frequency of the reference clock signal, etc. to perform calculations.
  • the second communication device may not calculate the transmission duration of the k first data frames, but directly send the data frames based on the two timestamps corresponding to the two groups of data frames.
  • the frequency of the local clock signal of the first communication device is synchronized with the frequency of the local clock signal of the second communication device.
  • the frequency points of the local clock signal of the first communication device and the local clock signal of the second communication device may be the same or different.
  • the second communication device may send the k second data frames based on the first clock frequency information, thereby solving the problem of transparent transmission of the clock frequency information of the service.
  • Embodiment a8
  • the first clock frequency information may be used to indicate the transmission duration of k first data frames of the first service data flow.
  • the first clock frequency information includes a third count value, and the third count value is the number of cycles of the clock frequency of the local clock signal of the first communication device within the second duration.
  • the second duration is the duration from the preset moment to the receiving moment of the frame header of the first first data frame among the k first data frames.
  • the preset time can be implemented in various ways.
  • the first communication device can use the received time of the frame header of the first data frame in the first service data stream received as for the preset time.
  • the first communication device may agree with the second communication device that the time when the header of the first data frame in the first service data stream received by the first communication device is received as the preset time.
  • the position at the preset time may also be determined by the first communication device itself, and the first communication device may not send the position at the preset time to the second communication device.
  • the first communication device sends an indication to the second communication device that "the receiving time of the frame header of the first data frame in the first service data stream received by the first communication device is preset time" instructions.
  • a preset time may be specified at intervals of a relatively long period of time, and the duration between two adjacent preset times may be greater than the transmission duration of at least two groups of data frames.
  • the first communication device may designate a preset time every 3k data frames.
  • the first communication device may send indication information indicating which time is the preset time to the second communication device, or may not indicate the position of the preset time to the second communication device.
  • FIG. 9c exemplarily shows a schematic diagram of a possible data frame transmission duration of the first service data flow provided by the embodiment of the present application.
  • a specified time is taken as the preset time.
  • the preset time is the time when the first communication device receives the first bit of the frame header of the first data frame in the first service data stream, and the first communication device starts the counter with the preset time,
  • the number of cycles of the clock frequency of the local clock signal of the first communication device (the clock frequency of the local clock signal of the first communication device may be denoted as f source ) is counted by the counter.
  • the first communication device keeps the continuous counting of the counter until it recognizes the frame header of the first second data frame and recognizes the value of the counter at this time.
  • the value of the counter is called the fifth count value, and the fifth count The value is the second clock frequency information.
  • the third count value reflects the count value of the counter within the second time period (time period t 11 ).
  • the fifth count value reflects the count value of the counter within the duration t12 .
  • the first communication device may continue to maintain the continuous counting of the counter until the next preset time is reached, and then reset the counter to zero and restart it. In yet another possible implementation manner, the first communication device may continue to maintain continuous counting of the counter until the data frames of the first service data flow are completely received. In yet another possible implementation manner, the first communication device may continue to keep counting the counter until it reaches the maximum value that the counter can count, and in this case, clear the counter and restart it to count again. The first communication device may record the time when the counter is restarted as a new preset time.
  • the second communication device can infer whether the counter has undergone a process of clearing and recounting according to the count value included in the received clock frequency information. Therefore, even if the first communication device does not indicate the new preset time to the second communication device, the second communication device can send data according to the clock frequency information, and solve the problem of transparent transmission of the clock frequency information of the service. In yet another possible implementation manner, the first communication device may also indicate the new preset time to the second communication device.
  • the first communication device may encapsulate the first service data stream to obtain the first code block stream, place the third count value in the first code block stream, and send the first code block stream to the second communication device device.
  • the second communication device may decapsulate the first code block stream to obtain the k first data frames in the first service data stream and the first clock frequency information (third count value) and the second clock frequency information (fifth count value). Further, the second communication device may subtract the third count value from the fifth count value to obtain the first count value. The second communication device sends k first data frames according to the calculated clock frequency corresponding to the first count value.
  • the first communication device and the second communication device can solve the problem of transparent transmission of the clock frequency information of the service by transmitting the third count value.
  • the solution is relatively simple, and the bits occupied by the transmitted information The number is less.
  • the frequency points of the local clock signal of the first communication device and the local clock signal of the second communication device are the same, and the frequencies are synchronized.
  • the local clock signal of the first communication device and the local clock signal of the second communication device are both 100 MHz signals.
  • the second communication device may send the k second data frames based on the clock frequency information of the k first data frames indicated by the third count value, so as to solve the problem of transparent transmission of the clock frequency information of the service.
  • the first clock frequency information includes the second duration.
  • the second duration is the duration from the preset moment to the receiving moment of the frame header of the first first data frame among the k first data frames.
  • the unit of ⁇ t k2 may be nanoseconds or seconds.
  • the first communication device may start a timer at a preset time, and record statistics of the timer at the time of receiving the frame header of the first first data frame among the k first data frames duration, the current timer value is the second duration.
  • the second communication device may subtract the second duration from the duration indicated by the second clock frequency information to obtain the transmission duration of the k first data frames.
  • the second communication device sends the k first data frames according to the clock frequency corresponding to the calculated transmission duration of the k first data frames.
  • the first communication device and the second communication device can solve the problem of transparent transmission of the clock frequency information of the service by transmitting the second duration, and the solution is relatively simple. And the second communication device does not need to combine the pre-designed value, the clock frequency of the reference clock signal, etc. to perform calculations.
  • the frequency of the local clock signal of the first communication device is synchronized with the frequency of the local clock signal of the second communication device.
  • the frequency points of the local clock signal of the first communication device and the local clock signal of the second communication device may be the same or different.
  • the second communication device may send the k second data frames based on the clock frequency information of the k first data frames indicated by the second duration, so as to solve the problem of transparent transmission of the clock frequency information of the service.
  • Embodiment a10
  • the first clock frequency information may be used to indicate the transmission duration of k first data frames of the first service data flow.
  • the first clock frequency information includes a fourth count value, and the fourth count value is the number of cycles of the clock frequency of the local clock signal of the first communication device within the third duration.
  • the third duration is the duration from the preset moment to the receiving moment of the frame end of the k-th first data frame among the k first data frames.
  • Fig. 9d exemplarily shows a schematic diagram of a possible data frame transmission duration of the first service data flow.
  • the k fourth data frames, the k first data frames and the k second data frames are 3k consecutive data frames.
  • a certain specified time is taken as the preset time.
  • the first communication device starts with the preset time, starts the counter, and passes through the counter to the number of cycles of the clock frequency of the local clock signal of the first communication device (the clock frequency of the local clock signal of the first communication device can be denoted as f source ) to count.
  • the first communication device maintains the continuous counting of the counter until the frame end of the kth second data frame is recognized, and the value of the counter at this time is recognized.
  • the value of the counter is called the sixth count value, and the sixth count The value is the second clock frequency information.
  • the seventh count value reflects the count value of the counter within the third time period (time period t 21 ).
  • the fourth count value reflects the count value of the counter within the third time period (time length t 22 ).
  • the sixth count value reflects the count value of the counter within the duration t23 .
  • the second communication device receives k first data frames in the first service data stream, first clock frequency information (fourth count value) and fourth clock frequency information (seventh count value). Further, the second communication device may subtract the seventh count value from the fourth count value to obtain the first count value. The second communication device sends k first data frames according to the calculated clock frequency corresponding to the first count value. Similarly, the second communication device may subtract the fourth count value from the sixth count value to obtain a count value corresponding to the transmission duration of the k second data frames. The second communication device sends the k first data frames according to the clock frequency indicated by the count value corresponding to the calculated transmission duration of the k second data frames.
  • the first communication device and the second communication device can solve the problem of transparent transmission of the clock frequency information of the service by transmitting the fourth count value, the solution is relatively simple, and the bits occupied by the transmitted information The number is less.
  • the second communication device may not calculate the transmission duration of the k first data frames, but directly send the data frames based on the two timestamps corresponding to the two groups of data frames.
  • the frequency points of the local clock signal of the first communication device and the local clock signal of the second communication device are the same, and the frequencies are synchronized.
  • the local clock signal of the first communication device and the local clock signal of the second communication device are both 100 MHz signals.
  • the second communication device may send the k second data frames based on the clock frequency information of the k first data frames indicated by the fourth count value, so as to solve the problem of transparent transmission of the clock frequency information of the service.
  • the first clock frequency information includes a third duration
  • the third duration is the duration from the preset time to the receiving time of the frame end of the k-th first data frame among the k first data frames.
  • the first communication device may count the fourth count value, and then calculate the third duration corresponding to the fourth count value.
  • the calculation method refer to the foregoing embodiment a9, and details are not repeated here.
  • the first communication device may start a timer at a preset time, and record statistics of the timer at the receiving time of the frame end of the k-th first data frame among the k first data frames duration, the current timer value is the third duration.
  • the second communication device receives the k first data frames in the first service data stream and the first clock frequency information (the third duration, the duration t 22 in FIG. 9d ) and the fourth clock frequency information (the time length corresponding to the seventh count value, the time length t 21 in Fig. 9d ).
  • the second communication device may subtract the third duration from the duration indicated by the fourth clock frequency information to obtain the transmission duration of the k first data frames.
  • the second communication device sends the k first data frames according to the clock frequency corresponding to the calculated transmission duration of the k first data frames.
  • the first communication device and the second communication device can solve the problem of transparent transmission of the clock frequency information of the service by transmitting the third duration, and the solution is relatively simple. And the second communication device does not need to combine the pre-designed value, the clock frequency of the reference clock signal, etc. to perform calculations.
  • the frequency of the local clock signal of the first communication device is synchronized with the frequency of the local clock signal of the second communication device.
  • the frequency points of the local clock signal of the first communication device and the local clock signal of the second communication device may be the same or different.
  • the second communication device may send the k second data frames based on the clock frequency information of the k first data frames indicated by the third duration, so as to solve the problem of transparent transmission of the clock frequency information of the service.
  • FIG. 5a exemplarily shows a possible implementation manner of converting a service data stream into a code block stream in the embodiment of the present application, and this implementation manner can be executed on the side of the first communication device.
  • the service data stream 1 is converted into the code block stream 1
  • the code block stream 1 is 64B/66B encoding format as an example.
  • the service data stream 1 can be the first service data stream
  • the code block stream 1 can be the first code block stream
  • the first For the process of converting the service data stream into the first code block stream refer to the process of converting the service data stream 1 into the code block stream 1 in FIG. 5a.
  • the service data stream 1 is a series of bit streams.
  • the first communication device may intercept segment by segment in units of 64 bits to obtain multiple segments, each segment including 64 bits. Then the first communication device puts 64 bits of each segment into the payload area of the D code block. It can also be understood that the first communication device adds a synchronization header of 01 to each segment to obtain a D code block.
  • the first communication device may add S code blocks and T code blocks to both ends of a set of D code blocks.
  • a set of D-code blocks may include one or more D-code blocks.
  • the numbers of any two groups of D code blocks can be equal or unequal. In a possible implementation manner, the numbers of any two groups of D code blocks in the code block stream 1 are equal.
  • a set of D code blocks is P D code blocks as an example, and P can be a positive integer.
  • the P D code blocks and the S code blocks and T code blocks before and after the P D code blocks can be called a data unit, or a container, and the S code block can represent the beginning of the container.
  • T A code block may indicate the end of the container.
  • Part of the bits in the S code block may be used to carry container overhead, that is, may be used to carry overhead information corresponding to the data unit.
  • the process of converting the bit string in the service data stream 1 into a series of D code blocks, and adding S code blocks and T code blocks at both ends of the consecutive P D code blocks can be called container encapsulation.
  • the first communication device may fill a code block between two adjacent data units (or called containers), for example, fill an Idle code block, so as to match the rate of the code block stream 1 with the pipeline rate.
  • the code block stream 1 is mapped to a pipeline (a pipeline may also be referred to as a hard pipeline in this embodiment of the application).
  • FIG. 5b exemplarily shows a schematic diagram of the relationship between rates of various data streams in the process of container construction.
  • the original rate of service data stream 1 may be smaller than the rate after container encapsulation is added to service data stream 1.
  • the rate after adding container encapsulation in service data flow 1 may be lower than the rate after filling idle code blocks between containers.
  • the rate after filling Idle chunks between containers may be lower than the rate after mapping chunk stream 1 to a hard pipe.
  • FIG. 5c exemplarily shows a possible implementation of converting a code block stream into a service data stream in the embodiment of the present application.
  • This implementation can be performed on the second communication device side, and this implementation can be understood as The reverse process of Figure 5a.
  • the code block stream 1 is converted into the service data stream 1, and the code block stream 1 is 64B/66B encoding format as an example.
  • the service data stream 1 may be the first service data stream
  • the code block stream 1 may be the first code block stream
  • the first For the process of converting the code block stream into the first service data stream refer to the process of converting the code block stream 1 into the service data stream 1 in FIG. 5c.
  • the second communication device receives code block stream 1 . Afterwards, the second communication device removes the code blocks filled between the data units of the code block stream 1 for rate adaptation, such as the Idle code block. Further, the second communication device extracts the overhead information carried in the S code block and/or the T code block (for example, the first clock frequency information can be extracted from the S code block), and removes the S code block and the T code block at both ends of each data unit , to obtain a code block stream composed of all D code blocks. Further, the second communication device removes the synchronization header of each D code block in the code block stream composed entirely of D code blocks, and obtains a series of bit streams, which is the service data stream 1 .
  • the second communication device removes the synchronization header of each D code block in the code block stream composed entirely of D code blocks, and obtains a series of bit streams, which is the service data stream 1 .
  • the bits in the service data stream 1 are carried in the payload area of the data code block of the data unit of the code block stream 1 as an example.
  • the bits in the service data stream 1 can be carried not only in the payload area of the data code block of the first data unit, but also in the end code block, such as the end code block of T7, the end code block of T6 Tail code blocks, etc.
  • the code blocks in the code block stream 1 in the embodiment of the present application can be divided into one or more data units.
  • one data unit includes S code blocks, P D code blocks and T code blocks Introduced as an example, in practical applications, a data unit may also include multiple forms.
  • the data unit carrying the bits corresponding to the k first data frames is called the first data unit, and the bits corresponding to the k first data frames can carry one or more first data units.
  • all first data units carrying bits corresponding to the k first data frames are referred to as a first data unit group.
  • the first data unit group includes W 1 first data units, where W 1 is a positive integer. The numbers of data code blocks included in any two first data units may be equal or unequal.
  • the data unit carrying the bits corresponding to the k second data frames is called the second data unit, and the bits corresponding to the k second data frames can carry one or more second data units.
  • all second data units carrying bits corresponding to the k second data frames are referred to as a second data unit group.
  • the first data unit group includes W 2 second data units, where W 2 is a positive integer.
  • the numbers of data code blocks included in any two second data units may be equal or unequal.
  • the first code block stream further includes second clock frequency information, and the second clock frequency information is used to indicate the transmission duration of k second data frames of the first service data stream and/or the first communication device receives the first service data stream The moment of the k second data frame.
  • the number of D code blocks included in any two data units of the code block stream 1 is P as an example. That is to say, the number of data code blocks included in the first data unit is the same as the number of data code blocks included in the second data unit. In practical applications, the number of data code blocks included in the second data unit and the first data unit may also be different.
  • the first data unit is taken as an example to introduce the data units in the first code block stream.
  • the content of other data units please refer to the related introduction of the first data unit, which will not be repeated here.
  • the first data unit may have multiple structural forms, for example, the first data unit may include one of the following:
  • header code block at least one data code block and tail code block
  • At least one data code block and tail code block At least one data code block and tail code block
  • header block at least one data block and an operation and maintenance management block
  • header block at least one data block, a trailer block, and an operation and maintenance management block;
  • At least one data code block, tail code block and operation maintenance management code block At least one data code block, tail code block and operation maintenance management code block.
  • the header code block may be an S code block.
  • the tail code block may be a T code block.
  • the data code blocks may be D code blocks.
  • the operation and maintenance management code block may be an O code block.
  • the bits corresponding to the k first data frames may be carried in the payload area of the data code block in at least one data code block of the first data unit in the W 1 first data units.
  • the bits corresponding to the k first data frames can not only be carried in the data code blocks in at least one data code block of the first data unit in the W 1 first data units
  • the payload area may also be carried in the end code block of the first data unit in the W 1 first data units.
  • the first clock frequency information may be carried in some or all of the first data units in the W 1 first data units.
  • W 1 is 1, and the first data unit carries all of the first clock frequency information and k first data frames.
  • W 1 is an integer greater than 1.
  • one or more first data units among the W 1 first data units may carry the first clock frequency information.
  • one piece of clock frequency information can be used to indicate the clock frequency of bits carried by multiple data units, thereby reducing the frequency of sending the clock frequency information and saving resources.
  • the first communication device may also carry the first indication information in each first data unit carrying the first clock frequency information among the W 1 first data units.
  • the first indication information is used to indicate that the first data unit carrying the first indication information carries part or all of the first clock frequency information.
  • the first communication device may also carry the second indication information in each of the W 1 first data units that does not carry the first clock frequency information.
  • the second indication information is used to indicate that the first data unit carrying the second indication information does not carry the first clock frequency information.
  • the second communication device can judge whether a data unit carries clock frequency information according to whether the data unit carries the first indication information, and a data unit does not carry the first indication information, such as carrying the second indication information In some cases, the second communication device does not need to search for clock frequency information, and thus the data processing speed of the second communication device can be increased.
  • the first communication device carries the first clock frequency information through one of the W 1 first data units through the first case, and the first communication device through the W 1 first data unit through the second case.
  • Multiple first data units in a data unit carry first clock frequency information for introduction.
  • the first case the first communication device may transmit the first clock frequency information in one of the W 1 first data units, and the first communication device may transmit the first clock frequency information in the W 1 first data units.
  • the data unit does not transmit the first clock frequency information.
  • a field can also be set in each first data unit, for example, a new SEQ field can be set, and the SEQ field can occupy 3 bits to indicate 0-7 (a total of 8 values ).
  • the value of the SEQ field increases with the number of data units. For example, if the value of the SEQ field of the current data unit is 0, the value of the SEQ field of the next data unit is increased by 1, which is 1; the value of the SEQ field of the next data unit Add 1, it is 2, and so on, when the value of the SEQ field reaches 7, the value starts from 0 again.
  • the value of W 1 is 4, and k first data frames are carried in 4 first data units.
  • every k data frames in the first service data stream are carried in every 4 data units of the first code block stream.
  • the clock frequency information may be carried in the data unit whose value of the SEQ field is 0 and the value of the SEQ field is 4.
  • the clock frequency information (for example, the first clock frequency information) carried in the data unit whose value of the SEQ field is 0 may indicate the current data unit and the consecutive data units whose SEQ field values are 1, 2 and 3 in sequence after the data unit
  • the transmission duration of all data frames (k first data frames) from the first service data flow carried in (4 first data units).
  • the clock frequency information (for example, the second clock frequency information) carried in the data unit whose value of the SEQ field is 4 may indicate that the current data unit and the consecutive SEQ field values after the data unit are 5, 6 and 7 in sequence
  • the transmission duration of all data frames (k second data frames) from the first service data flow carried in the data unit (four second data units).
  • the values of the SEQ field are 0 and 4, which are respectively equivalent to the first indication information in the embodiment of the present application, and the first indication information is used to indicate that the data unit carrying the first indication information carries a clock. frequency information.
  • the first indication information is used to indicate that all of the clock frequency information is carried in the data unit carrying the first indication information.
  • the values of the SEQ field are 1, 2, 3, 5, 6, and 7 respectively, which are equivalent to the second indication information in the embodiment of the present application, and the second indication information is used to indicate that the data unit carrying the second indication information does not carry Clock frequency information.
  • the value of W 1 is 2, and k first data frames are carried in 2 first data units.
  • every k data frames in the first service data stream are carried in every 2 data units of the first code block stream.
  • Clock frequency information may be carried in data units with values of 0, 2, 4 and 6 in the SEQ field.
  • the clock frequency information (such as the first clock frequency information) carried in the data unit with the value of the SEQ field as 0 may indicate the current data unit and the data unit with the value of the SEQ field after the data unit as 1 (two first data units).
  • the clock frequency information (such as the second clock frequency information) carried in the data unit with the value of the SEQ field as 2 may indicate the current data unit and the data unit with the value of the SEQ field after the data unit as 3 (two The transmission duration of all data frames (k second data frames) from the first service data flow carried in the second data unit).
  • the values of the SEQ field are 0, 2, 4, and 6 respectively corresponding to the first indication information in the embodiment of the present application, and the first indication information is used to indicate the data unit carrying the first indication information Carries the clock frequency information.
  • the values of the SEQ field being 1, 3, 5, and 7 are equivalent to the second indication information in the embodiment of the present application, and the second indication information is used to indicate that the data unit carrying the second indication information does not carry clock frequency information.
  • the first communication device may transmit the first clock frequency information in multiple first data units among the W 1 first data units.
  • W 1 is 4, the first clock frequency information occupies 32 bits in total, and the first communication device may transmit the first clock frequency information in the first first data unit of the W 1 first data units For the first 16 bits, the first communication device transmits the last 16 bits of the first clock frequency information in the second first data unit of the W 1 first data units. The first communication device does not transmit the first clock frequency information in the third first data unit and the fourth first data unit among the W 1 first data units. That is to say, all of the first clock frequency information is carried in multiple first data units among the W 1 first data units, in this case, one first data unit among the multiple first data units may be Only the part that carries the first clock frequency information.
  • the SEQ field may also be set in each first data unit, and the SEQ field may occupy 3 bits and be used to indicate 0-7 (8 values in total).
  • the value of W 1 is 4, and k first data frames are carried in 4 first data units.
  • every k data frames in the first service data stream are carried in every 4 data units of the first code block stream.
  • 32 bits of clock frequency information may be carried in a data unit with a value of 0 in the SEQ field and a value of 1 in the SEQ field, for example, the first 16 bits of the clock frequency information may be carried in a data unit with a value of 0 in the SEQ field, The last 16 bits of the clock frequency information are carried in the data unit whose value of the SEQ field is 1.
  • the 32-bit clock frequency information (for example, the first clock frequency information) carried in the data unit with the value of the SEQ field of 0 and the value of the SEQ field of 1 can indicate the current two data units and the consecutive data units following the data unit.
  • the 32-bit clock frequency information (for example, the second clock frequency information) carried in the data unit with the value of the SEQ field of 4 and the value of the SEQ field of 5 may indicate the current two data units and the following data unit
  • the consecutive values of the SEQ field are the transmission durations of all data frames (k second data frames) from the first service data stream carried in data units 6 and 7 (4 second data units).
  • the values of the SEQ field are 0, 1, 4, and 5 respectively corresponding to the first indication information in the embodiment of the present application, and the first indication information is used to indicate the data unit carrying the first indication information Carries the clock frequency information.
  • the first indication information is used to indicate a part of the clock frequency information carried in the data unit carrying the first indication information. In this way, one piece of clock frequency information can be jointly carried by multiple data units, thereby increasing the number of bits used to carry the clock frequency information.
  • the values of the SEQ field are 2, 3, 6, and 7 respectively, which are equivalent to the second indication information in the embodiment of the present application, and the second indication information is used to indicate that the data unit carrying the second indication information does not carry clock frequency information.
  • the bearing position of the clock frequency information of the first service data flow can also be implemented in various ways.
  • the following takes a first data unit bearing the first clock frequency information as an example to introduce.
  • the first data unit What is carried in may be all of the first clock frequency information, or may be a part of the first clock frequency information.
  • the first clock frequency information (it may be a part of the first clock frequency information, or all of the first clock frequency information) may be carried in at least one of the following contents of the first data unit: header code block, at least one data code block, tail code block, or operation maintenance management code block.
  • the following introduces through the implementation manner b1, the implementation manner b2, the implementation manner b3 and the implementation manner b4.
  • Embodiment b1
  • the first clock frequency information may be carried in the header code block of the first data unit.
  • the header code block may be an S code block, which may be used to identify the beginning of a data unit.
  • FIG. 6a exemplarily shows a schematic structural diagram of a first data unit carrying first clock frequency information provided by an embodiment of the present application. As shown in FIG. 6a , the data unit is a data unit in FIG. 5a .
  • the first service data flow may be a constant rate service.
  • Figure 6a shows that the data unit is in the form of SDDDDT.
  • the first clock frequency information can be carried in the payload area of the S code block, for example, it can be carried in the position after the code block type area "0x78" carried in the payload area. In this way, the second communication device can quickly analyze the clock frequency information.
  • the first clock frequency information may be carried in at least one data code block of the first data unit.
  • FIG. 6b exemplarily shows a schematic structural diagram of another first data unit carrying first clock frequency information provided by the embodiment of the present application.
  • the data unit is a data unit in FIG. 5a .
  • Figure 6b shows that the data unit is in the form of SDDDDT.
  • the first clock frequency information may be carried in the payload area of the first D code block after the S code block.
  • the T code block can be used as the T7 code block, so that the payload area of the T7 code block can be used
  • the area other than the code block type area "0xFF" carries a PCM frame.
  • at most 7 bytes of the D code block can be used to carry the first clock frequency information, and when the T code block is T7, there can also be 7 bytes of bits in the payload area of the T code block to carry PCM frames.
  • the first clock frequency information may be carried in the end code block of the first data unit.
  • FIG. 6c exemplarily shows a schematic structural diagram of another first data unit carrying first clock frequency information provided by the embodiment of the present application.
  • the data unit is a data unit in FIG. 5a .
  • Fig. 6c shows that the structure form of the data unit is SDDDDT.
  • the first clock frequency information may be carried in the payload area of the T code block.
  • the T code block adopts the T7 code block, and the first clock frequency information may be carried in the payload area of the T7 code block except the code block type area "0xFF".
  • the T7 code block is just an example, and other code blocks, such as the T6 code block and the T5 code block, can also be used.
  • the first clock frequency information may be carried in the operation and maintenance management code block of the first data unit.
  • the operation and maintenance management code block may be an O code block.
  • the operation and maintenance management code block can be located between two data units. If combined with the above-mentioned Figure 5a, after S code blocks and T code blocks can be added at both ends of P D code blocks, O code blocks can be inserted between two data units, for example, O code blocks can be inserted periodically. Further, the Idele code block can be filled in the code block stream after the O code block is inserted, so as to perform rate adaptation.
  • a possible code block stream form after O code blocks are inserted may be: ...OISDDDDTIOISDDDDTIOI....
  • O is an O code block
  • I is an Idle code block
  • S is a header code block
  • D is a data code block
  • T is a tail code block.
  • Figure 6d shows a schematic diagram of a possible structure of the O code block.
  • the information carried in the payload area of the code block is shown in the figure As shown in 6d, it may include: code block type area "0x4B", and the values carried in the payload area may be: 00, type (type), value 1 (value 1), value 2 (value 2), 0xC, 0x0, Value 3 (value 3), value 4 (value 4), sequence number (sequence) and Cyclic Redundancy Check 4 (Cyclic Redundancy Check, CRC).
  • the first clock frequency information may be carried in at least one of value 1 (value 1), value 2 (value 2), value 3 (value 3), or value 4 (value 4) of the O code block.
  • the first data unit may further include the data frame shown in FIG. 2d, and the first data unit may include an overhead area and a payload area.
  • the first clock frequency information may be carried in at least one of the overhead area or payload area in the data frame shown in Figure 2d, for example, the first clock frequency information is carried in the general overhead, mapping overhead or CRC8 in the overhead area at least one.
  • the k first data frames may be carried in the payload area of the data frame shown in Fig. 2d. It should be noted that the first clock frequency information may be carried in one or more first data units.
  • the k first data frames may also be carried in one or more first data units.
  • the specific bearer scheme is similar to the foregoing content, for example, schemes such as the first data unit group may be set, which will not be repeated here.
  • the sending of a first service data stream is taken as an example for description.
  • the communication device at the source end can also send multiple service data streams.
  • the communication device at the source end can also Sending Q 0 second service data streams to the first communication device, where Q 0 is a positive integer.
  • Q 0 second service data streams are the same as the communication device at the source end of the first service data stream, and Q 0 second service data streams are the same as the communication device at the sink end of the first service data stream Similarly, in this case, it can also be said that the Q 0 second service data flow has the same source and same destination as the first service data flow.
  • the first communication device may obtain Q0 second service data flows and third indication information of each service data flow in the first service data flow.
  • the third indication information indicates whether the Q 0 second service data flows and the first service data flows have the same source and destination.
  • the first communication device may determine whether the two service data streams are based on the two third indication information corresponding to the two service data streams From the same source communication device (it can be the same logical communication device, or the same physical communication device), and whether it goes to the same sink end communication device (it can be the same logical communication device, or it can be as the same physical communication device).
  • the third indication information in the service data stream may be information, and Q 0 second service data streams may be determined based on the information Whether it has the same source and destination as the first service data flow.
  • the third indication information may include two parts of information, for example, the third indication information includes source end indication information and sink end indication information, and the first communication device may The indication information judges whether the two service data streams come from the communication device at the same source end, and the first communication device can also judge whether the two service data streams are destined for the communication at the same sink end according to the sink end indication information of the two service data streams. device.
  • the two source indication information of the two service data flows can be two port numbers, and the two port numbers Can be the same or different.
  • the first communication device may determine, according to source indication information corresponding to the two service data streams, that the two service data streams come from the same source-end communication device.
  • the first communication device determines that the two port numbers (which may be logical port numbers or physical port numbers) correspond to the same communication device (for example, the first communication device uses the two port numbers are connected to the same communication device), then it can also be determined according to the source indication information corresponding to the two service data streams that the two service data streams come from the same source-end communication device.
  • the two port numbers are different, if the first communication device determines that the two port numbers (which may be logical port numbers or physical port numbers) do not correspond to the same communication device (for example, the first communication device passes The two port numbers are connected to the same communication device), then it is determined that the two service data streams are not from the same source communication device.
  • the two third indication information of the two service data streams may be two service numbers or service type information .
  • the first communication device determines that the service numbers of the two services are the same or the service type information is the same, it may determine that the two service data streams have the same source and same destination.
  • the third indication information may be some configured indication information.
  • the third indication information may also be address information, such as media access control (medium access control, MAC) address information or Internet protocol (internet protocol, IP) address, and the like.
  • the source indication information in the third indication information may be a source address
  • the sink indication information may be a destination address.
  • Q 0 second service data streams have the same source address as the first service data stream
  • Q 0 second service data streams have the same destination address as the first service data stream, then they can be called Q 0 second service data streams
  • the flow has the same source and the same destination as the first service data flow.
  • the first communication device may multiplex the first service data stream and Q 0 second service data streams to obtain the first code block stream.
  • multiple business data streams can be processed in parallel, thereby increasing the processing speed of each business data stream.
  • Embodiment c1
  • the first communication device multiplexes the bit blocks in the first service data stream and Q 0 second service data streams in units of bit blocks consisting of n 0 consecutive bits to obtain the first code block flow.
  • n 0 is a positive integer.
  • the first communication device receives the first service data stream and Q 0 second service data streams.
  • the first service data stream and Q 0 second service data streams can be divided into bit blocks consisting of n 0 consecutive bits.
  • the bit blocks in the data stream are multiplexed to obtain the third service data stream.
  • the first communication device may generate the first code block stream according to the third service data stream.
  • Fig. 7a exemplarily shows a schematic diagram of multiplexing a bit block of n 0 bits in the first service data stream and Q 0 second service data streams.
  • Q 0 is 3 as an example for introduction. Multiplexing is performed on 4 signals (respectively the first service data flow, the second service data flow 1, the second service data flow 2, and the second service data flow 3), and the obtained third service data flow is shown in Figure 7a .
  • the process of generating the first code block stream by the first communication device according to the third service data stream can refer to the process shown in Figure 5a.
  • the third service data stream is the service in Figure 5a Data stream 1
  • code block stream 1 is the first code block stream.
  • the D code block included in one data unit may carry multiple signals.
  • the first communication device may use one data unit to carry the bearer, or may use multiple data Units are carried, for example, the first code block stream includes a first data unit group.
  • the first data unit group includes W 1 first data units.
  • one of the W 1 first data units includes: bits corresponding to the k first data frames in the first service data stream, each of Q 0 second service data streams Bits corresponding to the k third data frames of the second service data stream.
  • one of the W 1 first data units includes: some bits in the bits corresponding to the k first data frames in the first service data stream, and Q 0 Part of the bits in the bits corresponding to the k third data frames of each second service data stream in the second service data stream.
  • one of the W 1 first data units includes: (k /W 1 ) bits corresponding to the first data frames, bits corresponding to (k/W 1 ) third data frames of each second service data stream in the Q 0 second service data streams.
  • Example 1 taking n 0 as 8 as an example, in this case, the first communication device performs the first service data stream and Q 0 second service data streams in units of 8 bits (or called 1 byte) reuse.
  • Fig. 7b exemplarily shows a schematic diagram of the signal carried in the data unit shown in Fig. 6a.
  • a D code block can carry 64 bits of data, that is, it can carry the continuous data in the third service data stream. 8 n 0 -bit blocks.
  • a data unit may include 16 D code blocks, if a PCM frame is 256 bits, then 1 PCM frame is carried by 4 D code blocks, and 4 PCM frames of 4 signals can be Carried by 16 D code blocks.
  • Example 2 taking n 0 as 256 as an example, in this case, the first communication device performs the first service data stream and Q 0 second service data streams in units of 256 bits (or called 32 bytes) reuse.
  • Figure 7c exemplarily shows a schematic diagram of the signal carried in the data unit shown in Figure 6a, as shown in Figure 7c, one D code block can carry 64 bits of data, and 4 D code blocks can carry the third service data 1 block of n 0 bits in the stream.
  • the first data unit may include: bits corresponding to k first data frames in the first service data stream, k bits of each second service data stream in Q 0 second service data streams bits corresponding to the third data frame, and the first clock frequency information.
  • the first data unit may only include the first clock frequency information.
  • the first clock frequency information may indicate the third clock frequency in addition to the transmission duration of k first data frames of the first service data flow.
  • the transmission duration of the k third data frames of the second service data flow corresponding to the information.
  • the transmission duration of the k first data frames is equal to the transmission duration of the k third data frames of the second service data flow.
  • the first data unit may further include multiple pieces of clock frequency information.
  • the first data unit may also include Q 0 third clock frequency information corresponding to Q 0 second service data streams.
  • the third clock frequency information among the Q 0 pieces of third clock frequency information is used to indicate the transmission duration of k third data frames of the second service data flow.
  • the second communication device side may decapsulate the first code block stream to obtain the third service data stream. Further, the second communication device may demultiplex the first code block stream in units of bit blocks composed of n 0 consecutive bits to obtain the first service data stream and Q 0 second service data streams.
  • the first communication device uses N 1 data units (N 1 is a positive integer) as a unit to compare the data in the corresponding code block stream in the first service data stream and Q 0 second service data streams
  • N 1 is a positive integer
  • the first communication device may process the first service data stream to generate the second code block stream.
  • the first service data stream may be service data stream 1
  • the second code block stream may be code block stream 2.
  • the first communication device may process Q 0 second service data streams to generate Q 0 third code block streams.
  • the second service data stream may be service data stream 1
  • the third code block stream corresponding to the second service data stream may be code block stream 2.
  • the first communication device multiplexes data in the Q 0 third code block streams and the second code block stream to obtain the first code block stream.
  • the second communication device may, according to the preset ordering between Q 0 third code block streams and second code block streams, use N 1 data units as a unit, to perform Q 0 third code block streams and second code block streams
  • the data units in the code block stream are multiplexed to obtain the first code block stream.
  • Fig. 7d exemplarily shows a schematic diagram of a scheme in which a first communication device multiplexes data units in Q 0 third code block streams and second code block streams in units of one data unit, as shown in Fig. 7d
  • the first communication device multiplexes the data in the Q 0 third code block stream and the second code block stream by taking one data unit as a unit to obtain a code block stream 3 .
  • an Idle code block may be added between data units of the code block stream 3 for rate adaptation.
  • the code block stream 3 to which the Idle code block is added may be understood as the first code block stream.
  • one piece of clock frequency information can be carried in each data unit.
  • the first clock frequency information may be carried in the first data unit.
  • the second code block stream includes a first data unit, and the first data unit includes first clock frequency information and k first data frames.
  • a data unit in the third code block stream may carry k third data frames and third clock frequency information of the second service data stream corresponding to the third code block stream, the first The three clock frequency information is used to indicate the transmission duration of k third data frames of the second service data flow.
  • multiple consecutive data units in the first code block stream may share one clock frequency information. That is to say, only the data units in the second code block stream may carry clock frequency information, while none of the Q0 third code block streams carry clock frequency information.
  • the 4 consecutive data units are respectively from 4 signals, assuming that the 4 data units include the first data unit, and the first data unit includes the first clock frequency information and k first data frames.
  • the remaining three data units do not carry clock frequency information.
  • the four data units share the first clock frequency information in the first data unit. That is to say, the first clock frequency information is not only used to indicate the transmission duration of the k first data frames, but also used to indicate the k third data carried by each of the remaining three data units in the four data units The transmission time of the frame.
  • the first communication device may set a SEQ field in each data unit of the first code block stream, and the SEQ field may occupy 3 bits and be used to indicate 0-7 (8 values in total).
  • the value of the SEQ field increases with the number of data units. For example, if the value of the SEQ field of the current data unit is 0, the value of the SEQ field of the next data unit is increased by 1, which is 1; the value of the SEQ field of the next data unit Add 1, it is 2, and so on, when the value of the SEQ field reaches 7, the value starts from 0 again.
  • N 1 is 1
  • W 1 has a value of 1
  • k first data frames of the first service data flow are carried in one first data unit.
  • the data unit whose SEQ value is 0 in the first code block stream is a data unit (data unit from the second code block stream) of k data frames (such as k first data frames) carrying the first service data stream
  • a data unit with a SEQ value of 1 in the first code block stream is a data unit that carries k data frames of the second service data stream 1
  • a data unit with a SEQ value of 2 in the first code block stream is a data unit that carries the second service data stream
  • the data unit of the SEQ value of 3 in the first code block stream is the data unit of k data frames carrying the second service data stream 3.
  • the data unit with the SEQ value of 0 carries clock frequency information (for example, the first clock frequency information), and the clock frequency information carried in the data unit with the value of the SEQ field of 0 may indicate that the current data unit carries clock frequency information from
  • the transmission duration of all data frames of the first service data flow may also indicate the transmission duration of all data frames from the second service data flow 1 carried in the data unit with the value of the SEQ field being 1 after the current data unit, or Indicates the transmission duration of all data frames from the second service data stream 2 carried in the data unit with the SEQ field value of 2 after the current data unit, and may also indicate the data unit with the SEQ field value of 3 after the current data unit
  • the transmission duration of all data frames from the second service data flow 3 carried by the carrier The data units whose SEQ field values are 1, 2 and 3 do not carry clock frequency information.
  • the data unit (data unit from the second code block stream) whose SEQ value is 4 of the first code block stream is a data unit carrying k data frames of the first service data stream
  • the SEQ of the first code block stream A data unit with a value of 5 is a data unit that carries k data frames of the second service data stream 1
  • a data unit with a SEQ value of 6 of the first code block stream is a data unit that carries k data frames of the second service data stream 2
  • the data unit with the SEQ value of 7 in the first code block stream is the data unit carrying k data frames of the second service data stream 3 .
  • the data unit with the SEQ value of 4 carries clock frequency information.
  • the clock frequency information carried in the data unit whose value of the SEQ field is 4 may indicate the transmission duration of all data frames from the first service data flow carried in the current data unit, and may also indicate the value of the SEQ field after the current data unit
  • the transmission duration of all data frames from the second service data flow 1 carried in the data unit of 5 can also indicate that the data from the second service data flow carried in the data unit with a SEQ field value of 6 after the current data unit
  • the transmission duration of all data frames in 2 may also indicate the transmission duration of all data frames from the second service data stream 3 carried in the data unit with the value of the SEQ field being 7 after the current data unit.
  • the data units whose SEQ field values are 5, 6 and 7 do not carry clock frequency information.
  • the second communication device may remove padding information (such as an Idle code block) from the first code block stream to obtain a code block stream 3 .
  • the second communication device may demultiplex the code block stream 3, for example, demultiplex the first code block stream in units of N 1 data units, thereby obtaining Q 0 third code block streams and the second code block stream.
  • the second communication device may obtain the k first data frames of the first service data stream and the first clock frequency information from the second code block stream.
  • the second communication device may also process the third code block stream to obtain k in the second service data stream corresponding to the third code block stream a third data frame.
  • the first communication device may also acquire Q 1 fourth code block streams before S303 above, where Q 1 is a positive integer.
  • the first code block stream can be based on the corresponding relationship between the Q 1 fourth code block streams and the first code block stream and the S 1 first time slots respectively, for the Q 1 fourth code block streams performing time division multiplexing with the code blocks in the first code block stream to obtain a fifth code block stream, and sending the fifth code block stream.
  • One of the Q 1 fourth code block streams and the first code block stream corresponds to at least one first time slot in the S 1 first time slots.
  • S 1 is an integer not smaller than (Q 1 +1).
  • the second communication device acquires the fifth code block stream, and according to the corresponding relationship between Q 1 fourth code block streams and the first code block stream and S 1 first time slots, the fifth code block The stream is demultiplexed to obtain Q 1 fourth code block stream and the first code block stream.
  • the first code block stream and the Q1 fourth code block stream can both be codes corresponding to the large-granularity pipeline.
  • Block streams eg, code block stream 511, code block stream 611, code block stream 411, etc. in FIG. 2a.
  • the fifth code block stream may be the aforementioned code block stream 1211 in FIG. 2a.
  • the first time slot may be a time slot corresponding to the large-grained pipeline mentioned in FIG. 2a, for example, one first time slot may correspond to one 5G time slot.
  • a channel with a time slot granularity of 5Gbps in FlexE is used as a large-grained pipeline.
  • the bandwidth of a large-granularized pipeline in this embodiment of the application is not limited to 5Gbps, for example, it can also be 6Gbps, 7Gbps, etc.
  • Fig. 8 exemplarily shows a structural diagram of a frame format (data frame format of a code block stream 1211) of a flexible Ethernet protocol provided by an embodiment of the present application, the code block stream 1211 output by the first communication device in the foregoing Fig. 2a
  • the frame format in can be the frame format of the flexible Ethernet protocol, as shown in Figure 8, based on the flexible Ethernet protocol, a fixed frame format can be constructed for the transmission of the physical port, and time slot division based on TDM is performed.
  • 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 5Gbps, called a time slot (slot).
  • the code block stream corresponding to the large-grained pipeline is multiplexed according to 20 time slots to construct a time-division multiplexed frame.
  • the flexible Ethernet can be based on a time-division multiplexing frame structure constructed with 64B/66B code blocks.
  • the data on each PHY of FlexE is aligned by periodically inserting FlexE overhead (OH) code blocks.
  • FlexE overhead (OH) code blocks For example, a 66B overhead code block FlexE OH can be inserted every 1023 x 20 66B payload data code blocks.
  • the 66B code block of 8 lines (each line includes 1 OH code block + 1023 x 20 data (Data)) constitutes a protocol frame under the flexible Ethernet protocol (the protocol frame can also be called a basic frame , base frame, single frame, etc.). As shown in Figure 8. 32 protocol frames under the flexible Ethernet protocol constitute a multiframe under the flexible Ethernet protocol.
  • FlexE OH can define two management channels in OH, and the management channels can be used to run two Ethernet networks of 1.2Mb/s and 1.8Mb/s based on 64B/66B code block stream encoding. Network protocol management, OAM communication link. Furthermore, in the embodiment of the present application, 64B/66B encoding can be adopted in the 100GE physical layer scenario. ITU-T MTN reuses the FlexE frame structure, so its frame structure is the same and will not be repeated here.
  • the solution provided by the embodiment of the present application may be applicable to small-particle pipelines.
  • the first communication device may also acquire Q 1 fourth code block streams before S303 above, and Q 1 is a positive integer.
  • the first code block stream can be based on the corresponding relationship between the Q 1 fourth code block streams and the first code block stream and the S 1 first time slots respectively, for the Q 1 fourth code block streams Time division multiplexing is performed with the code blocks in the first code block stream to obtain the fifth code block stream.
  • One of the Q 1 fourth code block streams and the first code block stream corresponds to at least one first time slot in the S 1 first time slots.
  • S 1 is an integer not smaller than (Q 1 +1).
  • the first communication device acquires Q 2 sixth code block streams, where Q 2 is a positive integer. According to the corresponding relationship between the Q 2 sixth code block streams and the fifth code block streams and the S 2 second time slots, the first communication device compares the Q 2 sixth code block streams and the fifth code block streams The code blocks are time-division multiplexed to obtain the seventh code block stream, and the seventh code block stream is sent. Wherein, one of the Q 2 sixth code block streams and the fifth code block stream corresponds to at least one second time slot in the S 2 second time slots. S 2 is an integer not smaller than (Q 2 +1). The second time slot corresponding to the fifth code block stream is divided into S 1 first time slots.
  • the second communication device acquires the seventh code block stream, and according to the correspondence between S 2 second time slots and Q 2 sixth code block streams and fifth code block streams, the seventh code block stream Demultiplexing to obtain Q 2 sixth code block streams and fifth code block streams. Further, the second communication device obtains the fifth code block stream, and according to the corresponding relationship between Q 1 fourth code block streams and the first code block streams and S 1 first time slots respectively, performs a process on the fifth code block stream Demultiplexing to obtain Q 1 fourth code block stream and the first code block stream.
  • the first code block stream and the Q1 fourth code block stream can both be the small-grained streams in Figure 2a
  • the code block stream corresponding to the pipeline for example, the code block stream corresponding to the small-grain service 1 and the small-grain service 2).
  • the fifth code block stream may be the aforementioned code block stream 411 in FIG. 2a.
  • the first time slot may correspond to the sub-slot corresponding to the small granular pipeline mentioned in FIG. 2a, for example, one first time slot may correspond to one 10M sub-slot.
  • the seventh code block stream may be the code block stream 1211 in Fig. 2a.
  • the second time slot may be the time slot corresponding to the large-grained pipeline mentioned in FIG. 2a, for example, one second time slot may correspond to one 5G time slot.
  • the flexible small granularity (fine granularity basic unit, fgBU) frame format in the small granularity time slot is introduced below with reference to FIG. 2a and FIG. 9a and FIG. 9b.
  • the bandwidth of a small-grain pipe is smaller than the bandwidth of the large-grain pipe to which the small-grain pipe belongs.
  • a large-grained pipeline is 5 Gbps
  • a small-granularity pipeline is 10 Mbps as an example for schematic illustration.
  • the corresponding bandwidths of the two large-grain pipes can be equal or unequal.
  • the bandwidths of any two small-grain pipes obtained by dividing a large-grain pipe can be equal or unequal.
  • the subsequent content takes the bandwidth of each large-grained pipe as 5 Gbps, and the bandwidth of each small-grained pipe as 10 Mbps as an example for description.
  • a time slot corresponding to a large-grained pipe can be divided into 480 sub-slots, and a correspondence relationship between the 480 sub-slots and small-grained services can be established, and data of each small-granularity service can be multiplexed according to the corresponding relationship.
  • Fig. 9a exemplarily shows a flexible small granularity frame (fine granularity basic unit, fgBU) (code block stream corresponding to small granularity service 1) format provided by the embodiment of the present application.
  • the code block stream output by the large particle pipeline 40 is obtained by multiplexing data on multiple small particle pipelines, that is, the frame format in the code block stream 411 output by the large particle pipeline 40 can be called the fgBU frame format.
  • the large-grain pipeline 40 is divided into 480 small-grain pipelines 401, one small-grain pipeline corresponds to a sub-slot, and multiplexing of each small-grain service is performed according to the corresponding relationship between the sub-slot and the small-grain service.
  • a multiplexed code block stream is obtained (shown in the figure as the code block stream output by the large particle pipeline 40 ).
  • the code block stream after multiplexing the small-grained service includes at least one multiframe, wherein a multiframe includes 20 basic frames (such as basic frame 0 to basic frame 19 in Figure 9a), and a basic frame includes 24 subframes. time slot resources.
  • a multiframe may include all 480 sub-slot resources of a large-grained pipe.
  • the basic frame in this embodiment of the present application may also be called a fine granularity basic unit (Fine Granularity Basic Unit, fgBU) or a small granularity basic frame.
  • the frame structure of the basic frame can be composed of 1 S code block + 195 D code blocks + 1 T code block, and its total length is 197 66b code blocks.
  • eight 65-bit code blocks can be transmitted on one sub-slot resource.
  • Fig. 9b exemplarily shows a schematic diagram of a basic frame 0 of a code block stream 411.
  • the sub-slots corresponding to the small-grained service 1 are sub-slots 0 and 1, for example, the sub-slots for the small-grained service 1
  • the bandwidth has been increased, and the sub-slot 7 is also allocated to the small-grain service 1 now.
  • the sub-slot allocated by the small-grain service 2 is sub-slot 2.
  • One of the Q1 clients may correspond to one or more sub-slots in the 480 sub-slots included in a large-grained pipeline. There may also be one or more sub-slots among the 480 sub-slots, and no clients are allocated.
  • the first communication device may encapsulate the data corresponding to the small-grain service 1 to obtain the code block stream corresponding to the small-grain service 1, and encapsulate the data corresponding to the small-grain service 2 to obtain the code block stream corresponding to the small-grain service 2.
  • the first communication device may multiplex the code block stream corresponding to the small granular service 1 and the code block stream corresponding to the small granular service 2 according to the corresponding relationship between the small granular service 1 and the small granular service 2 and the sub-slots, to obtain the code block Stream 4.
  • the code blocks in the code block stream in Fig. 9b are 64-bit/66-bit code blocks as an example.
  • the synchronization header area of the code blocks in the code block stream 4 is compressed to obtain the code block stream 5 .
  • a specific compression method may be, for example, compressing a sync header area occupying 2 bits into a sync header area occupying 1 bit. For example, if the sync header is 01, it will be 0 after compression, and if the sync header is 10, it will be 1 after compression.
  • the first communication device may put the bits of the code block stream 5 into the payload (payload) area in the code block stream 411 . It can also be said that the bits in the fourth code block stream are packed into fgBU frame (basic frame 0).
  • a basic frame (also called an fgBU frame) carries data corresponding to 24 sub-slots.
  • a fgBU frame format can contain the following four parts:
  • fgBU encapsulation header preamble: fgBU boundary positioning, compatible with Ethernet preamble, X-Ethernet/MTN large-grain pipeline and Ethernet rate adaptation.
  • fgBU payload bears business data, which can include bits in the D code block after the first S code block of the fgBU frame except for the 56-bit OH information, and the payload area in the remaining D code blocks, and can also include Bits on the T code block that can be used to carry service data (for example, bits outside the synchronization header area in the T7 code block).
  • T7 fgBU Encapsulation Trailer
  • the small particle fgBU of the Ethernet hard dedicated line has a fixed length, 197 64B/66B code blocks (1567 bytes before encoding), including: 7 bytes of fgBU overhead, 1560 bytes of payload; plus 8 bytes of preamble, 1 word Section EFD and 8-byte IPG (at a typical rate, each coded fgBU is followed by an idle code block).
  • an area in the code block stream 411 may carry indication information, and the indication information is used to indicate the code blocks from the code block stream 5 carried in the multiframe.
  • the indication information may be to extract and process the compressed 1-bit sync header area of each code block, and place them in a preset area, for example, after the OH information. After that, only the 64 bits of each code block in the code block stream 5 except the sync header area are put into the payload area of the code block stream 411 in sequence.
  • the second communication device can restore the synchronization header area of the code block in the code block stream 5 according to the indication information.
  • the communication device includes hardware structures and/or software modules corresponding to each function.
  • the present application can be implemented in the form of hardware or a combination of hardware and computer software with reference to the units and method steps of the examples described in the embodiments disclosed in the present application. Whether a certain function is executed by hardware or computer software drives the hardware depends on the specific application scenario and design constraints of the technical solution.
  • FIG. 10 , FIG. 11 and FIG. 12 are schematic structural diagrams of possible communication devices provided by embodiments of the present application. These communication devices can be used to implement the functions of the first communication device in the above method embodiments, and therefore can also achieve the beneficial effects of the above method embodiments. These communication devices can also be used to implement the functions of the second communication device in the above method embodiments, so the beneficial effects of the above method embodiments can also be realized.
  • the communication device may be the sending end device or the first communication device as shown in Fig. 1a and Fig. 2a, and may also be a module (such as a chip) applied to the sending end device or the first communication device.
  • the communication device may be the receiving end device or the second communication device as shown in Fig. 1a and Fig. 2a, and may also be a module (such as a chip) applied to the receiving end device or the second communication device.
  • a communication device 1300 includes a processing unit 1310 and a transceiver unit 1320 .
  • the communication device 1300 is configured to implement the functions of the first communication device in the method embodiment shown in FIG. 3 above.
  • the processing unit 1310 is used to execute through the transceiver unit 1320 : receive the first service data stream.
  • the first code block stream includes first clock frequency information; the first clock frequency information is used to indicate: the transmission of k first data frames of the first service data stream Duration, and/or, the moment when k first data frames of the first service data flow are received.
  • the processing unit 1310 is also used to execute through the transceiver unit 1320: receive Q 0 second service data streams, Q 0 is positive integer. Generate a first code block stream according to the first service data stream and Q 0 second service data streams.
  • the first clock frequency information is also used to indicate the transmission duration of k third data frames of each second service data stream in the Q 0 second service data streams and/or the first communication device receives k third data frames The moments of the data frame.
  • the processing unit 1310 is also used to execute through the transceiver unit 1320: according to the first service data flow and Q 0 pieces of second service data
  • the preset sorting between streams is to multiplex the bit blocks in the first service data stream and Q 0 second service data streams in units of continuous n 0 bits to obtain the third service data stream; n 0 is a positive integer; according to the third service data stream, generate the first code block stream.
  • the processing unit 1310 is also used to execute through the transceiver unit 1320: process Q 0 second service data streams to generate Q 0 third code block streams; process the first service data stream to generate a second code block stream; the second code block stream includes the first clock frequency information; the second code block stream includes the first clock frequency information and k
  • the first data frame multiplexing the data in the Q 0 third code block stream and the second code block stream to obtain the first code block stream.
  • the processing unit 1310 is also used to execute through the transceiver unit 1320: according to the Q 0 third code block stream and the second code block Preset sorting between streams, taking N 1 data units as a unit, multiplexing the data units in the Q 0 third code block stream and the second code block stream to obtain the first code block stream, N 1 is a positive integer.
  • the processing unit 1310 is also used to execute through the transceiver unit 1320: to obtain Q 1 fourth code block streams, Q 1 is positive Integer; according to the correspondence between Q 1 fourth code block streams and the first code block streams and S 1 first time slots respectively, for the codes in Q 1 fourth code block streams and the first code block stream
  • the block is time-division multiplexed to obtain the fifth code block stream;
  • Q 1 fourth code block stream and a code block stream in the first code block stream correspond to at least one first time slot in S 1 first time slots;
  • S 1 is an integer not less than (Q 1 +1); sending the fifth code block stream.
  • the processing unit 1310 is also used to execute through the transceiver unit 1320: acquire Q 2 sixth code block streams, Q 2 is positive Integer; according to the correspondence between Q 2 sixth code block streams and the fifth code block streams and S 2 second time slots respectively, for the codes in the Q 2 sixth code block streams and the fifth code block streams
  • the block is time-division multiplexed to obtain the seventh code block stream; wherein, one code block stream in Q 2 sixth code block streams and the fifth code block stream corresponds to at least one second time slot in S 2 second time slots Slot; S 2 is an integer not less than (Q 2 +1); the second time slot corresponding to the fifth code block stream is divided into S 1 first time slots; the seventh code block stream is sent.
  • a communication device 1300 includes a processing unit 1310 and a transceiver unit 1320 .
  • the communication device 1300 is configured to implement the functions of the second communication device in the method embodiment shown in FIG. 3 above.
  • the processing unit 1310 is used to execute through the transceiver unit 1320: acquire the first code block stream; the first code block stream includes the first A clock frequency information; the first clock frequency information is used to indicate: the transmission duration of the k first data frames of the first service data flow, and/or, the moment when the k first data frames of the first service data flow are received . Acquiring k first data frames and first clock frequency information from the first code block stream; sending the k first data frames according to the first clock frequency information.
  • the processing unit 1310 is also used to execute through the transceiver unit 1320: obtain the second clock frequency information and k second data frames; the second clock frequency information is used to indicate: the transmission duration of k second data frames of the first service data stream, and/or, the first communication device receives k of the first service data stream The moment of the second data frame. According to the second clock frequency information, k second data frames are sent.
  • the processing unit 1310 is also used to execute through the transceiver unit 1320: obtaining the first clock frequency information from the first code block stream;
  • the first code block stream is demultiplexed to obtain the first service data stream and Q 0 second service data streams, where Q 0 is a positive integer; wherein, the first clock frequency information is also used to indicate Q 0 second service data streams
  • the transmission duration of the k third data frames of each second service data flow in the flow and/or the moment when the first communication device receives the k third data frames.
  • the processing unit 1310 is also used to execute through the transceiver unit 1320: taking a bit block composed of consecutive n 0 bits as a unit, to The first code block stream is demultiplexed to obtain the first service data stream and Q 0 second service data streams.
  • the processing unit 1310 is also used to execute through the transceiver unit 1320: demultiplexing the first code block stream to obtain Q 0 A third code block stream and a second code block stream; the second code block stream includes the first clock frequency information and k first data frames; the first service data stream and the first clock frequency are obtained from the second code block stream Information; get Q 0 second service data streams from Q 0 third code block streams.
  • the processing unit 1310 is also used to execute through the transceiver unit 1320: taking N1 data units as a unit, the first code block The streams are demultiplexed to obtain Q 0 third code block streams and second code block streams, and N 1 is a positive integer.
  • the processing unit 1310 is also used to execute through the transceiver unit 1320: obtain the fifth code block stream; Correspondence between the block stream and the first code block stream and S1 first time slots respectively, the fifth code block stream is demultiplexed to obtain Q1 fourth code block stream and the first code block stream; Wherein, Q 1 fourth code block streams and a code block stream in the first code block stream correspond to at least one first time slot in S 1 first time slots; S 1 is not less than (Q 1 +1) an integer of .
  • the processing unit 1310 is also used to execute through the transceiver unit 1320: obtain the seventh code block stream; Correspondence between slots and Q 2 sixth code block streams and fifth code block streams, demultiplexing the seventh code block streams to obtain Q 2 sixth code block streams and fifth code block streams; wherein, A code block stream in Q 2 sixth code block streams and the fifth code block stream corresponds to at least one second time slot in S 2 second time slots; the second time slot corresponding to the fifth code block stream is divided into S 1 first time slot; S 2 is an integer not less than (Q 2 +1).
  • processing unit 1310 and the transceiver unit 1320 can be directly obtained by referring to the relevant description in the method embodiment shown in FIG. 3 , and details are not repeated here.
  • the communication device 1400 includes a processing circuit 1410 and an interface circuit 1420 .
  • the processing circuit 1410 and the interface circuit 1420 are coupled to each other.
  • the interface circuit 1420 may be a transceiver or an input-output interface.
  • the communication device 1400 may further include a memory for storing instructions executed by the processing circuit, or storing input data required by the processing circuit 1410 to execute the instructions, or storing data generated after the processing circuit 1410 executes the instructions.
  • the processing circuit 1410 is used to implement the functions of the processing unit 1310 described above, and the interface circuit 1420 is used to implement the functions of the transceiver unit 1320 described above.
  • a communication device 1500 includes a processor 1510 and a communication interface 1520 .
  • the processor 1510 and the communication interface 1520 are coupled to each other.
  • the communication interface 1520 may be a transceiver or an input and output interface.
  • the communication device 1500 may further include a memory 1530 for storing instructions executed by the processor 1510 or storing input data required by the processor 1510 to execute the instructions or storing data generated by the processor 1510 after executing the instructions.
  • the processor 1510 is used to implement the functions of the above-mentioned processing unit 1310
  • the communication interface 1520 is used to implement the functions of the above-mentioned transceiver unit 1320 .
  • the processor 1510 is used to execute through the communication interface 1520 : receive the first service data stream. Generate a first code block stream according to the first service data stream, the first code block stream includes first clock frequency information; the first clock frequency information is used to indicate: the transmission of k first data frames of the first service data stream Duration, and/or, the moment when k first data frames of the first service data flow are received. Send the first code block stream.
  • the processor 1510 is used to execute through the communication interface 1520: obtain the first code block stream; the first code block stream includes the first A clock frequency information; the first clock frequency information is used to indicate: the transmission duration of the k first data frames of the first service data flow, and/or, the moment when the k first data frames of the first service data flow are received . Acquire k first data frames and first clock frequency information from the first code block stream. According to the first clock frequency information, k first data frames are sent.
  • the communication device chip When the above communication device is a chip applied to the communication device, the communication device chip implements the functions of the communication device in the above method embodiment.
  • the communication device chip receives information from other modules in the communication device (such as a radio frequency module or an antenna), and the information is sent to the communication device by a network device; or, the communication device chip sends information to other modules in the communication device (such as a radio frequency module or antenna) to transmit information, which is sent by the communication device to the network equipment.
  • the processor in the embodiments of the present application can be a central processing unit (Central Processing Unit, CPU), and can also be other general-purpose processors, digital signal processors (Digital Signal Processor, DSP), application-specific integrated circuits (Application Specific Integrated Circuit, ASIC), Field Programmable Gate Array (Field Programmable Gate Array, FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof.
  • a general-purpose processor can be a microprocessor, or any conventional processor.
  • the present application also provides a computer program product, the computer program product including: a computer program or instruction, when the computer program or instruction is run on the computer, the computer is made to execute the computer program shown in Figure 3.
  • a computer program product including: a computer program or instruction, when the computer program or instruction is run on the computer, the computer is made to execute the computer program shown in Figure 3.
  • the present application also provides a computer-readable storage medium, the computer-readable medium stores a program or an instruction, and when the program or instruction is run on a computer, the computer is made to execute the computer shown in Figure 3.
  • the method of any one of the embodiments is illustrated.
  • the present application further provides a chip system, where the chip system may include a processor.
  • the processor is coupled with the memory, and may be used to execute the method in any one of the embodiments shown in FIG. 3 .
  • the chip system further includes a memory.
  • Memory used to store computer programs (also called code, or instructions).
  • the processor is configured to invoke and run a computer program from the memory, so that the device installed with the system-on-a-chip executes the method of any one of the embodiments shown in FIG. 3 .
  • the present application further provides a system, which includes the foregoing first communication device and the second communication device.
  • the method steps in the embodiments of the present application may be implemented by means of hardware, or may be implemented by means of a processor executing software instructions.
  • Software instructions can be composed of corresponding software modules, and software modules can be stored in random access memory (Random Access Memory, RAM), flash memory (flash), read-only memory (Read-Only Memory, ROM), programmable read-only memory , erasable programmable read-only memory (Erasable Programmable ROM, EPROM), electrically erasable programmable read-only memory, registers, hard disk, solid-state drive (solid-state drive, SSD), mobile hard disk, portable read-only memory ( Compact Disc Read-Only Memory, CD-ROM) or any other form of storage medium known in the art.
  • An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium.
  • the storage medium may also be a component of the processor.
  • the processor and storage medium can be located in the ASIC. Additionally, the ASIC may be located in the communication device. Of course, the processor and the storage medium may also exist in the communication device as discrete components.
  • all or part of them may be implemented by software, hardware, firmware or any combination thereof.
  • software When implemented using software, it may be implemented in whole or in part in the form of a computer program product.
  • a computer program product consists of one or more computer programs or instructions. When the computer programs or instructions are loaded and executed on the computer, the processes or functions of the embodiments of the present application are executed in whole or in part.
  • the computer can be a general purpose computer, special purpose computer, computer network, network equipment, user equipment, or other programmable apparatus.
  • Computer programs or instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, computer programs or instructions may be Wired or wireless transmission to another website site, computer, server or data center.
  • a 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 integrating one or more available media. Available media may be magnetic media, such as floppy disks, hard disks, and magnetic tapes; optical media, such as digital video discs; or semiconductor media, such as solid-state hard disks.
  • the computer readable storage medium may be a volatile or a nonvolatile storage medium, or may include both volatile and nonvolatile types of storage media.
  • “plurality” means two or more.
  • “And/or” describes the association relationship of associated objects, indicating that there may be three types of relationships, for example, A and/or B, which can mean: A exists alone, A and B exist simultaneously, and B exists alone, where A, B can be singular or plural.
  • the character “/” generally indicates that the contextual objects are an “or” relationship; in the formulas of this application, the character “/” indicates that the contextual objects are a “division” Relationship.
  • “Including at least one of A, B or C” may mean: including A; including B; including C; including A and B; including A and C; including B and C; including A, B, and C.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种通信方法、相关装置以及存储介质,用于解决业务的时钟频率信息透传问题。本申请中第一通信装置接收第一业务数据流,并根据第一业务数据流,生成第一码块流,发送第一码块流。第一码块流中包括第一时钟频率信息;第一时钟频率信息用于指示:第一业务数据流的k个第一数据帧的传输时长,和/或,接收到第一业务数据流的k个第一数据帧的时刻。如此,第二通信装置可以依据第一时钟频率信息发送k个第一数据帧,以使第二通信装置发出的k个第一数据帧的时钟频率与第一通信装置接收到的该k个第一数据帧的时钟频率基本一致,从而可以解决业务的时钟频率信息透传的问题。

Description

一种通信方法、相关装置以及存储介质
相关申请的交叉引用
本申请要求在2021年09月13日提交中国专利局、申请号为202111067726.3、申请名称为“一种通信方法、相关装置以及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中;本申请要求在2021年09月28日提交中国专利局、申请号为202111142893.X、申请名称为“一种通信方法、相关装置以及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信领域,尤其涉及一种通信方法、相关装置以及存储介质。
背景技术
网络中会存在各种类型的业务,其中一些业务有时钟频率透传的需求,即当通信设备a1发送到的业务数据流的时钟频率与通信设备a2收到的该业务数据流的时钟频率基本一致的情况下,通信设备a2才可以正确解析接收到的该业务数据流。具有时钟频率透传需求的业务比如:通用公共无线接口(common public radio interface,CPRI)业务和同步数字体系(synchronous digital hierarchy,SDH)业务等固定比特率(constant bit rate,CBR)业务等。
目前可以基于电路仿真服务(circuit emulation service,CES)传输业务的时钟频率。具体来说,通信装置在用户侧接口(user network interfac,UNI)对原始的业务数据流进行处理,提取出原始业务的数据帧后,添加相应以太网帧头、伪线头、实时传输协议(real-time transport protocol,RTP)头、以太网头,以及帧校验序列(frame check sequence,FCS)校验,使之形成一个以太网报文,之后通过网络之间或网络内设备之间的接口(network to network interface,NNI)接口发送该以太网报文。业务数据流的时钟频率信息可以被放入在RTP头中。可以看出,上述方案需要将数据帧封装为以太网报文。如此,其他通信装置收到该以太网报文之后,需要进行层2(layer 2,L2)的处理(需要对以太网帧头、RTP头、伪线头进行处理),且需要进行组包等操作,操作较为复杂。
另一方面,灵活以太网(flexible ethernet,FlexE)结合了以太网和传送网(例如,光传送网(Optical Transport Network,OTN)、SDH等)的一些技术特性,是对以太网技术演进的一个重要里程碑。灵活以太网技术的出现,以太网物理接口呈现了虚拟化的特性。多个以太网物理接口可以进行级联,以支持若干个虚拟的逻辑端口。例如,4个100吉比特以太网(100 Gigabit Ethernet,100GE)的物理接口级联成的一个400吉比特(400 Gigabit,400G)灵活以太网物理接口组,可以支持若干个逻辑端口。国际电信联盟电信标准分局(international telecommunication union telecommunication standardization sector,ITU-T)针对第五代移动网络(the 5th generation,5G)等新业务需求在重用FlexE逻辑的基础上定义了新一代传送网技术体系(Metro Transport Network,MTN)。MTN是由MTN段层(MTN Section层)和MTN通道层(MTN Path层)构成的新的传送网层网络,物理层可兼容现有的标准50GBASE R,100GBASE R,200GBASE R、400GBASE R等接口。
以FlexE、MTN等为基础的承载网络,如何实现业务数据流的时钟频率信息透传成为亟需解决的问题。
发明内容
本申请实施例提供一种通信方法、相关装置以及存储介质,用于解决业务的时钟频率信息透传问题。
第一方面,本申请实施例提供一种通信方法,该方法可以由第一通信装置执行。第一通信装置接收第一业务数据流,并根据第一业务数据流,生成第一码块流,并发送第一码块流。第一码块流中包括第一时钟频率信息。
一种可能的实施方式中,第一时钟频率信息可以用于指示第一通信装置接收到第一业务数据流的k个第一数据帧的时刻。又一种可能的实施方式中,第一时钟频率信息可以用于指示第一业务数据流的k个第一数据帧的传输时长。又一种可能的实施方式中,第一时钟频率信息用于指示第一通信装置接收到第一业务数据流的k个第一数据帧的时刻,还可以指示出第一业务数据流的k个第一数据帧的传输时长。
由于第一通信装置发送的第一码块流中包括第一时钟频率信息,第一时钟频率信息用于指示k个第一数据帧的传输时长和/或第一通信装置接收到k个第一数据帧的传输时刻。因此,第二通信装置可以依据第一时钟频率信息发送k个第一数据帧,以使第二通信装置发出的k个第一数据帧的时钟频率与第一通信装置接收到的该k个第一数据帧的时钟频率基本一致,从而可以解决业务的时钟频率信息透传的问题。
一种可能的实施方式中,第一时钟频率信息可以用于指示第一业务数据流的k个第一数据帧的传输时长。比如,第一时钟频率信息包括第一计数值,第一计数值为第一通信装置在接收k个第一数据帧的时长内,第一通信装置的本地时钟信号的时钟频率的周期数。如此,第二通信装置可以结合第二通信装置的本地时钟信号,在第一计数值个第二通信装置的本地时钟信号周期数的时长内发送该k个第一数据帧。如此,可以使第二通信装置发出的k个第一数据帧的时钟频率与第一通信装置接收到的该k个第一数据帧的时钟频率基本一致,从而可以解决业务的时钟频率信息透传的问题。且通过传输第一计数值的方式来实现时钟频率信息的透传,可以节约需要传输的信息的比特位。
一种可能的实施方式中,第一时钟频率信息可以用于指示第一业务数据流的k个第一数据帧的传输时长。比如,第一时钟频率信息包括第二计数值,第二计数值为第一计数值和预设计数值之间的差值。如此,第二通信装置可以结合第二计数值和预设计数值计算出第一计数值,进而第二通信装置可以结合第二通信装置的本地时钟信号和第一计数值解决业务的时钟频率信息透传的问题。且由于第二计数值为第一计数值与预设计数值之间的差值,因此第二计数值占用的比特位的数量可以比第一计数值占用的比特位的数量少,因此通过传输第二计数值的方式来实现时钟频率信息的透传,可以进一步节约需要传输的信息的比特位。
为了提高方案的灵活性,在一种可能的实施方式中,第一时钟频率信息包括第二计数值和预设计数值。如此,第二通信装置可以结合第二计数值和预设计数值计算出第一计数值,进而第二通信装置可以结合第二通信装置的本地时钟信号和第一计数值解决业务的时钟频率信息透传的问题。而且,又一种可能的实施方式中,还可以分别设置第二计数值和预设计数值的发送周期,比如预设计数值的发送周期可以比第二计数值的发送周期长。如此,可以减少预设计数值的发送次数,节省资源。进一步,由于第一通信装置还将预设计数值发送给第二通信装置,因此第一通信装置可以更加灵活的更改该预设计数值的值,而 第二通信装置可以直接从接收到的数据中确定出预设计数值,可以看出,该方案中预设计数值的具体取值可以更加灵活多变。
在一种可能的实施方式中,预设计数值可以为一个预设的值,比如可以通过人工在第一通信装置中配置预设计数值,再比如,还可以人工在第一通信装置中配置规则以及初始值,之后第一通信装置可以根据配置规则和初始值计算得到预设计数值。
在一种可能的实施方式中,预设计数值为预设时长内参考时钟信号的时钟频率的周期数。预设时长与k个第一数据帧的传输时长之间的差值小于预设的差值阈值。也可以理解为第一业务数据流中的任两组数据帧(每组k个数据帧)的传输时长有偏差;而预设时长与k个第一数据帧的传输时长之间的差值小于预设的差值阈值也可以理解为:预设时长与第一业务数据流的k个数据帧的平均传输时长较为接近,如此,每组数据帧的传输时长与该预设计数值的差值可以较小。
一种可能的实施方式中,第一时钟频率信息可以用于指示第一通信装置接收到k个第一数据帧的传输时刻。在一种可能的实施方式中,第一时钟频率信息包括k个第一数据帧中第1个数据帧的帧头的接收时刻,以及k个第一数据帧中第k个第一数据帧的帧尾的接收时刻。如此,第二通信装置可以根据接收到的第一时钟频率信息发送k个第一数据帧,从而可以解决业务的时钟频率信息透传的问题。另一种可能的实施方式中,第二通信装置可以根据接收到的该两个时刻计算出k个第一数据帧的传输时长,该方式较为简单,且也不需要结合其他参考值进行计算。该施方式中,也可以理解为第一时钟频率信息可以指示出第一业务数据流的k个第一数据帧的传输时长。
本申请实施例中在第一时钟频率信息中包括有k个第一数据帧中第1个数据帧的帧头的接收时刻的情况下,该第一时钟频率信息中包括的k个第一数据帧中第1个数据帧的帧头的接收时刻可以是指:第一通信装置接收到该k个第一数据帧中第1个数据帧的帧头的时刻。在第一时钟频率信息中包括有k个第一数据帧中第k个第一数据帧的帧尾的接收时刻的情况下,该第一时钟频率信息中包括的k个第一数据帧中第k个第一数据帧的帧尾的接收时刻可以是指:第一通信装置接收到该k个第一数据帧中第k个第一数据帧的帧尾的时刻。
在一种可能的实施方式中,第一时钟频率信息可以指示出第一业务数据流的k个第一数据帧的传输时长,第一时钟频率信息包括第一时长,第一时长为k个第一数据帧的传输时长。如此,第二通信装置可以根据接收到的第一时长发送该k个第一数据帧,从而可以解决业务的时钟频率信息透传的问题。该方式较为简单,且不需要要求第一通信装置和第二通信装置频点相同。
在一种可能的实施方式中,第一时钟频率信息可以用于指示第一通信装置接收到第一业务数据流的k个第一数据帧的时刻。第一时钟频率信息包括k个第一数据帧中第1个数据帧的帧头的接收时刻。若将一个时钟频率信息对应的数据帧称为一组数据帧,比如由于第一时钟频率信息指示k个第一数据帧的传输时长,因此可以将k个第一数据帧称为一组数据帧。如此,第二通信装置可以根据接收到的第一时钟频率信息发送k个第一数据帧,从而可以解决业务的时钟频率信息透传的问题,该方式较为简单,且不需要要求第一通信装置和第二通信装置频点相同。
在一种可能的实施方式中,第一时钟频率信息包括k个第一数据帧中第k个数据帧的帧尾的接收时刻。如此,第二通信装置可以根据接收到的第一时钟频率信息发送k个第一 数据帧,从而可以解决业务的时钟频率信息透传的问题,该方式较为简单,且不需要要求第一通信装置和第二通信装置频点相同。
在一种可能的实施方式中,第一时钟频率信息包括第三计数值。第三计数值为第二时长内第一通信装置的本地时钟信号的时钟频率的周期数,第二时长为从预设时刻起始截止至k个第一数据帧中第1个第一数据帧的帧头的接收时刻的时长。如此,第二通信装置可以根据接收到的第一时钟频率信息发送k个第一数据帧,从而可以解决业务的时钟频率信息透传的问题。
在一种可能的实施方式中,第一时钟频率信息包括第二时长。如此,第二通信装置可以根据接收到的第一时钟频率信息发送k个第一数据帧,从而可以解决业务的时钟频率信息透传的问题,该方式较为简单,且不需要要求第一通信装置和第二通信装置频点相同。
在一种可能的实施方式中,第一时钟频率信息包括第四计数值。第四计数值为第三时长内第一通信装置的本地时钟信号的时钟频率的周期数,第三时长为从预设时刻起始截止至k个第一数据帧中第k个第一数据帧的帧尾的接收时刻的时长。如此,第二通信装置可以根据接收到的第一时钟频率信息发送k个第一数据帧,从而可以解决业务的时钟频率信息透传的问题。
在一种可能的实施方式中,第一时钟频率信息包括第三时长。如此,第二通信装置可以根据接收到的第一时钟频率信息发送k个第一数据帧,从而可以解决业务的时钟频率信息透传的问题,该方式较为简单,且不需要要求第一通信装置和第二通信装置频点相同。
在一种可能的实施方式中,第一码块流还包括第二时钟频率信息;第二时钟频率信息用于指示:第一业务数据流的k个第二数据帧的传输时长,和/或,第一通信装置接收到第一业务数据流的k个第二数据帧的时刻。由于第一码块流中包括多个时钟频率信息,因此第二通信装置可以根据多个时钟频率信息发送恢复出的第一业务数据流,且第二通信装置发出的第一业务数据流的时钟频率与第一通信装置收到的第一业务数据流的时钟频率基本一致,从而可以解决业务的时钟频率信息透传的问题。
在一种可能的实施方式中,第一码块流包括第一数据单元组,第一数据单元组包括W 1个第一数据单元,W 1为正整数;第一时钟频率信息承载于W 1个第一数据单元中的至少一个。
W 1可以等于1,这种情况下,可以理解为k个第一数据帧封装于1个第一数据单元中。第一时钟频率信息也携带于该第一数据单元中。
W 1还可以大于1,这种情况下,可以理解为k个第一数据帧封装于W 1个(多个)第一数据单元中。该W 1个第一数据单元的部分第一数据单元中可以承载该第一时钟频率信息,比如第一时钟频率信息可以承载于该W 1个第一数据单元的一个第一数据单元中,也可以承载于该W 1个第一数据单元的两个第一数据单元中,其中该两个第一数据单元中的一个第一数据单元可以承载第一时钟频率信息中的部分信息。
针对承载有第一时钟频率信息的第一数据单元,为了提高方案的灵活性,第一时钟频率信息可以承载于该第一数据单元的以下内容中的至少一项:头码块、至少一个数据码块、尾码块,或操作维护管理码块。
针对承载有第一时钟频率信息的第一数据单元,为了提高方案的灵活性,第一时钟频率信息可以承载于该第一数据单元的以下内容中的至少一项:开销区域或净荷区。
在一种可能的实施方式中,k个第一数据帧对应的比特承载于W 1个第一数据单元中第一数据单元的:至少一个数据码块中数据码块的净荷区域。在一种可能的实施方式中,k个第一数据帧对应的比特承载于W 1个第一数据单元中第一数据单元的至少一个数据码块中的净荷区域和尾码块。比如T7码块等。
在一种可能的实施方式中,W 1个第一数据单元中的至少一个第一数据单元承载第一指示信息,第一指示信息用于指示承载第一指示信息的第一数据单元中承载有第一时钟频率信息。
如此,当第二通信装置接收到第一指示信息的情况下,可以根据第一指示信息确定承载该第一指示信息的第一数据单元承载有第一时钟频率信息,进而可以从该第一数据单元中获取第一时钟频率信息。本申请实施例中第一通信装置侧和第二通信装置侧可以预先约定一个时钟频率信息承载于一个数据单元还是承载于多个数据单元,若约定一个时钟频率信息承载于一个数据单元,则第一指示信息用于指示承载第一指示信息的第一数据单元中承载有第一时钟频率信息中的全部。若约定一个时钟频率信息承载于多个数据单元,则第一指示信息用于指示承载第一指示信息的第一数据单元中承载有第一时钟频率信息中的部分。
在一种可能的实施方式中,W 1个第一数据单元中的至少一个第一数据单元承载第二指示信息,第二指示信息用于指示承载第二指示信息的第一数据单元中未承载第一时钟频率信息。
如此,当第二通信装置接收到第二指示信息的情况下,可以根据第二指示信息确定承载该第二指示信息的第一数据单元并未承载第一时钟频率信息,从而也无需从第一数据单元中获取第一时钟频率信息。
在一种可能的实施方式中,第一时钟频率信息承载于W 1个第一数据单元中的至少一个第一数据单元的第一个数据码块的净荷区域。这种情况下,承载有第一时钟频率信息的第一数据单元的尾码块可以为T7码块。由于T7码块中可以用于承载数据的比特位较多,当占用数据码块的净荷区域承载第一时钟频率信息,则可以挪用尾码块T7的一部分字段承载k个第一数据帧中的比特,从而可以节省第一数据单元中数据码块的数量。
在一种可能的实施方式中,W 1个第一数据单元中的两个第一数据单元中包括的数据码块的数量相同。第一业务数据流可以是速率较为恒定的数据流,当第一通信装置接收到第一业务数据流,对第一业务数据流进行封装时,第一业务数据流对应的第一码块流中的两个数据单元中的数据码块的数量相同可以使封装过程简化。
在一种可能的实施方式中,第一码块流还包括第二数据单元组,第二数据单元组包括W 2个第二数据单元,W 2为正整数,W 2个第二数据单元中的第二数据单元承载第一业务数据流的k个第二数据帧。W 2个第二数据单元中的一个第二数据单元包括的数据码块的数量与W 1个第一数据单元中的一个第一数据单元包括的数据码块的数量相同。第一业务数据流可以是速率较为恒定的数据流,当第一通信装置接收到第一业务数据流,对第一业务数据流进行封装时,第一业务数据流对应的第一码块流中的两个数据单元中的数据码块的数量相同可以使封装过程简化。
在一种可能的实施方式中,W 1与W 2相等。如此,承载k个第一数据帧的数据单元与承载k个第二数据帧的数据单元的数量相等,从而可以使码块流的封装过程更加简便。
在一种可能的实施方式中,第一通信装置根据第一业务数据流,生成第一码块流之前,还可以接收Q 0条第二业务数据流,Q 0为正整数。第一通信装置可以根据第一业务数据流和Q 0条第二业务数据流,生成第一码块流。其中,第一时钟频率信息还用于指示Q 0条第二业务数据流中每个第二业务数据流的k个第三数据帧的传输时长和/或第一通信装置接收到k个第三数据帧的时刻。如此,第一通信装置可以接收多条业务数据流,且对多条业务数据流进行封装,得到第一码块流,从而可以提高业务处理效率。
在一种可能的实施方式中,Q 0条第二业务数据流与第一业务数据流的源端的通信装置相同,Q 0条第二业务数据流与第一业务数据流的宿端的通信装置相同。如此,第一通信装置将多条业务数据流封装为第一码块流发送给第二通信装置的过程中,除了第二通信装置之外,其余中间节点的通信装均无需对第一码块流进行解封装,从而可以提高数据传输速率。
在一种可能的实施方式中,第一通信装置可以根据第一业务数据流和Q 0条第二业务数据流之间的预设的排序,以连续n 0个比特组成的比特块为单位,对第一业务数据流和Q 0条第二业务数据流中的比特块进行复用,得到第三业务数据流;n 0为正整数。第一通信装置根据第三业务数据流,生成第一码块流。如此,第一通信装置可以对接收到的多条业务数据流进行并行处理,相比串行处理,可以减轻需缓存的数据量,进而可以减轻缓存区压力。
在一种可能的实施方式中,n 0为:8比特,或256比特。如此,可以通过调整n 0的值对第一数据单元中包括的来自各个业务数据流的数据的排布方式。且结合一个具体示例,第一业务数据流中的一个脉冲编码调制(pulse code modulation,PCM)帧为256比特(32*8=256),按照64比特为单元进行截取1个PCM帧,可以截取4段。从而每个数据单元可以通过4个D码块的净荷区域承载1个PCM帧。若存在4条业务数据流,则每个数据单元可以包括有16个D码块,该16个D码块可以承载来自4条业务数据流的4个PCM帧,该4个PCM帧的比特在该16个D码块上排布方式可以随着n 0的取值进行变化。且n 0的取值以字节(8比特)为单位进行调整,可以使数据单元中各个业务数据流的分布更加有规律。
在一种可能的实施方式中,第一码块流包括第一数据单元组,第一数据单元组包括W 1个第一数据单元。
当W 1为1,W 1个第一数据单元中的一个第一数据单元包括:第一业务数据流中的k个第一数据帧对应的比特,Q 0条第二业务数据流中每个第二业务数据流的k个第三数据帧对应的比特。W 1为1的情况下,一个第一数据单元封装有来自第一业务数据流以及Q 0条第二业务数据流中每条业务数据流的k个数据帧。
当W 1为大于1的整数,W 1个第一数据单元中的一个第一数据单元包括:第一业务数据流中的k个第一数据帧对应的比特中的部分比特,Q 0条第二业务数据流中每个第二业务数据流的k个第三数据帧对应的比特中的部分比特。
一种可能的实施方式中,若W 1为大于1的整数,k/W 1为整数,则W 1个第一数据单元中的一个第一数据单元包括:第一业务数据流中的(k/W 1)个第一数据帧对应的比特,Q 0条第二业务数据流中每个第二业务数据流的(k/W 1)个第三数据帧对应的比特。W 1为大于1的情况下,一个第一数据单元封装有来自第一业务数据流以及Q 0条第二业务数据流 中每条业务数据流的(k/W 1)个数据帧。如此,多条业务数据流可以并行均匀的分布于W 1个数据单元中。
在一种可能的实施方式中,第一通信装置可以对Q 0条第二业务数据流进行处理,生成Q 0条第三码块流。对第一业务数据流进行处理,生成第二码块流;第二码块流包括第一时钟频率信息;第二码块流包括第一时钟频率信息和k个第一数据帧。第一通信装置可以对Q 0条第三码块流和第二码块流中的数据进行复用,得到第一码块流。如此,可以提高方案的灵活性。
在一种可能的实施方式中,第一通信装置可以根据Q 0条第三码块流和第二码块流之间的预设的排序,以N 1个数据单元为单元,对Q 0条第三码块流和第二码块流中的数据单元进行复用,得到第一码块流,N 1为正整数。如此,得到的第一码块流中也依然是以数据单元为单位的码块流,从而可以为将该第一码块流与其他码块流进行再次复用奠定基础。
在一种可能的实施方式中,第一通信装置发送第一码块流之前,还可以获取Q 1条第四码块流,Q 1为正整数。第一通信装置根据Q 1条第四码块流和第一码块流分别与S 1个第一时隙之间的对应关系,对Q 1条第四码块流和第一码块流中的码块进行时分复用,得到第五码块流;Q 1条第四码块流和第一码块流中的一条码块流对应S 1个第一时隙中的至少一个第一时隙;S 1为不小于(Q 1+1)的整数。发送第五码块流。这种场景下,第一码块流可以为大颗粒时隙对应的码块流,进一步还可以与大颗粒时隙的其他码块流进行复用后再发送,如此,可以拓宽本申请的适用范围。
在一种可能的实施方式中,第一通信装置发送第五码块流之前,还可以获取Q 2条第六码块流,Q 2为正整数。第一通信装置可以根据Q 2条第六码块流和第五码块流分别与S 2个第二时隙之间的对应关系,对Q 2条第六码块流和第五码块流中的码块进行时分复用,得到第七码块流;其中,Q 2条第六码块流和第五码块流中的一条码块流对应S 2个第二时隙中的至少一个第二时隙;S 2为不小于(Q 2+1)的整数;第五码块流对应的第二时隙划分为S 1个第一时隙。发送第七码块流。这种场景下,第一码块流可以为小颗粒时隙对应的码块流,进一步还可以与其他小颗粒时隙的其他码块流进行复用后,再次与其他大颗粒时隙的其他码块流进行复用,之后再发送,如此,可以拓宽本申请的适用范围。
在一种可能的实施方式中,第一码块流包括第一数据单元组,第一数据单元组包括W 1个第一数据单元,W 1个第一数据单元中的第一数据单元包括以下内容中的一项:头码块和至少一个数据码块;头码块、至少一个数据码块和尾码块;至少一个数据码块和尾码块;头码块、至少一个数据码块和操作维护管理码块;头码块、至少一个数据码块、尾码块和操作维护管理码块;或,至少一个数据码块、尾码块和操作维护管理码块。如此,可以提高方案的灵活性。
在一种可能的实施方式中,头码块为S码块;尾码块为T码块;数据码块为D码块;或,操作维护管理码块为O码块。如此,可以与现有标准更加兼容。
第二方面,本申请实施例提供一种通信方法,该方法可以由第二通信装置执行。第二通信装置获取第一码块流。第一码块流中包括第一时钟频率信息;第一时钟频率信息用于指示:第一业务数据流的k个第一数据帧的传输时长,和/或,接收到第一业务数据流的k个第一数据帧的时刻。k为正整数。从第一码块流中获取k个第一数据帧和第一时钟频率信息。第二通信装置根据第一时钟频率信息,发送k个第一数据帧。
由于第一码块流中包括第一时钟频率信息,第一时钟频率信息用于指示第一业务数据流的k个第一数据帧的传输时长和/或,接收到第一业务数据流的k个第一数据帧的时刻。因此,第二通信装置可以依据第一时钟频率信息发送k个第一数据帧,以使第二通信装置发出的k个第一数据帧的时钟频率与第一通信装置接收到的该k个第一数据帧的时钟频率基本一致,从而可以解决业务的时钟频率信息透传的问题。
在一种可能的实施方式中,第一时钟频率信息的具体实现形式和有益效果可以参见前述第一方面的相关介绍,在此不再赘述。
在一种可能的实施方式中,预设计数值为预设时长内参考时钟信号的时钟频率的周期数。相关的有益效果和描述可以参见前述第一方面的相关内容,在此不再赘述。
在一种可能的实施方式中,预设时长与k个第一数据帧的传输时长之间的差值小于预设的差值阈值。相关的有益效果和描述可以参见前述第一方面的相关内容,在此不再赘述。
在一种可能的实施方式中,第一码块流还包括第二时钟频率信息。第二时钟频率信息用于指示:第一业务数据流的k个第二数据帧的传输时长,和/或,第一通信装置接收到第一业务数据流的k个第二数据帧的时刻。第二通信装置还可以从第一码块流中获取第二时钟频率信息和k个第二数据帧,根据第二时钟频率信息,发送k个第二数据帧。
由于第一码块流中包括多个时钟频率信息,因此第二通信装置可以根据多个时钟频率信息发送恢复出的第一业务数据流,且第二通信装置发出的第一业务数据流的时钟频率与第一通信装置收到的第一业务数据流的时钟频率基本一致,从而可以解决业务的时钟频率信息透传的问题。
在一种可能的实施方式中,第一码块流包括第一数据单元组,第一数据单元组包括W 1个第一数据单元,W 1为正整数;第一时钟频率信息承载于W 1个第一数据单元中的至少一个第一数据单元的以下内容中的至少一项:头码块、至少一个数据码块、尾码块,或操作维护管理码块。相关的有益效果和描述可以参见前述第一方面的相关内容,在此不再赘述。
在一种可能的实施方式中,k个第一数据帧对应的比特承载于W 1个第一数据单元中第一数据单元的以下内容中的一项:至少一个数据码块中数据码块的净荷区域;或,至少一个数据码块中数据码块的净荷区域和尾码块。相关的有益效果和描述可以参见前述第一方面的相关内容,在此不再赘述。
在一种可能的实施方式中,W 1个第一数据单元中的至少一个第一数据单元承载第一指示信息,第一指示信息用于指示承载第一指示信息的第一数据单元中承载有第一时钟频率信息。相关的有益效果和描述可以参见前述第一方面的相关内容,在此不再赘述。
在一种可能的实施方式中,W 1个第一数据单元中的至少一个第一数据单元承载第二指示信息,第二指示信息用于指示承载第二指示信息的第一数据单元中未承载第一时钟频率信息。相关的有益效果和描述可以参见前述第一方面的相关内容,在此不再赘述。
在一种可能的实施方式中,第一时钟频率信息承载于W 1个第一数据单元中的至少一个第一数据单元的第一个数据码块的净荷区域;承载有第一时钟频率信息的第一数据单元包括的尾码块为T7码块。相关的有益效果和描述可以参见前述第一方面的相关内容,在此不再赘述。
在一种可能的实施方式中,W 1个第一数据单元中的两个第一数据单元中包括的数据码块的数量相同。相关的有益效果和描述可以参见前述第一方面的相关内容,在此不再赘述。
在一种可能的实施方式中,第一码块流还包括第二数据单元组,第二数据单元组包括W 2个第二数据单元,W 2为正整数,W 2个第二数据单元中的第二数据单元承载第一业务数据流的k个第二数据帧。W 2个第二数据单元中的一个第二数据单元包括的数据码块的数量与W 1个第一数据单元中的一个第一数据单元包括的数据码块的数量相同。相关的有益效果和描述可以参见前述第一方面的相关内容,在此不再赘述。
在一种可能的实施方式中,W 1与W 2相等。相关的有益效果和描述可以参见前述第一方面的相关内容,在此不再赘述。
在一种可能的实施方式中,第二通信装置可以从第一码块流获取第一时钟频率信息。对第一码块流进行解复用,得到第一业务数据流和Q 0条第二业务数据流,Q 0为正整数。其中,第一时钟频率信息还用于指示Q 0条第二业务数据流中每个第二业务数据流的k个第三数据帧的传输时长和/或第一通信装置接收到k个第三数据帧的时刻。如此,第一通信装置和第二通信装置之间可以通过第一码块流传输多条业务数据流,从而可以提高业务处理效率。
在一种可能的实施方式中,Q 0条第二业务数据流与第一业务数据流的源端的通信装置相同,Q 0条第二业务数据流与第一业务数据流的宿端的通信装置相同。相关的有益效果和描述可以参见前述第一方面的相关内容,在此不再赘述。
在一种可能的实施方式中,第二通信装置可以以连续n 0个比特组成的比特块为单位,对第一码块流进行解复用,得到第一业务数据流和Q 0条第二业务数据流。如此,第一通信装置可以对接收到的多条业务数据流进行并行处理,相比串行处理,可以减轻需缓存的数据量,进而可以减轻缓存区压力。
在一种可能的实施方式中,n 0为:8比特,或256比特。相关的有益效果和描述可以参见前述第一方面的相关内容,在此不再赘述。
在一种可能的实施方式中,第一码块流包括第一数据单元组,第一数据单元组包括W 1个第一数据单元。当W 1为1,W 1个第一数据单元中的一个第一数据单元包括:第一业务数据流中的k个第一数据帧对应的比特,Q 0条第二业务数据流中每个第二业务数据流的k个第三数据帧对应的比特;
当W 1为大于1的整数,W 1个第一数据单元中的一个第一数据单元包括:第一业务数据流中的k个第一数据帧对应的比特中的部分比特,Q 0条第二业务数据流中每个第二业务数据流的k个第三数据帧对应的比特中的部分比特。
一种可能的实施方式中,W 1为大于1的整数,若k/W 1为整数,则W 1个第一数据单元中的一个第一数据单元包括:第一业务数据流中的(k/W 1)个第一数据帧对应的比特,Q 0条第二业务数据流中每个第二业务数据流的(k/W 1)个第三数据帧对应的比特。相关的有益效果和描述可以参见前述第一方面的相关内容,在此不再赘述。
在一种可能的实施方式中,第二通信装置可以对第一码块流进行解复用,得到Q 0条第三码块流和第二码块流。第二码块流包括第一时钟频率信息和k个第一数据帧。第二通信装置可以从第二码块流中得到第一业务数据流和第一时钟频率信息。从Q 0条第三码块流得到Q 0条第二业务数据流。如此,可以提高方案的灵活性。
在一种可能的实施方式中,第二通信装置可以以N 1个数据单元为单元,对第一码块流进行解复用,得到Q 0条第三码块流和第二码块流,N 1为正整数。如此,处理过程较为简单,从而可以简化数据处理过程。
在一种可能的实施方式中,第二通信装置可以获取第五码块流。根据Q 1条第四码块流和第一码块流分别与S 1个第一时隙之间的对应关系,对第五码块流进行解复用,得到Q 1条第四码块流和第一码块流。其中,Q 1条第四码块流和第一码块流中的一条码块流对应S 1个第一时隙中的至少一个第一时隙;S 1为不小于(Q 1+1)的整数。这种场景下,第一码块流可以为大颗粒时隙对应的码块流,如此,可以拓宽本申请的适用范围。
在一种可能的实施方式中,第二通信装置发送第五码块流之前,还可以获取第七码块流。第二通信装置可以根据S 2个第二时隙与Q 2条第六码块流和第五码块流之间的对应关系,对第七码块流解复用,得到Q 2条第六码块流和第五码块流。其中,Q 2条第六码块流和第五码块流中的一条码块流对应S 2个第二时隙中的至少一个第二时隙;第五码块流对应的第二时隙划分为S 1个第一时隙;S 2为不小于(Q 2+1)的整数。这种场景下,第一码块流可以为小颗粒时隙对应的码块流,如此,可以拓宽本申请的适用范围。
在一种可能的实施方式中,第一码块流包括第一数据单元组,第一数据单元组包括W 1个第一数据单元,W 1个第一数据单元中的第一数据单元包括以下内容中的一项:头码块和至少一个数据码块;头码块、至少一个数据码块和尾码块;至少一个数据码块和尾码块;头码块、至少一个数据码块和操作维护管理码块;头码块、至少一个数据码块、尾码块和操作维护管理码块;或,至少一个数据码块、尾码块和操作维护管理码块。相关的有益效果和描述可以参见前述第一方面的相关内容,在此不再赘述。
在一种可能的实施方式中,头码块为S码块;尾码块为T码块;数据码块为D码块;或,操作维护管理码块为O码块。相关的有益效果和描述可以参见前述第一方面的相关内容,在此不再赘述。
第三方面,提供了一种通信装置,包括通信单元和处理单元。该通信装置可以为上述第一通信装置,也可以为上述第二通信装置。该通信装置可以执行上述第一方面至第二方面中任一方面,以及任一方面的任一种实施方式。通信单元用于执行与发送和接收相关的功能。可选地,通信单元包括接收单元和发送单元。在一种设计中,通信装置为通信芯片,处理单元可以是一个或多个处理器或处理器核心,通信单元可以为通信芯片的输入输出电路或者端口。
在另一种设计中,通信单元可以为发射器和接收器,或者通信单元为发射机和接收机。
可选的,通信装置还包括可用于执行上述第一方面至第二方面中任一方面,以及任一方面的任一种实施方式的各个模块。
第四方面,提供了一种通信装置,包括处理器和存储器。该通信装置可以为上述第一通信装置,也可以为上述第二通信装置。可选的,还包括收发器,该存储器用于存储计算机程序或指令,该处理器用于从存储器中调用并运行该计算机程序或指令,当处理器执行存储器中的计算机程序或指令时,使得该通信装置执行上述第一方面至第二方面中任一方面,以及任一方面的任一种实施方式。
可选的,处理器为一个或多个,存储器为一个或多个。
可选的,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
可选的,收发器中可以包括,发射机(发射器)和接收机(接收器)。
第五方面,提供了一种通信装置,包括处理器。该通信装置可以为上述第一通信装置,也可以为上述第二通信装置。该处理器与存储器耦合,可用于执行第一方面至第二方面中任一方面,以及任一方面的任一种实施方式。该通信装置可以为上述第一通信装置,也可以为上述第二通信装置。可选地,该通信装置还包括存储器。可选地,该通信装置还包括通信接口,处理器与通信接口耦合。
在一种实现方式中,该通信装置为第一通信装置或第二通信装置时,通信接口可以是收发器,或,输入/输出接口。可选地,收发器可以为收发电路。可选地,输入/输出接口可以为输入/输出电路。
在又一种实现方式中,当该通信装置为第一通信装置的芯片或芯片系统,或为第二通信装置的芯片或芯片系统时,通信接口可以是该芯片或芯片系统上的输入/输出接口、接口电路、输出电路、输入电路、管脚或相关电路等。处理器也可以体现为处理电路或逻辑电路。
第六方面,提供了一种系统,系统包括上述第一通信装置和第二通信装置。
第七方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序(也可以称为代码,或指令),当计算机程序被运行时,使得计算机执行上述第一方面至第二方面中任一方面,以及任一方面的任一种实施方式。
第八方面,提供了一种计算机可读存储介质,计算机可读介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面至第二方面中任一方面,以及任一方面的任一种实施方式。
第九方面,提供了一种芯片系统,该芯片系统可以包括处理器。该处理器与存储器耦合,可用于执行上述第一方面至第二方面中任一方面,以及任一方面的任一种实施方式。可选地,该芯片系统还包括存储器。存储器,用于存储计算机程序(也可以称为代码,或指令)。处理器,用于从存储器调用并运行计算机程序,使得安装有芯片系统的装置执行第一方面至第二方面中任一方面,以及任一方面的任一种实施方式。
第十方面,提供了一种处理装置,包括:接口电路和处理电路。接口电路可以包括输入电路和输出电路。处理电路用于通过输入电路接收信号,并通过输出电路发射信号,使得第一方面至第二方面中任一方面,以及任一方面的任一种实施方式被实现。
在具体实现过程中,上述处理装置可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本申请对处理器及各种电路的具体实现方式不做限定。
在又一种实现方式中,通信装置可以是第一通信装置或第二通信装置中的部分器件,如系统芯片或通信芯片等集成电路产品。接口电路可以为该芯片或芯片系统上的输入/输出接口、接口电路、输出电路、输入电路、管脚或相关电路等。处理电路可以为该芯片上的 逻辑电路。
附图说明
图1a为本申请实施例适用的一种网络架构示意图;
图1b为本申请实施例适用的另一种网络架构示意图;
图1c为本申请实施例适用的一种协议栈层次模型架构示意图;
图1d为本申请实施例适用的另一种协议栈层次模型架构示意图;
图2a为在图1a的基础上示例性示出了一种可能的通信装置的管道划分方案;
图2b为64B/66B编码格式的码块的结构示意图;
图2c为空闲码块的结构形式;
图2d为本申请实施例提供的一种OSU业务对应的帧结构的示意图;
图3为本申请实施例提供一种通信方法的交互示意图;
图4a为本申请实施例提供的一种第一通信装置侧的数据传输方法的流程示意图;
图4b为本申请实施例提供的统计第一计数值的示意图;
图4c为本申请实施例提供的一种第二通信装置侧的数据传输方法的流程示意图;
图5a为本申请实施例提供的业务数据流转换为码块流的一种可能的实现方式;
图5b为本申请实施例提供的容器构造过程中各个数据流的速率关系的示意图;
图5c为本申请实施例中码块流转换为业务数据流的一种可能的实现方式;
图6a为本申请实施例提供的一种第一时钟频率信息的承载位置的示意图;
图6b为本申请实施例提供的又一种第一时钟频率信息的承载位置的示意图;
图6c为本申请实施例提供的又一种第一时钟频率信息的承载位置的示意图;
图6d为本申请实施例提供的一种可能的O码块的结构示意图;
图7a为本申请实施例提供的一种对比特块进行复用的示意图;
图7b为本申请实施例提供的在图6a所示的数据单元中承载的信号的示意图;
图7c为本申请实施例提供的在图6a所示的数据单元中承载的信号的示意图;
图7d为本申请实施例提供的对数据单元进行复用的方案示意图;
图8为本申请实施例提供的一种灵活以太网协议的帧格式的结构示意图;
图9a为本申请实施例提供的一种灵活小颗粒帧(fine granularity basic unit,fgBU)格式;
图9b为本申请实施例提供的一种码块流的基本帧的示意图;
图9c为本申请实施例提供的一种可能的第一业务数据流的数据帧传输时长的示意图;
图9d为本申请实施例提供的一种可能的第一业务数据流的数据帧传输时长的示意图;
图10为本申请实施例提供的一种通信装置结构示意图;
图11为本申请实施例提供的另一种通信装置结构示意;
图12为本申请实施例提供的另一种通信装置结构示意图。
具体实施方式
本申请实施例提供的技术方案可以应用于城域传输网络(Metro Transport Network,MTN)中,还可以应用于其他类型的网络中,例如灵活以太网FlexE、以太网、OTN、SDH网络。为了介绍方便,本申请实施例主要以FlexE为例进行说明。
图1a示例性示出了本申请实施例适用的一种网络架构示意图,如图1a所示,该网络架构包括第一通信装置和第二通信装置。第一通信装置和第二通信装置之间可以包括有其他通信装置,也可以不包括其他通信装置。本申请实施例中的第一通信装置和第二通信装置可以是网络设备,也可以是网络设备内部的模块、单元或芯片。其中,网络设备包括但不限于:核心路由器、边沿路由器、OTN传输设备,OTN光业务单元(Optical Service Unit,OSU)等以及面向具体场景的基于网络协议的无线电接入网(Internet Protocol Radio Access Network,IPRAN)、分组传送网(Packet Transport Network,PTN)盒式或框式交换机设备。
本申请实施例中第一通信装置可以接收第一业务数据流,且根据第一业务数据流,生成第一码块流,并发送第一码块流。第一码块流中包括第一时钟频率信息。第一时钟频率信息用于指示:第一业务数据流的k个第一数据帧的传输时长,和/或,接收到第一业务数据流的k个第一数据帧的时刻。k为正整数。第二通信装置从第一码块流中获取k个第一数据帧和第一时钟频率信息,进而可以根据第一时钟频率信息,发送k个第一数据帧。
由于第一通信装置将第一业务数据流的k个第一数据帧的第一时钟频率信息发送至第二通信装置,因此,第二通信装置可以依据第一时钟频率信息发送k个第一数据帧,从而可以使第二通信装置发出的k个第一数据帧的时钟频率与第一通信装置接收到的该k个第一数据帧的时钟频率基本一致,从而可以解决业务的时钟频率信息透传的问题。
图1b示例性示出了本申请实施例适用的另一种网络架构示意图,如图1b所示,该网络架构包括三类装置,分别可以为骨干网边缘(provider edge,PE)路由器、用户网络边缘(customer edge,CE)路由器和骨干网核心路由器(provider router,PR)。本申请实施例中PE路由器也可以写为PE,比如后续的PE 1和PE 2,CE路由器也可以简写为CE,比如后续的CE 1和CE 2
如图1b所示,该网络架构中CE装置包括CE 1和CE 2。本申请实施例中CE 1可以向CE 2发送数据,CE 2也可以向CE 1发送数据。本申请实施例中将发送数据的CE称为源端的通信装置,或称为源端。本申请实施例中源端也可以指生成业务数据流的通信设备。将接收数据的CE称为宿端的通信装置,或称为宿端。本申请实施例中的宿端也可以指最终需要对业务数据流进行解析的通信设备。图1b中以CE 1可以向CE 2发送数据为例进行示意,该示例中CE 1为源端,CE 2为宿端。
如图1b所示,PE装置在图1b中包括PE 1和PE 2。PE 1和PE 2之间可以不包括其他的通信装置,也可以包括有其他的通信装置,图1b中以PE 1和PE 2之间还包括有P1、P2等装置为例进行展示。P1和P2可以为PR装置。
图1a中的第一通信装置可以为图1b中的PE 1,图1a中第二通信装置可以为图1b中的PE 2。PE 1可以接收来自CE装置(比如CE 1)至少一条业务数据流。PE 1也可以接收其他CE装置的业务数据流。为了方便描述,以至少一条业务数据流中的第一业务数据流为例进行描述。其他业务数据流(来自CE 1或其他CE装置)的处理方式可以参见第一业务数据流的处理方式。
图1b中PE 1可以获取第一业务数据流的至少一个时钟频率信息。至少一个时钟频率信息中的时钟频率信息可以指示第一业务数据流中的至少一个数据帧的传输时长。为了方便描述,以至少一个时钟频率信息中的第一时钟频率信息为例进行描述,将第一时钟频率信息对应的一个或多个数据帧称为第一数据帧,将第一时钟频率信息对应的数据帧的数量标 识为k。第一时钟频率信息可以指示k个第一数据帧的传输时长。
图1b中PE 1可以获取第一业务数据流的第一时钟频率信息,进而向PE 2发送k个第一数据帧和第一时钟频率信息。PE 2可以以第一时钟频率信息,向宿端发送接收到的k个第一数据帧。从而可以使PE 2向宿端发送的k个第一数据帧的时钟频率与PE 1从源端收到的该k个第一数据帧的时钟频率基本一致。第一业务数据流中的其他数据帧的相关方案可以参见k个第一数据帧的相关描述,不再赘述。可以看出,本申请实施例提供的方案可以解决业务的时钟频率信息透传的问题。
图1c示例性示出了本申请实施例适用的一种协议栈层次模型架构示意图,该协议栈层次模型为以太网(Ethernet)的协议栈层次。以太网是由IEEE 802标准组织所定义的一套涉及网络、接口、物理层技术的标准,与本申请实施例相关的可以是IEEE802.3第82条款所定义的以太网物理层,其协议栈层次可以参考图1c。如图1c所示,该模型架构是一种网络互连模型,定义了网络互连的七层框架,由底层到高层,依次为物理层、数据链路层、网络层、传输层、会话层、表示层以及应用层。
以太网处于该开放式系统互联(open system interconnection,OSI)参考模型中的数据链路层和物理层。如图1c所示,数据链路层包括两个子层:逻辑链路控制(logical link control,LLC)子层和负责解析和组装以太网帧的MAC子层。
如图1c所示,物理层可以包括物理媒介相关(physical medium dependent,PMD)子层、物理媒介附加(physical medium attachment,PMA)子层、前向纠错码(forward error correction,FEC)子层(也可以称为FEC层)、物理编码子层(physical coding sublayer,PCS)。PCS和MAC子层之间还包括有协调子层(reconciliation sublayer,RS)。图1c还示意出了PMD下连的介质(medium),该介质可以是电缆、可插拔光模块或光纤等。
以太网帧可以经过接口传输至物理层,在物理层以太网帧自上而下依次涉及MAC子层、RS、PCS、FEC子层、PMA子层和PMD子层的处理,处理后的数据流体现为发送到链路媒质上的信号。接收方向涉及其逆过程,信号被从链路媒质上接收,依次经PMD子层、PMA子层、FEC子层和PCS最后处理,恢复出MAC数据流。
在图1c所示的系统架构中,数据流经过PCS可以被编译为拥有固定格式一组比特,比如可以是由66比特组成的一个码块。在FEC子层可能涉及到编码格式的转换,比如在FEC层可以将64B/66B编码格式的码块流转换为256B/257B的编码格式的码块流。本申请实施例中涉及到的码块流可以是PCS涉及的码块流,也可以是FEC子层涉及的码块流。
上述图1c示例性示出了本申请实施例适用的以太网的协议栈层次,灵活以太网(Flexible Ethernet,FlexE)和MTN是基于以太网物理层的码块延伸出的两种技术。
光互联网论坛(Optical Internet Forum,OIF)发布了FlexE,FlexE是一种支持多种以太网MAC层速率的通用技术。通过将多个100GE物理(Physical,PHYs)接口绑定,并将每个100GE端口在时域上以5G为颗粒划分为20个时隙,FlexE可支持以下功能:绑定,将多个以太网接口绑定为一个链路组以支持速率大于单个以太网接口的MAC业务;子速率,通过为业务分配时隙支持速率小于链路组带宽或者小于单个以太网接口带宽的MAC业务;通道化,通过为业务分配时隙支持在链路组中同时传输多个MAC业务,例如在2x 100GE链路组中支持同时传输一个150G和两个25G的MAC业务。
ITU-T第15研究组借用FlexE部分设计理念,定义了一种新的传送技术,即MTN。MTN可以包含完整的传送网功能,比如接口、交叉、操作维护管理(Operations,Administration,and Maintenance,OAM)、管控、保护等。OIF FlexE是一种接口技术,可以针对数据中心互联(data center interconnection,DCI)场景。MTN是一种综合传送网技术,可以面向5G传送网。MTN与FlexE不能等同。
图1d示例性示出了本申请实施例适用的另一种协议栈层次模型架构示意图。该协议栈层次模型为MTN网络的协议栈层次。如下图1d所示,从协议栈的角度看,OIF FlexE片(shim)功能上相当于MTN段层(section layer)。MTN段层可以兼容FlexE,MTN段层的帧格式可以沿用FlexE帧格式。
图1d中的PCS可以包括MTN通道适配(MTN Path Adaptation)层、MTN通道终结(MTN Path Trail Termination)层功能模块、MTN通道连接(MTN Path Connection)功能模块、MTN段层适配(MTN Section Adaptation)层功能模块和MTN段层终结(MTN Section Trail Termination)功能模块。
如图1d所示,发送端可以将数据流依次经过MAC、RS,进入MTN域MTN通道层(path layer),数据流在MTN通道层经过PCS编码(encode)模块进行编码后,可以称为码块流(比如可以是64B/66B码块流)。进一步,该64B/66B码块流在MTN通道层还可以插入通道层OAM等开销信息,且在MTN通道层可以通过MTN通道连接功能模块找到对应的转发端口和时隙。之后该码块流可以从MTN通道层进入MTN段层(section layer),在MTN段层可以通过速率适配与其他码块流进行交织。交织后的码块流可以在MTN段层被插入段层OAM等开销信息,随后该码块流经过适配进入PHY底层进行传输。值得注意的是,该处适配功能不属于MTN域功能。经过适配后,该码块流会在FEC处进行64B/66B到256B/257B转码。经过转码后的码块流会被送到物理链路上进行传输,从而发送出去。
如图1d所示,接收端接收到数据流可以依次经过FEC子层、MTN段层、MTN通道层等的处理。在接收过程中,接收端的FEC子层接收到码块流之后,先进行FEC纠错,之后将数据流进行编码格式的转换(比如将256B/257B码块流转换为64B/66B码块流)。之后该码块流进入MTN段层,经过段层的处理及解交织后,在MTN段层适配层处恢复为各个单路MAC的64B/66B码块流。之后在MTN通道层链接功能模块处对各路64B/66B码块流进行转发。
从图1d可以看出,MTN段层与FlexE类似,可以提供点到点的链接。而MTN通道层,则可以提供从装置入端口到出端口的交叉连接功能,即MTN通道层可以将MTN段层的点到点链接串联成一个完整的网络入口到网络出口的通道。
需要注意的是,在图1d所示的系统架构中,数据流在MTN通道层可以经过PCS编码(encode)模块被编译为拥有固定格式一组比特,比如可以是由66比特组成的一个码块。在FEC子层可能涉及到编码格式的转换,比如在FEC层可以将64B/66B编码格式的码块流转换为256B/257B的编码格式的码块流。本申请实施例中涉及到的码块流可以是MTN通道层涉及的码块流,也可以是FEC子层涉及的码块流。
下面对本申请实施例涉及到的一些名词和术语进行解释。
(1)大颗粒业务和小颗粒业务。
基于上述内容,图2a在图1a的基础上示例性示出了一种可能的通信装置的管道划分 方案,如图2a所示,将第一通信装置的接口和第二通信装置的接口划分出管道。本申请实施例中定义了两个名词,分别为大颗粒管道和小颗粒管道,大颗粒管道和小颗粒管道是相对而言的,一个大颗粒管道可以划分出至少两个小颗粒管道,大颗粒管道的带宽大于小颗粒管道的带宽。本申请实施例中MTN/FlexE的时隙分配可以是以5Gbps为粒度,可以将MTN/FlexE至少一个时隙粒度5Gbps的通道称为大颗粒管道。需要说明的是,本申请实施例中可以将一个时隙粒度5Gbps的通道称为一个大颗粒管道,也可以将多个时隙粒度5Gbps的通道称为一个大颗粒管道,相对应的,在大颗粒管道的时隙中划分的管道可以称为小颗粒管道,为了更清楚的介绍本申请实施例,后续内容以一个时隙粒度5Gbps的通道称为一个大颗粒管道为例进行展示。以太硬专线技术是在MTN/FlexE技术的基础上,提供更小粒度的管道带宽,可以将以太硬专线技术中提供的带宽粒度更小的管道称为小颗粒管道,小颗粒管道用于承载一个或多个小颗粒业务。
本申请实施例中的小颗粒业务可以是相对大颗粒业务来说的,小颗粒的业务可以是指带宽小于一个大颗粒管道带宽的业务,比如可以将带宽需求为10Mbps、100Mbps的业务称为小颗粒业务。本申请实施例中将需要对小颗粒业务进行复用或解复用的节点称为小颗粒节点,将需对大颗粒业务进行复用和解复用的节点称为大颗粒节点。一条传输路径上的节点有可能是小颗粒节点,也有可能不是小颗粒节点。
图2a中示例出了一种可能的业务传输方法,结合图2a进行举例说明,如图2a所示,大颗粒管道40划分为480个小颗粒管道401,每个小颗粒管道对应一个子时隙资源,根据小颗粒业务与子时隙的对应关系,对各个小颗粒业务的码块流进行复用,得到大颗粒管道40对应的码块流411。第一通信装置包括20个大颗粒管道对应的时隙,每个大颗粒管道对应一个时隙,除大颗粒管道40之外,其他的大颗粒管道用于承载大颗粒业务,大颗粒业务与时隙之间具有对应关系,也可以说大颗粒业务与各个大颗粒管道具有对应关系,之后对各个大颗粒管道对应的码块流(比如图中示出的码块流411、大颗粒管道50对应的码块流511、大颗粒管道60对应的码块流611)进行复用,得到码块流1211。之后将码块流1211发送至第二通信装置。
如图2a所示,第二通信装置对码块流1211进行解复用,得到各个大颗粒管道对应的码块流,比如图中示出的码块流411、码块流511和码块流611。图1d中第二通信装置进一步针对码块流411进行解复用,得到小颗粒业务1和小颗粒业务2。
(2)码块。
本申请实施例中提到的一个码块是指一个比特位或多个连续的比特位,一个码块上承载的信息可以是指该码块包括的比特位上承载的信息。
本申请实施例中的码块也可以有其他可以替换的名称,比如可以替换为数据单元,比特块或者替换为微片(Flit)。本申请实施例中一些使用码块为例进行介绍的实施例同样也适用于Flit的场景。
本申请实施例中的码块可以包括两大类型,分别为数据类型的码块和控制类型的码块。数据类型的码块中的比特可以用于承载实际的数据有效载荷,控制类型的码块中的比特可以用于承载控制信息。
数据类型的码块可以为flexE技术/MTN中的数据类型的码块,还可以为OSU业务的数据帧中承载净荷的字段中的一个比特位或多个连续的比特位。
控制类型的码块可以包括flexE技术/MTN中的头码块、尾码块、空闲码块、操作维护 管理码块、错误码块或低功耗码块中的至少一项。控制类型的数据单元还可以包括OSU业务的数据帧中开销区域(承载开销信息的区域)中的一个比特位或多个连续的比特位。
(2.1)本申请实施例中定义的“码块”的概念在64B/66B编码格式中的示例。
图2b示例性示出了标准中定义的64B/66B编码格式的码块的结构示意图,如图2b所示,该码块为IEEE Std 802.3-2018.IEEE Standard for Ethenet SECTION SIX标准所定义。如图2b所示,码块的同步头区域包括码块的第0比特和第1比特,码块的同步头区域有两种情况,分别为01和10。同步头为01的码块称为数据码块,数据码块可以写为D码块;同步头为10的称为控制码块。控制码块同步头后的一个字段占用8比特,可以称为控制码块的类型域(类型域可以写为type域)。
控制码块可以包括:头码块、尾码块、有序集合(Ordered set)码块(也可以写为O码块)、空闲码块(空闲码块也可以写为IDLE码块)、错误码块(错误码块也可以写为error码块)、低功耗码块等。本申请实施例中头码块为图2b中同步头为10类型域为0x78的码块,可以写为S码块。本申请实施例中尾码块可以写为T码块,包括图2b中同步头为10,类型域为0x87、0x99、0xAA、0xB4、0xCC、0xD2、0xE1和0xFF的码块。本申请实施例中O码块为图2b中同步头为10类型域为0x4B的码块。本申请实施例中可以将控制码块中除S码块和T码块之外的控制码块写为C码块。
图2c示例性示出了空闲码块的结构形式。如图2c所示,空闲码块的同步头区域为10,其它内容如图所示。本申请实施例中所涉及到的码块以图2b和图2c所示的码块结构形式为例进行示例性说明,但本申请实施例也适用于其它标准所定义的码块形式,比如8B/10B,256B/257B等。
(2.2)本申请实施例中定义的“码块”的概念在OSU业务的数据帧中的示例。
本申请实施例中提到的一个码块是指一个比特位或多个连续的比特位,一个码块上承载的信息可以是指该码块包括的比特位上承载的信息。为了方便理解,在OSU业务时将码块称为比特块。其中一个比特块是指一个比特位或多个连续的比特位。数据类型的码块称为数据类型的比特块,控制类型的码块称为控制类型的比特块。
图2d示例性示出了一种可能的OSU业务对应的帧结构的示意图,如图2d所示,该数据帧的长度可以为192字节。其中第1字节到第7字节为开销区域,第8字节到192字节为净荷区。开销区域可以包括通用开销、映射开销和循环冗余校验(cyclic redundancy check,CRC)8。
其中,通用开销可以包括版本号(version,VER)、支路端口号(tributary port number,TPN)、帧类型(frame type,FT)等其他通用开销。
其中,版本号(version,VER)可以用于标识帧结构版本号。TPN可以用于标识支路端口和帧对应关系。FT可以用于标识帧类型。其中,其他通用开销可以包含连续性校验(connectivity verification,CV)、带宽指示(bandwidth,BW)、串联连接监视(tandem connection monitoring,TCM)、通道监控(path monitoring,PM)等功能。
其中,映射开销承载的信息和映射的业务类型相关,并根据承载业务的需求不同,可以设定不同的开销功能,主要分成(constant bit rate,CBR)映射开销和以太网映射开销等。CBR映射开销主要包含时戳(TS)、净荷长度(PLn)等。
本申请实施例中数据类型的比特块(还可以称为数据类型的码块)可以包括图2d所示 的数据帧中的净荷区中的一个或多个连续的比特。比如可以将数据帧的第8字节到192字节称为数据类型的比特块,还可以称为数据类型的码块。
本申请实施例中控制类型的比特块(还可以称为控制类型的码块)可以包括图2d所示的数据帧中的开销区域中的一个或多个连续的比特。比如可以将通用开销、映射开销或CRC8中的至少一项中的一个比特或一串连续的比特称为控制类型的比特块,还可以称为控制类型的码块。
(2.2)码块流。
本申请实施例中将以码块为单位组成的一串数据流称为码块流,比如本申请实施例中涉及到的第一码块流、第四码块流等。本申请实施例中的码块流也可以有其他名称,比如称为码块序列等,本申请实施例中不对名称进行具体限制。
本申请实施例中的“第一码块流”、“第四码块流”、“第五码块流”、“第六码块流”、“第七码块流”、“第三码块流”和“第二码块流”中的一个码块流中的一段连续的码块的形式可能有多种,比如下面所示例的:
…SDDDD…
…DDDDD…
…DDDT…
…DDDTI…
…TIIISDDD…
…TOS…
…TIOS…
在以上示例中S表示头码块,D表示数据码块,T表示尾码块,I表示空闲码块,O表示O码块。
上述示例可以看出,本申请实施例中的码块序列可能包括的码块类型可以为多种,比如S码块、D码块和T码块,再比如还包括有I码块、O码块等。码块流中对一个码块的具体数量不做限制,仅仅是列举了本申请实施例中一个码块序列中的一段连续的码块可能有的存在形式。
值得注意的是,本申请实施例中提到的“第一码块流”、“第四码块流”、“第五码块流”、“第六码块流”、“第七码块流”、“第三码块流”和“第二码块流”中的一个码块流还可以是OSU业务的数据流,OSU业务中的数据流可以包括一个或多个图2d所示的数据帧。其中每个数据帧可以包括控制类型的比特块和数据类型的比特块。
基于上述内容,图3示例性示出了本申请实施例提供一种通信方法的交互示意图,如图3所示,该方法包括:
S301,第一通信装置接收第一业务数据流。
一种可能的实现中,第一通信装置接收源端发送的第一业务数据流。
S302,第一通信装置根据第一业务数据流,生成第一码块流。第一码块流中包括第一时钟频率信息。
一种可能的实施方式中,第一时钟频率信息可以用于指示第一通信装置接收到第一业务数据流的k个第一数据帧的时刻。
又一种可能的实施方式中,第一时钟频率信息可以用于指示第一业务数据流的k个第一数据帧的传输时长。
又一种可能的实施方式中,第一时钟频率信息既可以指示第一通信装置接收到第一业务数据流的k个第一数据帧的时刻,还可以指示出第一业务数据流的k个第一数据帧的传输时长。
在S302中,第一码块流可以包括至少一个时钟频率信息,第一时钟频率信息为该至少一个时钟频率信息中的一个。本申请实施例的时钟频率信息还可以替换为其他名称,比如:业务帧频率、业务比特率、业务帧头到达时刻的计数值、业务帧头与帧头之间的计数差值、时钟频率(clock frequency)、客户时钟频率信息等,为了方便介绍,本申请实施例以名称“时钟频率信息”为例进行介绍。
第一业务数据流可以包括多个数据帧,为了区分,本申请实施例中将第一时钟频率信息对应的数据帧(一个或多个连续的数据帧)称为第一数据帧,将第一时钟频率信息对应的数据帧的总数量标识为k。第一码块流中的至少一个时钟频率信息中的一个时钟频率信息可以对应一个或多个数据帧,一个时钟频率信息可以用于指示第一通信装置接收到该时钟频率信息对应的数据帧时的时钟频率信息。一个时钟频率信息可以用于指示该时钟频率信息对应的数据帧的传输时长,也可以理解为第一通信装置接收到的该时钟频率信息对应的数据帧的时长。比如,第一时钟频率信息可以用于指示第一通信装置接收到k个第一数据帧的时长。
S303,第一通信装置发送第一码块流。
S304,第二通信装置获取第一码块流。第一码块流中包括第一时钟频率信息。
S305,第二通信装置从第一码块流中获取k个第一数据帧和第一时钟频率信息。
S306,第二通信装置根据第一时钟频率信息,发送k个第一数据帧。
一种可能的实现中,第二通信装置向宿端发送该k个第一数据帧,相应的,宿端接收该k个第一数据帧。
由于第一通信装置发送的第一码块流中包括第一时钟频率信息。因此,第二通信装置可以依据第一时钟频率信息发送k个第一数据帧,以使第二通信装置发出的k个第一数据帧的时钟频率与第一通信装置接收到的该k个第一数据帧的时钟频率基本一致,从而可以解决业务的时钟频率信息透传的问题。
下面对本申请实施例的业务数据流进行介绍,本申请实施例中,第一通信装置接收到的数据流称为业务数据流,本申请实施例中涉及多条业务数据流,比如第一业务数据流、第二业务数据流1、第二业务数据流2、第二业务数据流3等,本申请实施例中以第一业务数据流为例对本申请实施例中的业务数据流进行介绍,其他业务数据流的相关内容均可以参见第一业务数据流的相关介绍,不再赘述。
本申请实施例中的第一业务数据流可以为CBR业务数据流,比如可以包括但不限于欧洲传输级别(european transmission level 1,E1)、同步(synchronous,STM-1)、CPRI、串行数字信息(serial digital information,SDI)。
本申请实施例中的第一业务数据流还可以为一类不具备以太网帧格式但是具有固定速率以及时分复用(Time Division Multiplexing,TDM)帧结构的数据流,这类数据流也可以称为CBR业务。
下面通过表1和表2示例性展示几种业务数据流的相关信息,本申请实施例中的业务数据流(比如第一业务数据流、第二业务数据流1、第二业务数据流2、第二业务数据流3等)可以为表1和表2中示例出的业务的数据流。
为了更清楚的展示,表1和表2中涉及到的英文简写中一部分可以参照本申请中的其他位置处的介绍,另一部分可以参照如下介绍:
兆字节(Mega Byte,MB)(MB也可以简写为G),比特每秒(bit/s),千兆字节(Gigabit Byte,GB)(GB也可以简写为G),同步光纤网络(synchronous optical network,SONET),光载波(optical carrier,OC),通用需求(generic requirement,GR),核心(CORE),美国国家标准学会(american national standards Institute,ANSI),准同步数字体系(plesiochronous digital hierarchy,PDH),传输层1(Transmission Level1,T1),快速以太网(fast Ethernet,FE),美国电气与电子工程师学会(institute of electrical and electronics engineers,IEEE),千兆以太网(Gigabit Ethernet,GE),10千兆以太网(10Gigabit Ethernet,10GE),局域网(local area network,LAN),广域网(wide area network,WAN),存储区域网络(storage area network,SAN),光纤通道(fiber channel,FC),光纤连接(fiber connector,FICON),企业系统连接(enterprise system connection architecture,ESCON),光纤分布式数据接口(fiber distributed data interface,FDDI),怠速控制(idle speed control,ISC),国际标准化组织(international organization for standardization,ISO),国际商业机器公司(international business machines corp,IBM),地理分散并行系统(geographically dispersed parallel sysplex,GDPS),光转换单元(optical transform unit,OTU),增强型常规公共无线电接口(enhanced common public radio interface,eCPRI),开放式基站架构计划(Open Base Station Architecture Initiative,OBSAI),参考点(reference point,RP),欧洲标准(
Figure PCTCN2022106293-appb-000001
NORM,EN),数字视频广播异步串口(digital video broadcasting asynchronous serial interface,DVB-ASI),标准清晰度串行数字接口(standard definition-serial digital interface,SD-SDI),高清串行数字接口(high definition-serial digital interface,HD-SDI),3G串行数字接口(3G-serial digital interface,3G-SDI),电影电视工程师协会(Society of Motion Picture and Television Engineers,SMPTE),推荐标准(Recommended Standard,RS),美国电子工业协会(Electronic Industry Association,EIA),注册接口(Registered Jack,RJ)。
表1几种业务数据流的相关信息
Figure PCTCN2022106293-appb-000002
表2几种业务数据流的相关信息
Figure PCTCN2022106293-appb-000003
在S302中,第一码块流中的至少一个时钟频率信息中还可以包括第二时钟频率信息。为了区分,本申请实施例中将第二时钟频率信息对应的数据帧(一个或多个连续的数据帧)称为第二数据帧,第二数据帧的数量可以为一个或多个。第二时钟频率信息可以用于指示第一业务数据流的第二数据帧的传输时长。
一种可能的实施方式中,该至少一个时钟频率信息中的每个时钟频率信息对应k个数据帧。这种情况下,第二时钟频率信息用于指示第一业务数据流的k个第二数据帧的传输时长和/或第一通信装置接收到k个第二数据帧的传输时刻。也可以理解为,针对第一业务数据流,第一通信装置每k个数据帧确定一次该k个数据帧的时钟频率信息。在S304之 后,第二通信装置还可以从第一码块流中获取第二时钟频率信息和k个第二数据帧,并根据第二时钟频率信息,发送k个第二数据帧。关于第二时钟频率信息的相关内容可以参见第一时钟频率信息的相关内容,不再赘述。
又一种可能的实施方式中,第二数据帧的数量和第一数据帧的数量可以不同。当第一数据帧和第二数据帧的数量不同的情况下,第一通信装置可以将第一时钟频率信息对应的数据帧的数量,以及第二时钟频率信息对应的数据帧的数量发送给第二通信装置,以使第二通信装置确定出第一时钟频率信息和第二时钟频率信息分别对应的数据帧。
在S302中,第一时钟频率信息可以具有以下多种实施方式,下面通过实施方式a1、实施方式a2、实施方式a3、实施方式a4、实施方式a5、实施方式a6、实施方式a7、实施方式a8、实施方式a9、实施方式a10和实施方式a11进行举例说明。
实施方式a1:
实施方式a1中第一时钟频率信息包括第一计数值,第一计数值为第一通信装置在接收k个第一数据帧的时长内,第一通信装置的本地时钟信号的时钟频率的周期数。第一时钟频率信息可以用于指示第一业务数据流的k个第一数据帧的传输时长。
本申请实施例中的时钟频率的周期也可以称为时钟周期、振荡周期等。时钟频率的一个周期的时长为时钟频率的倒数。第一通信装置的本地时钟信号的时钟频率的周期数也可以称为:第一通信装置的本地时钟信号的时钟周期的数量、振荡周期的数量,以及振荡次数等。
图4a示例性示出了本申请实施例提供的一种第一通信装置侧的数据传输方法的流程示意图,如图4a所示,第一通信装置接收第一业务数据流。第一业务数据流可以是恒定速率的业务,第一业务数据流的比特速率可以记为R client。第一业务数据流可以是源端的通信装置以n比特位宽发送至第一通信装置的,n为正整数。
进一步,第一通信装置可以通过统计模块统计第一业务数据流的k个第一数据帧的第一时钟频率信息。具体来说,可以识别出k个第一数据帧的第1个第一数据帧的帧头,并启动计数器(比如第一通信装置在第1个第一数据帧的帧头的第1个比特的接收时刻启动计数器),通过计数器对第一通信装置的本地时钟信号的时钟频率(第一通信装置的本地时钟信号的时钟频率可以记为f source)的周期数进行计数。持续计数,直至识别出第k个第一数据帧的帧尾,停止计数器(比如第一通信装置在第k个第一数据帧的帧尾的最后一个比特的接收时刻停止计数器),此时计数器的值即为第一计数值。在本申请实施例中第一计数值可以表示为N source。进一步,第一通信装置可以对第一业务数据流进行封装,得到第一码块流,且将第一计数值置于第一码块流中,并将第一码块流发送至第二通信装置。
需要说明的是,本申请实施例中第一业务数据流中的数据帧的帧头包括帧头标识符,第一通信装置和第二通信装置可以依据该帧头标识符识别出数据帧的帧头。同样的,数据帧的帧尾包括帧尾标识符,第一通信装置和第二通信装置可以依据该帧尾标识符识别出数据帧的帧尾。数据帧可以是PCM帧。具体实施中,1个PCM帧的长度可以为256(32*8=256)比特。
图4b示例性示出了统计第一计数值的示意图,如图4b所示,第一业务数据流的一个方波可以表示k个数据帧的传输时长,比如图4b中示出的k个第一数据帧的传输时长和k 个第二数据帧的传输时长。在第1个第一数据帧的帧头的接收时刻,启动计数器,对第一通信装置的本地时钟信号的时钟频率的周期数进行计数,直至第k个第一数据帧的帧尾的接收时刻,停止计数器的计数,当前计数器的值即为第一计数值。比如,一个PCM帧的传输时长可能包括8kHz的第一通信装置的本地时钟信号的1个周期,或者可能包括2.048Mhz的第一通信装置的本地时钟信号的256个周期。
类似的,在第一个第二数据帧的帧头的接收时刻,启动计数器,对第一通信装置的本地时钟信号的时钟频率的周期数进行计数,直至第k个第二数据帧的帧尾的接收时刻,停止计数器的计数,当前计数器的值即为第二时钟频率信息。图4b中将第k个第一数据帧和第1个第二数据帧为连续的两个数据帧为例进行展示,在实际应用中,不限定k个第一数据帧和k个第二数据帧的关系。
图4c示例性示出了本申请实施例提供的一种第二通信装置侧的数据传输方法的流程示意图,如图4c所示,第二通信装置获取第一码块流。从第一码块流中提取第一时钟频率信息(即第一计数值N source),第二通信装置的本地时钟信号和第一通信装置的本地时钟信号频率同步,这种情况下,第二通信装置可以基于第二通信装置的本地时钟信号和第一时钟频率信息输出工作时钟信号,该工作时钟信号的时钟频率为第一时钟频率信息指示的时钟频率。第二通信装置可以结合鉴相器、锁相环与滤波器实现上述基于第二通信装置的本地时钟信号和第一时钟频率信息输出工作时钟信号的方案,锁相环与滤波器呈级联关系,鉴相器也可以视为锁相环内部的结构,鉴相器的输入可以为第二通信装置本地时钟信号和第一时钟频率信息指示的时钟频率,基于鉴相器输出的值和第二通信装置本地时钟信号,锁相环和滤波器输出工作时钟信号。
另一方面,第二通信装置可以对第一码块流解封装,得到第一业务数据流中的k个第一数据帧。进而,第二通信装置可以以第一时钟频率信息指示的时钟频率发送k个第一数据帧。
通过实施方式a1可以看出,在第一通信装置和第二通信装置频率同步的基础上,第一通信装置和第二通信装置可以通过传输第一计数值的方式解决业务的时钟频率信息透传的问题,方案较为简单,且传输的第一计数值所占用的比特位的数量可以较少。
又一种可能的实施方式中,第一通信装置的本地时钟信号和第二通信装置的本地时钟信号的频点相同,且频率同步。比如第一通信装置的本地时钟信号和第二通信装置的本地时钟信号均为100MHz的信号。这种情况下,第二通信装置可以基于第一计数值指示的k个第一数据帧的时钟频率信息发送该k个第二数据帧,从而可以解决业务的时钟频率信息透传的问题。
实施方式a2:
实施方式a2中第一时钟频率信息包括第二计数值,第二计数值为第一计数值和预设计数值之间的差值。第一时钟频率信息可以用于指示第一业务数据流的k个第一数据帧的传输时长。
该实施方式a2与实施方式a1相比,区别仅仅为第一时钟频率信息为第二计数值,而非第一计数值,其余内容参见实施方式a1,不再赘述。需要注意的是,第二计数值可能为正数,也可能为负数。一种可能的实施方式中,第一时钟频率信息可以包括两个部分,一个部分为第二计数值的符号(正号或负号),另一部分包括第二计数值的绝对值。
在实施方式a2中,可以设置一个参考时钟信号,该参考时钟信号的时钟频率f ref。参考时钟信号的时钟频率f ref也可以称为参考时钟频率。对于一个给定的预设时长,该预设时长内的参考时钟信号的时钟频率的周期数为预设计数值,该预设计数值可以记为N ref。比如第一通信装置中预置一个无频偏的参考时钟信号,f ref=155.52MHz,一个数据帧的传输时长比如为125微秒,则可以以参考时钟信号在125微秒内包括的时钟周期数量作为预设计数值。
一种可能的实施方式中,可以给预设计数值一个定义:N ref是预设时长内的f ref的时钟周期的数量,是一个整数。一种可能的实施方式中,为了使第一通信装置向第二通信装置传输的第一时钟频率信息占用的比特数量更少一些,可以通过传递第一计数值和预设计数值的差值的方式解决业务的时钟频率信息透传的问题。为了使该差值占用的比特数量更少,可以使预设计数值较为接近第一计数值。一种可能的实施方式中,可以根据第一业务数据流的k个数据帧的传输时长的平均值设置预设时长,比如预设时长等于第一业务数据流的至少一组数据帧(一组数据帧包括k个数据帧)的传输时长的平均值,或者预设时长接近第一业务数据流的至少一组数据帧的传输时长的平均值。又一种可能的实施方式中,预设时长与k个第一数据帧的传输时长之间的差值小于预设的差值阈值。
又一种可能的实施方式中,第一通信装置中可以配置k个值。之后第一通信装置确定出k个数据帧的比特位的数量的值r,然后用r乘以每个比特的传输时长,得到的值可以作为预设时长。其中每个比特的传输时长可以根据该k个数据帧对应的业务数据流的传输速率来确定。该实施方式中,也可以理解为是假设本地时钟的实在频率和该k个数据帧对应的业务数据流的时钟频率相等时,将记录的k个数据帧的传输时长作为预设时长。通过该实施方式中可以看出,只要配置了k的值,第一通信装置则可以确定出预设时长。该方案为确定预设时长提供了一种可能的实施方案,且该方案仅需配置k的值,方案较为简单,易于推广。
第二通信装置执行的方案与实施方式a1中的类似,区别仅仅是在获取第一时钟频率信息时,获取的是第二计数值。而第二通信装置可以提前获取预设计数值,进而可以结合预设计数值计算出第一计数值。又一种可能的实施方式中,第一通信装置的本地时钟信号和第二通信装置的本地时钟信号的频点相同,且频率同步。比如第一通信装置的本地时钟信号和第二通信装置的本地时钟信号均为100MHz的信号。这种情况下,第二通信装置可以基于第二计数值指示的k个第一数据帧的时钟频率信息发送该k个第二数据帧,从而可以解决业务的时钟频率信息透传的问题。进而再依据第一计数值发送k个第一数据帧,该步骤可以参见前述实施方式a1,不再赘述。
实施方式a3:
实施方式a3中第一时钟频率信息包括第二计数值和预设计数值。第一时钟频率信息可以用于指示第一业务数据流的k个第一数据帧的传输时长。
实施方式a3与实施方式a2相比,区别为:第一通信装置除了向第二通信装置传输第二计数值之外,还传输预设计数值,其余内容参见实施方式a2,不再赘述。
一种可能的实施方式中,还可以分别设置第二计数值和预设计数值的发送周期,比如预设计数值的发送周期可以比第二计数值的发送周期长,如此,可以减少预设计数值的发送次数,节省资源。
本申请实施例中可以为第一业务数据流设置一个预设计数值,第一通信装置可以通过第一业务数据流对应的时钟频率信息(比如第一时钟频率信息)传递预设计数值给第二通信装置。又一种可能的实施方式中,第一通信装置也可以通过第一业务数据流的多个时钟频率信息传递多次预设计数值给第二通信装置,比如,可以在第一业务数据流的每个时钟频率信息中携带预设计数值。又一种可能的实施方式中,可以为第一业务数据流设置多个预设计数值,每个预设计数值可以对应一组或多组数据帧(每组数据帧可以包括k个数据帧)。
实施方式a4:
实施方式a4中第一时钟频率信息包括k个第一数据帧中第1个数据帧的帧头的接收时刻,以及k个第一数据帧中第k个第一数据帧的帧尾的接收时刻。第一时钟频率信息可以用于指示第一通信装置接收到第一业务数据流的k个第一数据帧的时刻。
在实施方式a4中,由于在一种可能的实施方式中,第二通信装置可以根据第一时钟频率信息中的两个时刻计算出k个第一数据帧的传输时长,因此也可以理解为第一时钟频率信息指示第一业务数据流的k个第一数据帧的传输时长。
实施方式a4中也可以理解为第一时钟频率信息中包括两个时间戳,分别为时间戳1和时间戳2。其中,时间戳1为第1个数据帧的帧头(比如帧头的第1个比特)的接收时刻,时间戳2为第k个第一数据帧的帧尾(比如帧尾的最后一个比特)的接收时刻。
第二通信装置可以根据第一时钟频率信息确定出第一业务数据流的k个第一数据帧的传输时长(计算第一时钟频率信息中的两个时间戳的差值),进而可以计算出的根据k个第一数据帧的传输时长,在该传输时长内发送k个第一数据帧,从而可以使第二通信装置发送的k个第一数据帧的传输时长与第一通信装置接收到的k个第一数据帧的传输时长相等或基本相等,从而可以解决业务的时钟频率信息透传的问题。
一种可能的实施方式中,第一时钟频率信息可以占用32比特,单位可以为纳秒。比如,时间戳1为:0000 0000 0000 0000 0000 0000 0000 0001。时间戳2为:0000 0000 0000 0000 0000 0000 1000 0000。时间戳2和时间戳1之间的时间差为127纳秒,即k个第一数据帧的传输时长为127纳秒。
进一步,第二通信装置可以根据第一时钟频率信息中的两个时间戳的差值,以及第二通信装置本地时钟信号,生成一个符合第一通信装置接收第一业务数据流的k个第一数据帧的时钟频率的工作时钟信号,并基于该工作时钟信号发送k个第一数据帧。比如,可以通过公式(Δt1/(1/f_local))计算出该工作时钟信号的时钟频率,其中,Δt1为第一时钟频率信息中的两个时间戳的差值,f_local为第二通信装置的本地时钟信号的时钟频率,该公式中分子和分母的单位都可以统一到纳秒。
又一种可能的实施方式中,第二通信装置可以不计算k个第一数据帧的传输时长,而是直接基于两个时间戳指示的k个第一数据帧的时钟频率信息发送该k个第二数据帧。比如,第二通信装置记录第二通信装置接收到的k个第一数据帧的第1个数据帧的帧头(比如帧头的第1个比特)的接收时刻“时间戳3”。计算时间戳3和时间戳1之间的时间差Δt2,进一步,第二通信装置记录第二通信装置接收到的k个第一数据帧的第k个数据帧的帧尾的接收时刻“时间戳4”,之后计算时间戳4和时间戳2之间的时间差Δt3,并将Δt3与Δt2进行比较。在实际应用中可以假设一定的时间内网络的最小延时是固定的,而且在概率上 一段时间内也可以得到该最小延时。当Δt3与Δt2的差值小于设定的一个门限的情况下,若Δt3小于Δt2,则表示第二通信装置的数据发送频率慢了,可以第二通信装置可以适当将发送数据的频率调快一点。若Δt3大于Δt2,则表示第二通信装置的数据发送频率快了,可以第二通信装置可以适当将发送数据的频率调慢一点。
又一种可能的实施方式中,第一通信装置的本地时钟信号和第二通信装置的本地时钟信号的频率同步。这种情况下,第一通信装置的本地时钟信号和第二通信装置的本地时钟信号的频点可以相同,也可以不相同。第二通信装置可以基于两个时间戳指示的k个第一数据帧的时钟频率信息发送该k个第二数据帧,从而可以解决业务的时钟频率信息透传的问题。
实施方式a5:
实施方式a5中第一时钟频率信息包括第一时长,第一时长为k个第一数据帧的传输时长。
一种可能的实施方式中,第一通信装置可以在k个第一数据帧的传输时长内统计第一计数值。之后计算出第一计数值对应的第一时长,比如可以根据公式Δt 2=N source*(1/f source),进行计算,在该公式中,N source为第一计数值,f source为第一通信装置的本地时钟信号的时钟频率,*表示乘,/表示除,Δt 2表示第一时长。Δt 2的单位可能是纳秒,也可能是秒。
又一种可能的实施方式中,第一通信装置可以在k个第一数据帧中的第1个第一数据帧的帧头的接收时刻,启动计时器,在k个第一数据帧中的第1个第一数据帧的帧头的接收时刻,停止计时器的计时,当前计时器的值即为第一时长。
另一方面,第二通信装置可以对第一码块流解封装,得到第一业务数据流中的k个第一数据帧。进而,第二通信装置可以以第一时钟频率信息指示的第一时长发送k个第一数据帧,比如第二装置发送的k个第一数据帧的发送时长也可以控制在第一时长。从而可以解决业务的时钟频率信息透传的问题。
通过实施方式a5可以看出,第一通信装置和第二通信装置可以通过传输第一时长的方式解决业务的时钟频率信息透传的问题,方案较为简单。且第二通信装置无需结合预设计数值、参考时钟信号的时钟频率等进行计算。
又一种可能的实施方式中,第一通信装置的本地时钟信号和第二通信装置的本地时钟信号的频率同步。这种情况下,第一通信装置的本地时钟信号和第二通信装置的本地时钟信号的频点可以相同,也可以不相同。第二通信装置可以基于第一时长指示的k个第一数据帧的时钟频率信息发送该k个第二数据帧,从而可以解决业务的时钟频率信息透传的问题。
实施方式a6:
实施方式a6中第一时钟频率信息可以用于指示第一通信装置接收到第一业务数据流的k个第一数据帧的时刻。第一时钟频率信息包括k个第一数据帧中第1个数据帧的帧头的接收时刻。具体来说,第一时钟频率信息包括的k个第一数据帧中第1个数据帧的帧头的接收时刻为:第一通信装置接收到k个第一数据帧中第1个数据帧的帧头的时刻。
若将一个时钟频率信息对应的数据帧称为一组数据帧,比如由于第一时钟频率信息指示k个第一数据帧的传输时长,因此可以将k个第一数据帧称为一组数据帧。再比如,第二时钟频率信息指示k个第二数据帧的传输时长,因此k个第二数据帧也可以称为一组数据帧。如此,一种可能的实施方式中,第二通信装置可以根据接收到的相邻的两组数据帧中包括的第一时钟频率信息的差值计算出一组数据帧的传输时长。
举个例子,k个第一数据帧称为第一组数据帧,k个第二数据帧称为第二组数据帧,若k个第二数据帧是在k个第一数据帧之后收到的,即第一组数据帧和第二组数据帧为连续的两组数据帧,这种情况下,第二通信装置在获取到第一组数据帧(k个第一数据帧)对应的第一时钟频率信息,以及获取到第二组数据帧(k个第二数据帧)对应的第二时钟频率信息之后,第二通信装置可以将第二时钟频率信息指示的时刻减去第一时钟频率信息指示的时刻,得到的值即为第一组数据帧(k个第一数据帧)的传输时长。需要说明的是,本申请实施例中任意两组数据帧中包括的数据帧的数量可以相等,也可以不相等,该实施方式中以一组数据帧包括k个数据帧为例进行展示。
结合上述图4b举个例子,图4b中k个第一数据帧和k个第二数值帧为2k个连续的数据帧,由于第k个第一数据帧的帧尾的接收时刻与第1个第二数据帧的帧头的接收时刻较为接近,在一种可能的实施方式中,也可以理解为二者近似相等。第一时钟频率信息为第1个第一数据帧的帧头的接收时刻,第二时钟频率信息为第1个第二数据帧的帧头的接收时刻。第二装置接收到第一时钟频率信息和第二时钟频率信息之后,可以使用第1个第二数据帧的帧头的接收时刻减去第1个第一数据帧的帧头的接收时刻,得到的值即为k个第一数据帧的传输时长。该示例中,也可以理解为第一时钟频率信息还可以指示出第一业务数据流的k个第一数据帧的传输时长。
通过实施方式a6可以看出,第一通信装置和第二通信装置可以通过传输一组数据帧的第一个数据帧的帧头的接收时刻的方式解决业务的时钟频率信息透传的问题,方案较为简单,且传输的信息所占用的比特位的数量较少。且第二通信装置无需结合预设计数值、参考时钟信号的时钟频率等进行计算。
又一种可能的实施方式中,第二通信装置可以不计算k个第一数据帧的传输时长,而是直接基于两组数据帧对应的两个时间戳发送数据帧。比如,第二通信装置记录第二通信装置接收到的k个第一数据帧的第1个数据帧的帧头(比如帧头的第1个比特)的接收时刻(时间戳3),以及记录第二通信装置接收到的k个第二数据帧的第1个数据帧的帧头(比如帧头的第1个比特)的接收时刻(时间戳5)。进一步第二通信装置计算时间戳3和第一通信装置接收到的k个第一数据帧的第1个数据帧的帧头的接收时刻(时间戳1)之间的时间差Δt2,第二通信装置计算时间戳5和第一通信装置接收到的k个第二数据帧的第1个数据帧的帧头的接收时刻(时间戳6)之间的时间差Δt4,之后将Δt4与Δt2进行比较。在实际应用中可以假设一定的时间内网络的最小延时是固定的,而且在概率上一段时间内也可以得到该最小延时。当Δt4与Δt2的差值小于设定的一个门限的情况下,若Δt4小于Δt2,则表示第二通信装置的数据发送频率慢了,可以第二通信装置可以适当将发送数据的频率调快一点。若Δt4大于Δt2,则表示第二通信装置的数据发送频率快了,可以第二通信装置可以适当将发送数据的频率调慢一点。该方案相关内容还可以参见前述实施方式a4中的相关描述,在此不再赘述。
又一种可能的实施方式中,第一通信装置的本地时钟信号和第二通信装置的本地时钟 信号的频率同步。这种情况下,第一通信装置的本地时钟信号和第二通信装置的本地时钟信号的频点可以相同,也可以不相同。第二通信装置可以基于第一时钟频率信息发送该k个第二数据帧,从而可以解决业务的时钟频率信息透传的问题。
实施方式a7:
实施方式a7中第一时钟频率信息可以用于指示第一通信装置接收到第一业务数据流的k个第一数据帧的时刻。第一时钟频率信息包括k个第一数据帧中第k个第一数据帧的帧尾的接收时刻。具体来说,第一时钟频率信息包括的k个第一数据帧中第k个第一数据帧的帧尾的接收时刻为:第一通信装置接收到k个第一数据帧中第k个第一数据帧的帧尾的时刻。
举个例子,k个第一数据帧称为第一组数据帧。第一业务数据流中的k个第四数据帧称为第三组数据帧。第四时钟频率信息用于指示k个第四数据帧的传输时长。若k个第四数据帧是在k个第一数据帧之前收到的,即第三组数据帧和第一组数据帧为连续的两组数据帧,这种情况下,第二通信装置在获取到第一组数据帧(k个第一数据帧)对应的第一时钟频率信息,以及获取到第三组数据帧(k个第四数据帧)对应的第四时钟频率信息之后,第二通信装置可以将第一时钟频率信息指示的时刻减去第四时钟频率信息指示的时刻,得到的值即为第一组数据帧(k个第一数据帧)的传输时长。需要说明的是,本申请实施例中任意两组数据帧中包括的数据帧的数量可以相等,也可以不相等,该实施方式中以一组数据帧包括k个数据帧为例进行展示。
再举个例子,k个第一数据帧称为第一组数据帧,k个第二数据帧称为第二组数据帧,若k个第二数据帧是在k个第一数据帧之后收到的,即第一组数据帧和第二组数据帧为连续的两组数据帧,这种情况下,第二通信装置在获取到第一组数据帧(k个第一数据帧)对应的第一时钟频率信息,以及获取到第二组数据帧(k个第二数据帧)对应的第二时钟频率信息之后,第二通信装置可以将第二时钟频率信息指示的时刻减去第一时钟频率信息指示的时刻,得到的值即为第二组数据帧(k个第二数据帧)的传输时长。
结合上述图4b举个例子,图4b中k个第一数据帧和k个第二数值帧为2k个连续的数据帧,由于第k个第一数据帧的帧尾的接收时刻与第1个第二数据帧的帧头的接收时刻较为接近,在一种可能的实施方式中,也可以理解为二者近似相等。第一时钟频率信息为第k个第一数据帧的帧尾的接收时刻,第二时钟频率信息为第k个第二数据帧的帧尾的接收时刻。第二装置接收到第一时钟频率信息和第二时钟频率信息之后,可以使用第k个第二数据帧的帧尾的接收时刻减去第k个第一数据帧的帧尾的接收时刻,得到的值即为k个第二数据帧的传输时长。该示例中,也可以理解为第一时钟频率信息还可以指示出第一业务数据流的k个第一数据帧的传输时长。
通过实施方式a7可以看出,第一通信装置和第二通信装置可以通过传输一组数据帧的第一个数据帧的帧尾的接收时刻的方式解决业务的时钟频率信息透传的问题,方案较为简单,且传输的信息所占用的比特位的数量较少。且第二通信装置无需结合预设计数值、参考时钟信号的时钟频率等进行计算。
又一种可能的实施方式中,第二通信装置可以不计算k个第一数据帧的传输时长,而是直接基于两组数据帧对应的两个时间戳发送数据帧。该方案可以参见前述实施方式a6中的相关描述,在此不再赘述。
又一种可能的实施方式中,第一通信装置的本地时钟信号和第二通信装置的本地时钟信号的频率同步。这种情况下,第一通信装置的本地时钟信号和第二通信装置的本地时钟信号的频点可以相同,也可以不相同。第二通信装置可以基于第一时钟频率信息发送该k个第二数据帧,从而可以解决业务的时钟频率信息透传的问题。
实施方式a8:
实施方式a8中第一时钟频率信息可以用于指示第一业务数据流的k个第一数据帧的传输时长。第一时钟频率信息包括第三计数值,第三计数值为第二时长内第一通信装置的本地时钟信号的时钟频率的周期数。第二时长为从预设时刻起始截止至k个第一数据帧中第1个第一数据帧的帧头的接收时刻的时长。
本申请实施例中预设时刻可以有多种实现方式,一种可能的实现方式中,第一通信装置可以以接收到的第一业务数据流中的第一个数据帧的帧头的接收时刻为预设时刻。
本申请实施例中第一通信装置可以和第二通信装置约定以第一通信装置接收到的第一业务数据流中的第一个数据帧的帧头的接收时刻为预设时刻。也可以由第一通信装置自行确定预设时刻的位置,第一通信装置可以不向第二通信装置发送该预设时刻的位置。又一种可能的实施方式中,第一通信装置向第二通信装置发送指示“以第一通信装置接收到的第一业务数据流中的第一个数据帧的帧头的接收时刻为预设时刻”的指示信息。
又一种可能的实施方式中,可以每隔一段较长的时间指定一个预设时刻,两个相邻的预设时刻之间的时长可以大于至少两组数据帧的传输时长。举个例子,比如第一通信装置可以每隔3k个数据帧指定一个预设时刻。这种实施方式中,第一通信装置可以向第二通信装置发送指示哪个时刻为预设时刻的指示信息,也可以不向第二通信装置指示预设时刻的位置。
图9c示例性示出了本申请实施例提供的一种可能的第一业务数据流的数据帧传输时长的示意图,如图9c所示,以某一个指定的时刻为预设时刻。比如预设时刻为第一通信装置接收到第一业务数据流中的第一个数据帧的帧头的第1个比特的接收时刻,第一通信装置以预设时刻为起始,启动计数器,通过计数器对第一通信装置的本地时钟信号的时钟频率(第一通信装置的本地时钟信号的时钟频率可以记为f source)的周期数进行计数。持续计数,直至识别出第1个第一数据帧的帧头,识别出此时计数器的值,该计数器的值即为第三计数值(即第一时钟频率信息指示的计数值,在本申请实施例中第一计数值可以表示为N Ksource。)。另一方面,第一通信装置保持计数器的持续计数,直至识别出第1个第二数据帧的帧头,识别出此时计数器的值,该计数器的值称为第五计数值,第五计数值即为第二时钟频率信息。
从图9c中可以看出,第三计数值反映的是计数器在第二时长(时长t 11)内的计数值。第五计数值反映的是计数器在时长t 12内的计数值。
进一步,一种可能的实施方式中,第一通信装置可以继续保持计数器的持续计数,直至达到下一个预设时刻,将计数器清零并重启。又一种可能的实施方式中,第一通信装置可以继续保持计数器的持续计数,直至第一业务数据流的数据帧接收完毕。又一种可能的实施方式中,第一通信装置可以继续保持计数器的持续计数,直至达到计数器所能计数的最大值,这种情况下将计数器清零并重启,重新计数。第一通信装置可以将计数器重启的时刻记为一个新的预设时刻。由于计数器所能计数的最大值较大,第二通信装置可以依据 接收到的时钟频率信息中包括的计数值推断出计数器是否经历了清零并重新计数的过程。因此即使第一通信装置不向第二通信装置指示该新的预设时刻,第二通信装置也可以根据时钟频率信息发送数据,并解决业务的时钟频率信息透传的问题。又一种可能的实施方式中,第一通信装置也可以将新的预设时刻指示给第二通信装置。
进一步,第一通信装置可以对第一业务数据流进行封装,得到第一码块流,且将第三计数值置于第一码块流中,并将第一码块流发送至第二通信装置。
另一方面,第二通信装置可以对第一码块流解封装,得到第一业务数据流中的k个第一数据帧以及第一时钟频率信息(第三计数值)和第二时钟频率信息(第五计数值)。进一步,第二通信装置可以将第五计数值减去第三计数值,得到第一计数值。第二通信装置根据计算得到的第一计数值对应的时钟频率发送k个第一数据帧。
通过实施方式a8可以看出,第一通信装置和第二通信装置可以通过传输第三计数值的方式解决业务的时钟频率信息透传的问题,方案较为简单,且传输的信息所占用的比特位的数量较少。
又一种可能的实施方式中,第一通信装置的本地时钟信号和第二通信装置的本地时钟信号的频点相同,且频率同步。比如第一通信装置的本地时钟信号和第二通信装置的本地时钟信号均为100MHz的信号。这种情况下,第二通信装置可以基于第三计数值指示的k个第一数据帧的时钟频率信息发送该k个第二数据帧,从而可以解决业务的时钟频率信息透传的问题。
实施方式a9:
实施方式a9中第一时钟频率信息包括第二时长。第二时长为从预设时刻起始截止至k个第一数据帧中第1个第一数据帧的帧头的接收时刻的时长。
一种可能的实施方式中,第一通信装置可以统计第三计数值,之后计算出第三计数值对应的第二时长,比如可以根据公式Δt k2=N Ksource*(1/f source),进行计算,在该公式中,N Ksource为第三计数值,f source为第一通信装置的本地时钟信号的时钟频率,*表示乘,/表示除,Δt k2表示第二时长。Δt k2的单位可能是纳秒,也可能是秒。
又一种可能的实施方式中,第一通信装置可以在预设时刻启动计时器,在k个第一数据帧中的第1个第一数据帧的帧头的接收时刻,记录计时器的统计的时长,当前计时器的值即为第二时长。
结合上述图9c,第二通信装置在接收到第一业务数据流中的k个第一数据帧以及第一时钟频率信息(第二时长,图9c中的时长t 11)和第二时钟频率信息(第五计数值对应的时长,图9c中的时长t 12)之后。第二通信装置可以将第二时钟频率信息指示的时长减去第二时长,得到k个第一数据帧的传输时长。第二通信装置根据计算得到的k个第一数据帧的传输时长对应的时钟频率发送k个第一数据帧。
通过实施方式a9可以看出,第一通信装置和第二通信装置可以通过传输第二时长的方式解决业务的时钟频率信息透传的问题,方案较为简单。且第二通信装置无需结合预设计数值、参考时钟信号的时钟频率等进行计算。
又一种可能的实施方式中,第一通信装置的本地时钟信号和第二通信装置的本地时钟信号的频率同步。这种情况下,第一通信装置的本地时钟信号和第二通信装置的本地时钟信号的频点可以相同,也可以不相同。第二通信装置可以基于第二时长指示的k个第一数 据帧的时钟频率信息发送该k个第二数据帧,从而可以解决业务的时钟频率信息透传的问题。
实施方式a10:
实施方式a10中第一时钟频率信息可以用于指示第一业务数据流的k个第一数据帧的传输时长。第一时钟频率信息包括第四计数值,第四计数值为第三时长内第一通信装置的本地时钟信号的时钟频率的周期数。第三时长为从预设时刻起始截止至k个第一数据帧中第k个第一数据帧的帧尾的接收时刻的时长。本申请实施例中预设时刻可以参见前述内容,在此不再赘述。
图9d示例性示出了一种可能的第一业务数据流的数据帧传输时长的示意图。如图9d所示,k个第四数据帧、k个第一数据帧和k个第二数据帧为连续的3k个数据帧。如图9d所示,以某一个指定的时刻为预设时刻。第一通信装置以预设时刻为起始,启动计数器,通过计数器对第一通信装置的本地时钟信号的时钟频率(第一通信装置的本地时钟信号的时钟频率可以记为f source)的周期数进行计数。持续计数,直至识别出第k个第四数据帧的帧尾,识别出此时计数器的值,该计数器的值即为第七计数值,第七计数值即为第四时钟频率信息。持续计数,直至识别出第k个第一数据帧的帧尾,识别出此时计数器的值,该计数器的值即为第四计数值。另一方面,第一通信装置保持计数器的持续计数,直至识别出第k个第二数据帧的帧尾,识别出此时计数器的值,该计数器的值称为第六计数值,第六计数值即为第二时钟频率信息。
从图9d中可以看出,第七计数值反映的是计数器在第三时长(时长t 21)内的计数值。第四计数值反映的是计数器在第三时长(时长t 22)内的计数值。第六计数值反映的是计数器在时长t 23内的计数值。
另一方面,第二通信装置接收到第一业务数据流中的k个第一数据帧以及第一时钟频率信息(第四计数值)和第四时钟频率信息(第七计数值)。进一步,第二通信装置可以将第四计数值减去第七计数值,得到第一计数值。第二通信装置根据计算得到的第一计数值对应的时钟频率发送k个第一数据帧。类似的,第二通信装置可以将第六计数值减去第四计数值,得到k个第二数据帧的传输时长对应的计数值。第二通信装置根据计算得到的k个第二数据帧的传输时长对应的计数值指示的时钟频率发送k个第一数据帧。
通过实施方式a10可以看出,第一通信装置和第二通信装置可以通过传输第四计数值的方式解决业务的时钟频率信息透传的问题,方案较为简单,且传输的信息所占用的比特位的数量较少。
又一种可能的实施方式中,第二通信装置可以不计算k个第一数据帧的传输时长,而是直接基于两组数据帧对应的两个时间戳发送数据帧。该方案可以参见前述实施方式a6中的相关描述,在此不再赘述。
又一种可能的实施方式中,第一通信装置的本地时钟信号和第二通信装置的本地时钟信号的频点相同,且频率同步。比如第一通信装置的本地时钟信号和第二通信装置的本地时钟信号均为100MHz的信号。这种情况下,第二通信装置可以基于第四计数值指示的k个第一数据帧的时钟频率信息发送该k个第二数据帧,从而可以解决业务的时钟频率信息透传的问题。
实施方式a11:
实施方式a11中第一时钟频率信息包括第三时长,第三时长为从预设时刻起始截止至k个第一数据帧中第k个第一数据帧的帧尾的接收时刻的时长。
一种可能的实施方式中,第一通信装置可以统计第四计数值,之后计算出第四计数值对应的第三时长,计算方式可以参见前述实施方式a9,不再赘述。
又一种可能的实施方式中,第一通信装置可以在预设时刻启动计时器,在k个第一数据帧中的第k个第一数据帧的帧尾的接收时刻,记录计时器的统计的时长,当前计时器的值即为第三时长。
结合上述图9d,第二通信装置在接收到第一业务数据流中的k个第一数据帧以及第一时钟频率信息(第三时长,图9d中的时长t 22)和第四时钟频率信息(第七计数值对应的时长,图9d中的时长t 21)之后。第二通信装置可以将第三时长减去第四时钟频率信息指示的时长,得到k个第一数据帧的传输时长。第二通信装置根据计算得到的k个第一数据帧的传输时长对应的时钟频率发送k个第一数据帧。
通过实施方式a11可以看出,第一通信装置和第二通信装置可以通过传输第三时长的方式解决业务的时钟频率信息透传的问题,方案较为简单。且第二通信装置无需结合预设计数值、参考时钟信号的时钟频率等进行计算。
又一种可能的实施方式中,第一通信装置的本地时钟信号和第二通信装置的本地时钟信号的频率同步。这种情况下,第一通信装置的本地时钟信号和第二通信装置的本地时钟信号的频点可以相同,也可以不相同。第二通信装置可以基于第三时长指示的k个第一数据帧的时钟频率信息发送该k个第二数据帧,从而可以解决业务的时钟频率信息透传的问题。
基于上述内容,图5a示例性示出了本申请实施例中业务数据流转换为码块流的一种可能的实现方式,该实现方式可以在第一通信装置侧执行。图5a中以业务数据流1转换为码块流1,且码块流1为64B/66B的编码形式为例进行展示。若第一业务数据流需要转换为第一码块流时,一种可能的实施方式中,业务数据流1可以为第一业务数据流,码块流1可以为第一码块流,第一业务数据流转换为第一码块流的流程可以参见图5a的业务数据流1转换为码块流1的流程。
如图5a所示,业务数据流1为一串比特流,针对业务数据流1,第一通信装置可以按照64比特为单位逐段截取,得到多个段,每段包括64比特。之后第一通信装置将每段的64比特放入D码块的净荷区域。也可以理解为第一通信装置为每段添加一个01的同步头,得到一个D码块。
之后,第一通信装置可以为一组D码块的两端添加S码块和T码块。一组D码块可以包括一个或多个D码块。任意两组D码块的数量可以相等,也可以不等。一种可能的实施方式中,码块流1中任意两组D码块的数量相等,图5a中以一组D码块为P个D码块为例进行展示,P可以为正整数。本申请实施例中可以将P个D码块以及P个D码块前后的S码块和T码块称为一个数据单元,或者称为一个容器,S码块可以表示该容器的开始,T码块可以表示该容器的结束。S码块中的部分比特位可以用于承载容器开销,即可以用于承载该数据单元对应的开销信息。将业务数据流1中的比特串转换为一串D码块,并在连续的P个D码块的两端添加S码块和T码块的过程可以称为容器封装。
进一步,第一通信装置可以在相邻的两个数据单元(或者称容器)之间填充码块,比如填充Idle码块,从而将码块流1的速率与管道速率匹配。之后,将码块流1映射至管道(本申请实施例中管道也可以称为硬管道)。
图5b示例性示出了容器构造过程中各个数据流的速率关系的示意图,如图5b所示,业务数据流1的原始速率可以小于在业务数据流1中增加容器封装后的速率。在业务数据流1中增加容器封装后的速率可以小于在容器之间填充Idle码块之后的速率。在容器之间填充Idle码块之后的速率可以小于将码块流1映射至硬管道后的速率。
基于上述内容,图5c示例性示出了本申请实施例中码块流转换为业务数据流的一种可能的实现方式,该实现方式可以在第二通信装置侧执行,该实现方式可以理解为图5a的逆过程。图5c中以码块流1转换为业务数据流1,且码块流1为64B/66B的编码形式为例进行展示。若第一码块流需转换为第一业务数据流时,一种可能的实施方式中,业务数据流1可以为第一业务数据流,码块流1可以为第一码块流,第一码块流需转换为第一业务数据流的流程可以参见图5c的码块流1转换为业务数据流1的流程。
如图5c所示,第二通信装置接收到码块流1。之后第二通信装置去除码块流1的数据单元之间用于进行速率适配所填充的码块,比如Idle码块。进一步第二通信装置提取S码块和/或T码块中承载的开销信息(比如可以从S码块提取第一时钟频率信息),并去除每个数据单元两端的S码块和T码块,得到全部为D码块组成的码块流。进一步,第二通信装置去除全部为D码块组成的码块流每个D码块的同步头,得到的一串比特流,即为业务数据流1。
在图5a中以业务数据流1中的比特承载于码块流1的数据单元的数据码块的净荷区域为例进行展示的。实际应用中,业务数据流1中的比特除了可以承载于第一数据单元的数据码块的净荷区域之外,还可以承载于尾码块,比如可以承载于T7的尾码块、T6的尾码块等。
需要注意的是,本申请实施例中的码块流1中的码块可以划分为一个或多个数据单元,图5a中以一个数据单元包括S码块、P个D码块和T码块为例进行介绍,实际应用中,一个数据单元还可以包括多种形式。为了区分,本申请实施例中承载k个第一数据帧对应的比特的数据单元称为第一数据单元,k个第一数据帧对应的比特可以承载一个或多个第一数据单元中,本申请实施例将承载有k个第一数据帧对应的比特的所有第一数据单元称为第一数据单元组。也可以理解为第一数据单元组包括W 1个第一数据单元,W 1为正整数。任两个第一数据单元中包括的数据码块的数量可以相等,也可以不等。
为了区分,本申请实施例中承载k个第二数据帧对应的比特的数据单元称为第二数据单元,k个第二数据帧对应的比特可以承载一个或多个第二数据单元中,本申请实施例将承载有k个第二数据帧对应的比特的所有第二数据单元称为第二数据单元组。也可以理解为第一数据单元组包括W 2个第二数据单元,W 2为正整数。任两个第二数据单元中包括的数据码块的数量可以相等,也可以不等。第一码块流还包括第二时钟频率信息,第二时钟频率信息用于指示第一业务数据流的k个第二数据帧的传输时长和/或第一通信装置接收到第一业务数据流的k个第二数据帧的时刻。
图5a中以码块流1的任两个数据单元包括的D码块的数量均为P为例进行展示。也就是说,第一数据单元包括的数据码块的数量与第二数据单元中包括的数据码块的数量相同。实际应用中,第二数据单元和第一数据单元包括的数据码块的数量也可以不同。
本申请实施例以第一数据单元为例对第一码块流中的数据单元进行介绍,其他数据单元的内容可以参见第一数据单元的相关介绍,不再赘述。
为了提供方案的灵活性,第一数据单元的结构形式可以有多种,比如第一数据单元可能包括以下内容中的一项:
头码块和至少一个数据码块;
头码块、至少一个数据码块和尾码块;
至少一个数据码块和尾码块;
头码块、至少一个数据码块和操作维护管理码块;
头码块、至少一个数据码块、尾码块和操作维护管理码块;或,
至少一个数据码块、尾码块和操作维护管理码块。
一种可能的实施方式中,头码块可以为S码块。尾码块可以为T码块。数据码块可以为D码块。操作维护管理码块可以为O码块。具体结构形式可以参见前述图2b的相关内容。
本申请实施例中k个第一数据帧对应的比特可以承载于W 1个第一数据单元中第一数据单元的至少一个数据码块中数据码块的净荷区域。为了提高数据单元承载的来自业务数据流的比特数量,k个第一数据帧对应的比特不仅可以承载于W 1个第一数据单元中第一数据单元的至少一个数据码块中数据码块的净荷区域,还可以承载于W 1个第一数据单元中第一数据单元的尾码块。
第一时钟频率信息可以承载于W 1个第一数据单元中的部分或全部第一数据单元中。一种可能的实施方式中,W 1为1,该第一数据单元中承载有第一时钟频率信息的全部,以及k个第一数据帧。又一种可能的实施方式中,W 1为大于1的整数,这种情况下,可以在W 1个第一数据单元中的一个第一数据单元或多个中承载第一时钟频率信息。这种情况下,可以通过一个时钟频率信息指示多个数据单元承载的比特的时钟频率,从而可以降低时钟频率信息发送的频率,节省资源。
进一步,第一通信装置还可以在W 1个第一数据单元的每个承载有第一时钟频率信息的第一数据单元中承载第一指示信息。第一指示信息用于指示承载第一指示信息的第一数据单元中承载有第一时钟频率信息中的部分或全部。第一通信装置还可以在W 1个第一数据单元的每个没有承载第一时钟频率信息的第一数据单元中承载第二指示信息。第二指示信息用于指示承载第二指示信息的第一数据单元中未承载第一时钟频率信息。如此,第二通信装置可以根据数据单元中是否承载有第一指示信息来判断一个数据单元中是否承载有时钟频率信息,在一个数据单元中未承载第一指示信息,比如承载第二指示信息的情况下,第二通信装置无需再去寻找时钟频率信息,继而可以提高第二通信装置的数据处理速度。
下面通过第一种情况对第一通信装置通过W 1个第一数据单元中的一个第一数据单元承载第一时钟频率信息进行介绍,通过第二种情况对第一通信装置通过W 1个第一数据单元中的多个第一数据单元承载第一时钟频率信息进行介绍。
第一种情况:第一通信装置可以在W 1个第一数据单元中的一个第一数据单元中传输第一时钟频率信息,第一通信装置在W 1个第一数据单元中的其余第一数据单元不传输第一时钟频率信息。
在第一种情况下,本申请实施例中还可以在每个第一数据单元设置一个字段,比如可 以新设置SEQ字段,SEQ字段可以占用3比特,用于指示0-7(共8个值)。SEQ字段的值随着数据单元的数量递增,比如当前数据单元的SEQ字段的值为0,则下一个数据单元的SEQ字段的值加1,为1;下下个数据单元的SEQ字段的值加1,为2,以此类推,当SEQ字段的值到7之后,重新从0开始取值。
举个例子,W 1的值为4,k个第一数据帧承载于4个第一数据单元中。又一种可能的实施方式中,第一业务数据流中每k个数据帧承载于第一码块流的每4个数据单元中。可以在SEQ字段的值为0和SEQ字段的值为4的数据单元中承载时钟频率信息。SEQ字段的值为0的数据单元中承载的时钟频率信息(比如为第一时钟频率信息)可以指示当前的数据单元以及该数据单元之后连续的SEQ字段值依次为1、2和3的数据单元(4个第一数据单元)中承载的来自于第一业务数据流的所有数据帧(k个第一数据帧)的传输时长。类似的,SEQ字段的值为4的数据单元中承载的时钟频率信息(比如为第二时钟频率信息)可以指示当前的数据单元以及该数据单元之后连续的SEQ字段值依次为5、6和7的数据单元(4个第二数据单元)中承载的来自于第一业务数据流的所有数据帧(k个第二数据帧)的传输时长。
通过上述例子可以看出,SEQ字段的值为0和4分别相当于本申请实施例中的第一指示信息,该第一指示信息用于指示承载该第一指示信息的数据单元中承载有时钟频率信息。又一种可能的实施方式中,可以理解为第一指示信息用于指示承载该第一指示信息的数据单元中承载有时钟频率信息中的全部。SEQ字段的值分别为1、2、3、5、6和7均相当于本申请实施例中的第二指示信息,第二指示信息用于指示承载该第二指示信息的数据单元中没有承载时钟频率信息。
再举个例子,W 1的值为2,k个第一数据帧承载于2个第一数据单元中。又一种可能的实施方式中,第一业务数据流中每k个数据帧承载于第一码块流的每2个数据单元中。可以在SEQ字段的值为0、2、4和6的数据单元中承载时钟频率信息。SEQ字段的值为0的数据单元中承载的时钟频率信息(比如为第一时钟频率信息)可以指示当前的数据单元以及该数据单元之后的SEQ字段值为1的数据单元(2个第一数据单元)中承载的来自于第一业务数据流的所有数据帧(k个第一数据帧)的传输时长。类似的,SEQ字段的值为2的数据单元中承载的时钟频率信息(比如为第二时钟频率信息)可以指示当前的数据单元以及该数据单元之后的SEQ字段值为3的数据单元(2个第二数据单元)中承载的来自于第一业务数据流的所有数据帧(k个第二数据帧)的传输时长。
通过上述例子可以看出,SEQ字段的值为0、2、4和6分别相当于本申请实施例中的第一指示信息,该第一指示信息用于指示承载该第一指示信息的数据单元中承载有时钟频率信息。SEQ字段的值分别为1、3、5和7均相当于本申请实施例中的第二指示信息,第二指示信息用于指示承载该第二指示信息的数据单元中没有承载时钟频率信息。
第二种情况:第一通信装置可以在W 1个第一数据单元中的多个第一数据单元中传输第一时钟频率信息。
举个例子,W 1为4,第一时钟频率信息共占用32个比特,第一通信装置可以在W 1个第一数据单元中的第一个第一数据单元中传输第一时钟频率信息的前16个比特,第一通信装置在W 1个第一数据单元中的第二个第一数据单元中传输第一时钟频率信息的后16个比特。第一通信装置在W 1个第一数据单元中的第三个第一数据单元和第四个第一数据单元中不传输第一时钟频率信息。也就是说,在W 1个第一数据单元中的多个第一数据单 元中承载第一时钟频率信息的全部,这种情况下,该多个第一数据单元中的一个第一数据单元可以仅承载第一时钟频率信息的部分。
在第二种情况下,也可以在每个第一数据单元设置SEQ字段,SEQ字段可以占用3比特,用于指示0-7(共8个值)。
举个例子,W 1的值为4,k个第一数据帧承载于4个第一数据单元中。又一种可能的实施方式中,第一业务数据流中每k个数据帧承载于第一码块流的每4个数据单元中。可以在SEQ字段的值为0和SEQ字段的值为1的数据单元中承载一个时钟频率信息的32比特,比如在SEQ字段的值为0的数据单元中承载该时钟频率信息的前16比特,在SEQ字段的值为1的数据单元中承载该时钟频率信息的后16比特。SEQ字段的值为0和SEQ字段的值为1的数据单元中承载的32个比特的时钟频率信息(比如为第一时钟频率信息)可以指示当前的两个数据单元以及该数据单元之后连续的SEQ字段值依次为2和3的数据单元(4个第一数据单元)中承载的来自于第一业务数据流的所有数据帧(k个第一数据帧)的传输时长。类似的,SEQ字段的值为4和SEQ字段的值为5的数据单元中承载的32比特的时钟频率信息(比如为第二时钟频率信息)可以指示当前的两个数据单元以及该数据单元之后连续的SEQ字段值依次为6和7的数据单元(4个第二数据单元)中承载的来自于第一业务数据流的所有数据帧(k个第二数据帧)的传输时长。
通过上述例子可以看出,SEQ字段的值为0、1、4和5分别相当于本申请实施例中的第一指示信息,该第一指示信息用于指示承载该第一指示信息的数据单元中承载有时钟频率信息。又一种可能的实施方式中,第一指示信息用于指示承载该第一指示信息的数据单元中承载有时钟频率信息中的部分。如此,可以通过多个数据单元共同承载一个时钟频率信息,从而可以提高用于承载时钟频率信息的比特位的数量。SEQ字段的值分别为2、3、6和7均相当于本申请实施例中的第二指示信息,第二指示信息用于指示承载该第二指示信息的数据单元中没有承载时钟频率信息。
本申请实施例中第一业务数据流的时钟频率信息的承载位置也可以有多种实现方式,下面以承载有第一时钟频率信息的一个第一数据单元为例进行介绍,该第一数据单元中承载的可能是第一时钟频率信息的全部,也可能是第一时钟频率信息中的部分。为了提高方案的灵活性,第一时钟频率信息(可以是第一时钟频率信息中的部分,也可以是全部第一时钟频率信息)可以承载于第一数据单元以下内容中的至少一项:头码块、至少一个数据码块、尾码块,或操作维护管理码块。下面通过实施方式b1、实施方式b2、实施方式b3和实施方式b4进行介绍。
实施方式b1:
实施方式b1中第一时钟频率信息可以承载于第一数据单元的头码块。
头码块可以为S码块,可以用于标识一个数据单元的开始。图6a示例性示出了本申请实施例提供的一种承载有第一时钟频率信息的第一数据单元的结构示意图,如图6a所示,该数据单元为图5a中的一个数据单元。
第一业务数据流可以为恒定速率业务。第一业务数据流中的一个PCM帧为256比特(32*8=256),按照64比特为单元进行截取1个PCM帧,可以截取4段。从而每个数据单元可以通过4个D码块的净荷区域承载1个PCM帧。
图6a示出了该数据单元的结构形式为SDDDDT。第一时钟频率信息可以承载于S码 块的净荷区域,比如可以承载于净荷区域承载的码块类型区域“0x78”之后的位置。如此,第二通信装置可以快速的解析出时钟频率信息。
实施方式b2:
实施方式b2中,第一时钟频率信息可以承载于第一数据单元的至少一个数据码块。
图6b示例性示出了本申请实施例提供的又一种承载有第一时钟频率信息的第一数据单元的结构示意图,如图6b所示,该数据单元为图5a中的一个数据单元。图6b示出了该数据单元的结构形式为SDDDDT。第一时钟频率信息可以承载于S码块之后的第一个D码块的净荷区域。
一种可能的实施方式中,由于第一时钟频率信息占用了原本用于承载业务数据流的PCM帧的区域,因此可以将T码块采用T7码块,从而使用T7码块的净荷区域中除了码块类型区域“0xFF”之外的区域承载PCM帧。比如图6b中,最多可以占用D码块的7个字节承载第一时钟频率信息,T码块为T7时,T码块的净荷区域中还可以有7个字节的比特位来承载PCM帧。
实施方式b3:
实施方式b3中第一时钟频率信息可以承载于第一数据单元的尾码块。
图6c示例性示出了本申请实施例提供的又一种承载有第一时钟频率信息的第一数据单元的结构示意图,如图6c所示,该数据单元为图5a中的一个数据单元。图6c示出了该数据单元的结构形式为SDDDDT。第一时钟频率信息可以承载于T码块的净荷区域。比如T码块采用T7码块,第一时钟频率信息可以承载于T7码块的净荷区域中除了码块类型区域“0xFF”之外的区域。T7码块仅仅是举例,也可以使用其他码块,比如T6码块、T5码块等。
实施方式b4:
实施方式b4中,第一时钟频率信息可以承载于第一数据单元的操作维护管理码块。
操作维护管理码块可以为O码块。操作维护管理码块可以位于两个数据单元之间的位置。若结合上述图5a来看,可以在P个D码块的两端添加S码块和T码块之后,在两个数据单元之间插入O码块,比如可以周期性插入O码块。进一步可以在插入了O码块之后的码块流中填充Idele码块,以便进行速率适配。
插入了O码块之后的一种可能的码块流形式可以为:…OISDDDDTIOISDDDDTIOI…。O为O码块,I为Idle码块,S为头码块,D为数据码块,T为尾码块。
O码块的结构形式可以参见前述图2b的相关介绍,图6d示例性时长了一种可能的O码块的结构示意图,如图6d所示,该码块的净荷区域承载的信息如图6d所示,可以包括:码块类型区域“0x4B”,净荷区域承载的值依次可以为:00、类型(type)、值1(value 1)、值2(value 2)、0xC、0x0、值3(value 3)、值4(value 4)、序号(sequence)和循环冗余校验4(Cyclic Redundancy Check,CRC)。第一时钟频率信息比如可以携带于O码块的值1(value 1)、值2(value 2)、值3(value 3),或值4(value 4)中的至少一项。
又一种可能的实施方式中,第一数据单元还可以包括图2d所示的数据帧,第一数据单元中可以包括开销区域和净荷区。第一时钟频率信息可以承载于图2d所示的数据帧中的开销区域或净荷区域中的至少一项,比如第一时钟频率信息承载于开销区域中的通用开销、映射开销或CRC8中的至少一项。k个第一数据帧可以承载于图2d所示的数据帧中的净荷区域。需要说明的是,第一时钟频率信息可以承载于一个或多个第一数据单元。k个 第一数据帧也可以承载于一个或多个第一数据单元。具体承载方案与前述内容类似,比如可以设置第一数据单元组等方案,在此不再赘述。
上述内容中以发送一条第一业务数据流为例进行描述,在实际应用中,源端通信装置也可以发送多条业务数据流,比如除了第一业务数据流之外,源端的通信装置还可以向第一通信装置发送Q 0条第二业务数据流,Q 0为正整数。
在一种可能的实施方式中,Q 0条第二业务数据流与第一业务数据流的源端的通信装置相同,且Q 0条第二业务数据流与第一业务数据流的宿端的通信装置相同,这种情况下也可以称Q 0条第二业务数据流与第一业务数据流同源同宿。
在一种可能的实施方式中,第一通信装置可以获取Q 0条第二业务数据流与第一业务数据流中每条业务数据流的第三指示信息。该第三指示信息指示出Q 0条第二业务数据流与第一业务数据流是否同源同宿。
针对Q 0条第二业务数据流与第一业务数据流中的两条业务数据流,第一通信装置可以根据两条业务数据流对应的两个第三指示信息确定该两条业务数据流是否来自同一个源端的通信装置(可以为同一个逻辑的通信装置,也可以为同一个物理的通信装置),且是否去往同一个宿端通信装置(可以为同一个逻辑的通信装置,也可以为同一个物理的通信装置)。
针对Q 0条第二业务数据流与第一业务数据流中的业务数据流,该业务数据流中的第三指示信息可以为一个信息,可以根据该信息判断出Q 0条第二业务数据流与第一业务数据流是否同源同宿。又一种可能的实施方式中,该第三指示信息可以包括两部分信息,比如第三指示信息包括源端指示信息和宿端指示信息,第一通信装置可以根据两个业务数据流的源端指示信息判断该两条业务数据流是否来自同一个源端的通信装置,第一通信装置还可以根据两个业务数据流的宿端指示信息判断该两条业务数据流是否去往同一个宿端的通信装置。
比如,针对Q 0条第二业务数据流与第一业务数据流中的两条业务数据流,该两条业务数据流的两个源端指示信息可以为两个端口号,该两个端口号可以相同,也可以不同。当该两个端口号相同的情况下,第一通信装置可以根据两条业务数据流对应的源端指示信息确定该两条业务数据流来自同一个源端的通信装置。当该两个端口号不同的情况下,第一通信装置若确定该两个端口号(可以为逻辑端口号,也可以为物理端口号)对应同一个通信装置(比如第一通信装置通过该两个端口号与同一个通信装置连接),则也可以根据两条业务数据流对应的源端指示信息确定该两条业务数据流来自同一个源端的通信装置。当该两个端口号不同的情况下,第一通信装置若确定该两个端口号(可以为逻辑端口号,也可以为物理端口号)并未对应同一个通信装置(比如第一通信装置通过该两个端口号与同一个通信装置连接),则确定该两条业务数据流并非来自同一个源端的通信装置。
再比如,针对Q 0条第二业务数据流与第一业务数据流中的两条业务数据流,该两条业务数据流的两个第三指示信息可以为两个业务号、或业务类型信息。第一通信装置在确定两个业务的业务号相同或业务类型信息相同的情况下,则可以确定该两条业务数据流同源同宿。
通过上述示例可以看出,第三指示信息可以为配置的一些指示信息。除此之外,第三指示信息还可以为地址信息,比如媒体访问控制(medium access control,MAC)地址信息 或网际协议(internet protocol,IP)地址等。比如第三指示信息中的源端指示信息可以为源地址,宿端指示信息可以为目的地址。Q 0条第二业务数据流与第一业务数据流的源地址相同,且Q 0条第二业务数据流与第一业务数据流的目标地址相同,则可以称为Q 0条第二业务数据流与第一业务数据流同源同宿。
一种可能的实施方式中,在上述S302中,第一通信装置可以对第一业务数据流和Q 0条第二业务数据流进行复用,得到第一码块流。通过复用可以对多条业务数据流实现并行处理,从而可以提高每条业务数据流的处理速度。复用的方式可以有多种,下面通过实施方式c1和实施方式c2介绍第一通信装置对第一业务数据流和Q 0条第二业务数据流进行复用的具体实施方式,以及第二通信装置侧的实施方式。
实施方式c1:
在实施方式c1中,第一通信装置以连续n 0个比特组成的比特块为单位,对第一业务数据流和Q 0条第二业务数据流中的比特块进行复用,得到第一码块流。n 0为正整数。
在实施方式c1中,第一通信装置接收到第一业务数据流和Q 0条第二业务数据流。可以根据第一业务数据流和Q 0条第二业务数据流之间的预设的排序,以连续n 0个比特组成的比特块为单位,对第一业务数据流和Q 0条第二业务数据流中的比特块进行复用,得到第三业务数据流。进而第一通信装置可以根据第三业务数据流,生成第一码块流。
图7a示例性示出了对第一业务数据流和Q 0条第二业务数据流中的n 0个比特的比特块进行复用的示意图,图7a中以Q 0为3为例进行介绍。针对4路信号(分别为第一业务数据流、第二业务数据流1、第二业务数据流2、第二业务数据流3)进行复用,得到的第三业务数据流如图7a所示。
本申请实施例中第一通信装置根据第三业务数据流,生成第一码块流的过程可以参考前述图5a所示的过程,这种情况下,第三业务数据流为图5a中的业务数据流1,码块流1为第一码块流。根据n 0的取值情况,一个数据单元中包括的D码块上可能会承载多路信号。
针对k个第一数据帧以及Q 0条第二业务数据流中每个第二业务数据流的k个第三数据帧,第一通信装置可以通过一个数据单元进行承载,也可以通过多个数据单元进行承载,比如,第一码块流包括第一数据单元组。第一数据单元组包括W 1个第一数据单元。
当W 1为1,W 1个第一数据单元中的一个第一数据单元包括:第一业务数据流中的k个第一数据帧对应的比特,Q 0条第二业务数据流中每个第二业务数据流的k个第三数据帧对应的比特。
当W 1为大于1的整数,W 1个第一数据单元中的一个第一数据单元包括:第一业务数据流中的k个第一数据帧对应的比特中的部分比特,Q 0条第二业务数据流中每个第二业务数据流的k个第三数据帧对应的比特中的部分比特。
一种可能的实施方式中,若W 1为大于1的整数,k/W 1为整数,则W 1个第一数据单元中的一个第一数据单元包括:第一业务数据流中的(k/W 1)个第一数据帧对应的比特,Q 0条第二业务数据流中每个第二业务数据流的(k/W 1)个第三数据帧对应的比特。
示例一,以n 0为8举例,这种情况下,第一通信装置是以8比特(或者称为1个字节)为单位对第一业务数据流和Q 0条第二业务数据流进行复用。图7b示例性示出了在图6a所示的数据单元中承载的信号的示意图,如图7b所示,一个D码块可以承载64比特的数据,即可以承载第三业务数据流中的连续8个n 0比特块。一种可能的实施方式中,一个数据单元可以包括16个D码块,若1个PCM帧为256比特,则1个PCM帧由4个D码块 承载,4路信号的4个PCM帧可以由16个D码块承载。
示例二,以n 0为256举例,这种情况下,第一通信装置是以256比特(或者称为32个字节)为单位对第一业务数据流和Q 0条第二业务数据流进行复用。图7c示例性示出了在图6a所示的数据单元中承载的信号的示意图,如图7c所示,一个D码块可以承载64比特的数据,4个D码块可以承载第三业务数据流中的1个n 0比特块。
第一码块流中的一个数据单元承载多路信号的情况下,可以承载一个时钟频率信息。以第一数据单元为例,第一数据单元可以包括:第一业务数据流中的k个第一数据帧对应的比特,Q 0条第二业务数据流中每个第二业务数据流的k个第三数据帧对应的比特,以及第一时钟频率信息。第一数据单元可以仅包括第一时钟频率信息,这种情况下第一时钟频率信息可以指示第一业务数据流的k个第一数据帧的传输时长之外,还用于指示第三时钟频率信息对应的第二业务数据流的k个第三数据帧的传输时长。k个第一数据帧的传输时长与第二业务数据流的k个第三数据帧的传输时长相等。
又一种可能的实施方式中,第一数据单元还可以包括多个时钟频率信息。比如,第一数据单元除了包括第一时钟频率信息之外,还可以包括Q 0条第二业务数据流对应的Q 0个第三时钟频率信息。其中,Q 0个第三时钟频率信息中的第三时钟频率信息用于指示第二业务数据流的k个第三数据帧的传输时长。
相对应的,第二通信装置侧可以在获取到第一码块流之后,对第一码块流进行解封装,得到第三业务数据流。进一步的,第二通信装置可以以连续n 0个比特组成的比特块为单位,对第一码块流进行解复用,得到第一业务数据流和Q 0条第二业务数据流。
实施方式c2:
在实施方式c2中,第一通信装置以N 1个数据单元(N 1为正整数)为单位,对第一业务数据流和Q 0条第二业务数据流中对应的码块流中的数据单元进行复用,得到第一码块流。
在实施方式c2中,第一通信装置可以对第一业务数据流进行处理,生成第二码块流。该过程可以参见前述图5a所示的过程,第一业务数据流可以为业务数据流1,第二码块流可以为码块流2。
另一方面,第一通信装置可以对Q 0条第二业务数据流进行处理,生成Q 0条第三码块流。该过程可以参见前述图5a所示的过程,第二业务数据流可以为业务数据流1,该第二业务数据流对应的第三码块流可以为码块流2。
进一步,第一通信装置对Q 0条第三码块流和第二码块流中的数据进行复用,得到第一码块流。比如第二通信装置可以根据Q 0条第三码块流和第二码块流之间的预设的排序,以N 1个数据单元为单位,对Q 0条第三码块流和第二码块流中的数据单元进行复用,得到第一码块流。
图7d示例性示出了一种第一通信装置以一个数据单元为单位,对Q 0条第三码块流和第二码块流中的数据单元进行复用的方案示意图,如图7d所示,第一通信装置以1个数据单元为单元,对Q 0条第三码块流和第二码块流中的数据进行复用,得到码块流3。进一步,可以在码块流3的数据单元之间添加Idle码块,以进行速率适配。添加了Idle码块的码块流3可以理解为第一码块流。
一种可能是实现中,可以在每个数据单元中携带一个时钟频率信息。比如可以在第一数据单元中携带第一时钟频率信息。第二码块流包括第一数据单元,第一数据单元包括第一时钟频率信息和k个第一数据帧。针对一条第三码块流,该第三码块流中的一个数据单 元可以携带该第三码块流对应的第二业务数据流的k个第三数据帧和第三时钟频率信息,该第三时钟频率信息用于指示第二业务数据流的k个第三数据帧的传输时长。
又一种可能的实施方式中,第一码块流中的连续多个数据单元可以共用一个时钟频率信息。也就是说可以仅仅在第二码块流中的数据单元携带时钟频率信息,而在Q 0条第三码块流中均不携带时钟频率信息。如图7d所示,连续的4个数据单元分别来自4路信号,假设该4个数据单元中包括第一数据单元,第一数据单元包括第一时钟频率信息和k个第一数据帧。第一码块流中该4个连续的数据单元中除了第一数据单元之外的其余三个数据单元均不携带时钟频率信息。这种情况下,该4个数据单元共用第一数据单元中的第一时钟频率信息。也就是说,第一时钟频率信息不仅用于指示k个第一数据帧的传输时长,还用于指示该4个数据单元中其余三个数据单元中每个数据单元承载的k个第三数据帧的传输时长。
进一步,可以结合前述的实施方式,第一通信装置可以在第一码块流的每个数据单元中设置SEQ字段,SEQ字段可以占用3比特,用于指示0-7(共8个值)。SEQ字段的值随着数据单元的数量递增,比如当前数据单元的SEQ字段的值为0,则下一个数据单元的SEQ字段的值加1,为1;下下个数据单元的SEQ字段的值加1,为2,以此类推,当SEQ字段的值到7之后,重新从0开始取值。
举个例子,N 1为1,W 1的值为1,第一业务数据流的k个第一数据帧承载于1个第一数据单元中。第一码块流的SEQ值为0的数据单元为承载第一业务数据流的k个数据帧(比如为k个第一数据帧)的数据单元(来自第二码块流的数据单元),第一码块流的SEQ值为1的数据单元为承载第二业务数据流1的k个数据帧的数据单元,第一码块流的SEQ值为2的数据单元为承载第二业务数据流2的k个数据帧的数据单元,第一码块流的SEQ值为3的数据单元为承载第二业务数据流3的k个数据帧的数据单元。SEQ值为0的数据单元中承载有时钟频率信息(比如为第一时钟频率信息),则SEQ字段的值为0的数据单元中承载的时钟频率信息可以指示当前的数据单元中承载的来自于第一业务数据流的所有数据帧的传输时长,还可以指示当前的数据单元之后SEQ字段值为1的数据单元中承载的来自于第二业务数据流1的所有数据帧的传输时长,还可以指示当前的数据单元之后SEQ字段值为2的数据单元中承载的来自于第二业务数据流2的所有数据帧的传输时长,还可以指示当前的数据单元之后SEQ字段值为3的数据单元中承载的来自于第二业务数据流3的所有数据帧的传输时长。该SEQ字段值为1、2和3的数据单元中均不携带时钟频率信息。
类似的,第一码块流的SEQ值为4的数据单元(来自第二码块流的数据单元)为承载第一业务数据流的k个数据帧的数据单元,第一码块流的SEQ值为5的数据单元为承载第二业务数据流1的k个数据帧的数据单元,第一码块流的SEQ值为6的数据单元为承载第二业务数据流2的k个数据帧的数据单元,第一码块流的SEQ值为7的数据单元为承载第二业务数据流3的k个数据帧的数据单元。SEQ值为4的数据单元中承载有时钟频率信息。SEQ字段的值为4的数据单元中承载的时钟频率信息可以指示当前的数据单元中承载的来自于第一业务数据流的所有数据帧的传输时长,还可以指示当前的数据单元之后SEQ字段值为5的数据单元中承载的来自于第二业务数据流1的所有数据帧的传输时长,还可以指示当前的数据单元之后SEQ字段值为6的数据单元中承载的来自于第二业务数据流2的所有数据帧的传输时长,还可以指示当前的数据单元之后SEQ字段值为7的数据单元中承载 的来自于第二业务数据流3的所有数据帧的传输时长。该SEQ字段值为5、6和7的数据单元中均不携带时钟频率信息。
相对应的,第二通信装置可以从第一码块流中去除填充信息(比如Idle码块),得到码块流3。进一步,第二通信装置可以对码块流3进行解复用,比如以N 1个数据单元为单元对第一码块流进行解复用,从而得到Q 0条第三码块流和第二码块流。第二通信装置可以从第二码块流中得到第一业务数据流的k个第一数据帧和第一时钟频率信息。针对Q 0条第三码块流中的第三码块流,第二通信装置还可以对该第三码块流进行处理,得到该第三码块流对应的第二业务数据流中的k个第三数据帧。
本申请实施例提供的方案可以适用于大颗粒管道,这种情况下,第一通信装置在上述S303之前,还可以获取Q 1条第四码块流,Q 1为正整数。在上述S303中,第一码块流可以根据Q 1条第四码块流和第一码块流分别与S 1个第一时隙之间的对应关系,对Q 1条第四码块流和第一码块流中的码块进行时分复用,得到第五码块流,发送第五码块流。Q 1条第四码块流和第一码块流中的一条码块流对应S 1个第一时隙中的至少一个第一时隙。S 1为不小于(Q 1+1)的整数。
相对应的,第二通信装置获取第五码块流,根据Q 1条第四码块流和第一码块流分别与S 1个第一时隙之间的对应关系,对第五码块流进行解复用,得到Q 1条第四码块流和第一码块流。
该方案可以结合前述图2a来看,当本申请实施例提供的方案应用于大颗粒管道的场景时,第一码块流以及Q 1条第四码块流均可以为大颗粒管道对应的码块流(比如图2a中的码块流511、码块流611和码块流411等)。第五码块流可以为前述图2a的码块流1211。第一时隙可以为图2a中提到的大颗粒管道对应的时隙,比如一个第一时隙可以对应1个5G的时隙。
下面以FlexE一个时隙粒度5Gbps的通道为大颗粒管道进行介绍,需要说明是,本申请实施例中一个大颗粒管道的带宽不限于5Gbps,比如也可以为6Gbps、7Gbps等。
图8示例性示出了本申请实施例提供的一种灵活以太网协议的帧格式(码块流1211的数据帧格式)的结构示意图,前述图2a中第一通信装置输出的码块流1211中的帧格式可以为灵活以太网协议的帧格式,如图8所示,基于灵活以太网协议可以物理端口的传输构建固定帧格式,并进行基于TDM的时隙划分。对于100GE PHY端口,数据码块流可以由以20为周期的64B/66B码块组成,对应20个时隙,每个时隙带宽为5Gbps,称为一个时隙(slot)。
大颗粒管道对应的码块流依据20个时隙进行复用,构建时分复用帧。
如图8所示,灵活以太网可以基于64B/66B码块构建的时分复用帧结构。FlexE每个PHY上的数据通过周期性插入FlexE开销(OH)的码块来实现对齐,比如可以是每隔1023 x 20个66B的净荷数据码块插入1个66B的开销码块FlexE OH。
如图8所示,8行(每行包括1个OH的码块+1023 x 20数据(Data))的66B码块构成一个灵活以太网协议下的协议帧(协议帧也可以称为基本帧、基帧、单帧等)。如图8所示。32个灵活以太网协议下的协议帧构成一个灵活以太网协议下的复帧。
一种可能的实施方案中,FlexE OH中可以定义OH中定义了两个管理通道,管理通道可以用于运行基于64B/66B码块流编码的1.2Mb/s和1.8Mb/s的两个以太网协议的管理、 OAM通信链路。进一步,本申请实施例中可以在100GE物理层的场景采取的是64B/66B编码。ITU-T MTN重用FlexE帧结构,所以其帧结构与之相同,不再赘述。
又一种可能的实施方式中,本申请实施例提供的方案可以适用于小颗粒管道,这种情况下,第一通信装置在上述S303之前,还可以获取Q 1条第四码块流,Q 1为正整数。在上述S303中,第一码块流可以根据Q 1条第四码块流和第一码块流分别与S 1个第一时隙之间的对应关系,对Q 1条第四码块流和第一码块流中的码块进行时分复用,得到第五码块流。Q 1条第四码块流和第一码块流中的一条码块流对应S 1个第一时隙中的至少一个第一时隙。S 1为不小于(Q 1+1)的整数。
进一步,第一通信装置获取Q 2条第六码块流,Q 2为正整数。第一通信装置根据Q 2条第六码块流和第五码块流分别与S 2个第二时隙之间的对应关系,对Q 2条第六码块流和第五码块流中的码块进行时分复用,得到第七码块流,发送第七码块流。其中,Q 2条第六码块流和第五码块流中的一条码块流对应S 2个第二时隙中的至少一个第二时隙。S 2为不小于(Q 2+1)的整数。第五码块流对应的第二时隙划分为S 1个第一时隙。
相对应的,第二通信装置获取第七码块流,根据S 2个第二时隙与Q 2条第六码块流和第五码块流之间的对应关系,对第七码块流解复用,得到Q 2条第六码块流和第五码块流。进一步,第二通信装置获取第五码块流,根据Q 1条第四码块流和第一码块流分别与S 1个第一时隙之间的对应关系,对第五码块流进行解复用,得到Q 1条第四码块流和第一码块流。
该方案可以结合前述图2a来看,当本申请实施例提供的方案应用于小颗粒管道的场景时,第一码块流以及Q 1条第四码块流均可以为图2a中的小颗粒管道对应的码块流(比如小颗粒业务1、小颗粒业务2等对应的码块流)。第五码块流可以为前述图2a的码块流411。第一时隙可以对应图2a中提到的小颗粒管道对应的子时隙,比如一个第一时隙可以对应1个10M的子时隙。Q 2条第六码块流大颗粒管道对应的码块流(比如图2a中的码块流511和码块流611等)。第七码块流可以为图2a中的码块流1211。第二时隙可以为图2a中提到的大颗粒管道对应的时隙,比如一个第二时隙可以对应1个5G的时隙。
下面结合图2a以及图9a和图9b对小颗粒时隙中的灵活小颗粒(fine granularity basic unit,fgBU)帧格式进行介绍。
本申请实施例中对一个大颗粒管道进行划分,可以得到至少两个小颗粒管道。一个小颗粒管道的带宽小于该小颗粒管道所属的大颗粒管道的带宽。本申请实施例中以一个大颗粒管道为5Gbps,一个小颗粒管道为10Mbps为例进行示意性说明。两个大颗粒管道对应的带宽可以相等,也可以不等。一个大颗粒管道划分得到的任意两个小颗粒管道的带宽可以相等也可以不等。为了更清楚的介绍本申请实施例,后续内容以每个大颗粒管道的带宽均为5Gbps,每个小颗粒管道均为10Mbps为例进行说明。一个大颗粒管道对应的一个时隙可以划分为480个子时隙,进一步可以建立该480个子时隙与小颗粒业务的对应关系,进而可以根据该对应关系对各个小颗粒业务的数据进行复用。
图9a示例性示出了本申请实施例提供的一种灵活小颗粒帧(fine granularity basic unit,fgBU)(小颗粒业务1对应的码块流)格式。大颗粒管道40输出的码块流是对多个小颗粒管道上的数据进行复用后得到的,即大颗粒管道40输出的码块流411中的帧格式即可以称为fgBU帧格式。如图9a所示,大颗粒管道40划分为480个小颗粒管道401,一个小颗粒管道对应一个子时隙,根据子时隙和小颗粒业务的对应关系,对各个小颗粒业务进行复用,得 到复用后的码块流(图中示意为大颗粒管道40输出的码块流)。
对小颗粒业务进行复用后的码块流中包括至少一个复帧,其中一个复帧包括20个基本帧(如图9a中的基本帧0至基本帧19),一个基本帧中包括24个子时隙资源。一个复帧可以包括一个大颗粒管道的所有的480个子时隙资源。本申请实施例中的基本帧也可以称为小颗粒基本单元(Fine Granularity Basic Unit,fgBU)、小颗粒基帧。
如图9a所示,基本帧的帧结构可以为1个S码块+195个D码块+1个T码块构成,其总长度为197个66b码块。其中,S码块后的第一个数据码块中承载开销信息,且可承载开销信息的位置共有7*8bit=56bit。其中,在单个基本帧包括的24个子时隙资源中,一个子时隙资源上可以传输8个65比特的码块。
图9b示例性示出了一种码块流411的基本帧0的示意图,如图9b所示,小颗粒业务1对应的子时隙为子时隙0和1,比如对小颗粒业务1的带宽进行了增加,现在小颗粒业务1还分配了子时隙7。小颗粒业务2分配的子时隙为子时隙2。Q 1个客户中的一个客户可以对应一个大颗粒管道包括的480个子时隙中的一个或多个子时隙。480个子时隙中也可以存在一个或多个子时隙,并未分配客户。
第一通信装置可以对小颗粒业务1对应的数据进行封装,得到小颗粒业务1对应的码块流,对小颗粒业务2对应的数据进行封装,得到小颗粒业务2对应的码块流。第一通信装置可以根据小颗粒业务1和小颗粒业务2与子时隙的对应关系,对小颗粒业务1对应的码块流和小颗粒业务2对应的码块流进行复用,得到码块流4。
图9b中码块流中的码块为64比特/66比特的码块为例进行展示。进一步,对码块流4中的码块的同步头区域进行压缩,得到码块流5。具体压缩方式比如可以为将占2比特的同步头区域压缩为占1比特的同步头区域。比如同步头为01,压缩后为0,同步头为10,压缩后为1。进一步,第一通信装置可以将码块流5的比特放入码块流411中的负荷(payload)区域。也可以说将第四码块流中的比特封装为fgBU帧(基本帧0)。
请继续参阅图9b,一个基本帧(也可以称为fgBU帧)中承载24个子时隙对应的数据。一个fgBU帧格式可以包含以下四个部分:
fgBU封装头(preamble):fgBU边界定位,可以兼容以太网preamble,兼容X-Ethernet/MTN大颗粒管道以及以太网速率适配。
fgBU开销(OH):用于承载开销信息。
fgBU净荷(Payload):承载业务数据,可以包括fgBU帧第一个S码块之后的D码块中除56比特OH信息之外的比特、其余D码块中的净荷区域,还可以包括T码块上可以用于承载业务数据的比特(比如T7码块中同步头区域之外的比特)。
fgBU封装尾(T7):兼容以太网标准T7码块(码块类型0xFF),建议在封装尾后增加一个idle码块。
以太硬专线小颗粒fgBU为固定长度,197个64B/66B码块(编码前为1567字节),包含:7字节的fgBU开销,1560字节payload;另外加上8字节preamble、1字节的EFD和8字节IPG(典型速率下,每个编码后fgBU跟一个idle码块)。
还有另外一种生成码块流411的方式,比如可以在码块流411中的一个区域承载指示信息,该指示信息用于指示该复帧中承载的来自码块流5中的码块的同步头区域所承载的信息,该指示信息可以是将各个码块的压缩后的1比特同步头区域提取处理,统一放在一个预设区域,比如可以放在OH信息之后。之后仅将码块流5中每个码块的除同步头区域 之外的64比特依次放入码块流411的payload区域。在第二通信装置可以根据该指示信息恢复出码块流5中码块的同步头区域。
可以理解的是,为了实现上述实施例中功能,通信装置包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
图10、图11和图12为本申请的实施例提供的可能的通信装置的结构示意图。这些通信装置可以用于实现上述方法实施例中第一通信装置的功能,因此也能实现上述方法实施例所具备的有益效果。这些通信装置也可以用于实现上述方法实施例中第二通信装置的功能,因此也能实现上述方法实施例所具备的有益效果。在本申请的实施例中,该通信装置可以是如图1a和图2a中的发送端装置或第一通信装置,还可以是应用于发送端装置或第一通信装置的模块(如芯片)。在本申请的实施例中,该通信装置可以是如图1a和图2a中的接收端装置或第二通信装置,还可以是应用于接收端装置或第二通信装置的模块(如芯片)。
如图10所示,通信装置1300包括处理单元1310和收发单元1320。通信装置1300用于实现上述图3所示的方法实施例中第一通信装置的功能。
当通信装置1300用于实现图3所示的方法实施例中第一通信装置的功能时:处理单元1310用于通过收发单元1320执行:接收第一业务数据流。根据第一业务数据流,生成第一码块流,第一码块流中包括第一时钟频率信息;第一时钟频率信息用于指示:第一业务数据流的k个第一数据帧的传输时长,和/或,接收到第一业务数据流的k个第一数据帧的时刻。发送第一码块流。
当通信装置1300用于实现图3所示的方法实施例中第一通信装置的功能时:处理单元1310还用于通过收发单元1320执行:接收Q 0条第二业务数据流,Q 0为正整数。根据第一业务数据流和Q 0条第二业务数据流,生成第一码块流。其中,第一时钟频率信息还用于指示Q 0条第二业务数据流中每个第二业务数据流的k个第三数据帧的传输时长和/或第一通信装置接收到k个第三数据帧的时刻。
当通信装置1300用于实现图3所示的方法实施例中第一通信装置的功能时:处理单元1310还用于通过收发单元1320执行:根据第一业务数据流和Q 0条第二业务数据流之间的预设的排序,以连续n 0个比特组成的比特块为单位,对第一业务数据流和Q 0条第二业务数据流中的比特块进行复用,得到第三业务数据流;n 0为正整数;根据第三业务数据流,生成第一码块流。
当通信装置1300用于实现图3所示的方法实施例中第一通信装置的功能时:处理单元1310还用于通过收发单元1320执行:对Q 0条第二业务数据流进行处理,生成Q 0条第三码块流;对第一业务数据流进行处理,生成第二码块流;第二码块流包括第一时钟频率信息;第二码块流包括第一时钟频率信息和k个第一数据帧;对Q 0条第三码块流和第二码块流中的数据进行复用,得到第一码块流。
当通信装置1300用于实现图3所示的方法实施例中第一通信装置的功能时:处理单元1310还用于通过收发单元1320执行:根据Q 0条第三码块流和第二码块流之间的预设的 排序,以N 1个数据单元为单元,对Q 0条第三码块流和第二码块流中的数据单元进行复用,得到第一码块流,N 1为正整数。
当通信装置1300用于实现图3所示的方法实施例中第一通信装置的功能时:处理单元1310还用于通过收发单元1320执行:获取Q 1条第四码块流,Q 1为正整数;根据Q 1条第四码块流和第一码块流分别与S 1个第一时隙之间的对应关系,对Q 1条第四码块流和第一码块流中的码块进行时分复用,得到第五码块流;Q 1条第四码块流和第一码块流中的一条码块流对应S 1个第一时隙中的至少一个第一时隙;S 1为不小于(Q 1+1)的整数;发送第五码块流。
当通信装置1300用于实现图3所示的方法实施例中第一通信装置的功能时:处理单元1310还用于通过收发单元1320执行:获取Q 2条第六码块流,Q 2为正整数;根据Q 2条第六码块流和第五码块流分别与S 2个第二时隙之间的对应关系,对Q 2条第六码块流和第五码块流中的码块进行时分复用,得到第七码块流;其中,Q 2条第六码块流和第五码块流中的一条码块流对应S 2个第二时隙中的至少一个第二时隙;S 2为不小于(Q 2+1)的整数;第五码块流对应的第二时隙划分为S 1个第一时隙;发送第七码块流。
如图10所示,通信装置1300包括处理单元1310和收发单元1320。通信装置1300用于实现上述图3所示的方法实施例中第二通信装置的功能。
当通信装置1300用于实现图3所示的方法实施例中第二通信装置的功能时:处理单元1310用于通过收发单元1320执行:获取第一码块流;第一码块流中包括第一时钟频率信息;第一时钟频率信息用于指示:第一业务数据流的k个第一数据帧的传输时长,和/或,接收到第一业务数据流的k个第一数据帧的时刻。从第一码块流中获取k个第一数据帧和第一时钟频率信息;根据第一时钟频率信息,发送k个第一数据帧。
当通信装置1300用于实现图3所示的方法实施例中第二通信装置的功能时:处理单元1310还用于通过收发单元1320执行:从第一码块流中获取第二时钟频率信息和k个第二数据帧;第二时钟频率信息用于指示:第一业务数据流的k个第二数据帧的传输时长,和/或,第一通信装置接收到第一业务数据流的k个第二数据帧的时刻。根据第二时钟频率信息,发送k个第二数据帧。
当通信装置1300用于实现图3所示的方法实施例中第二通信装置的功能时:处理单元1310还用于通过收发单元1320执行:从第一码块流获取第一时钟频率信息;对第一码块流进行解复用,得到第一业务数据流和Q 0条第二业务数据流,Q 0为正整数;其中,第一时钟频率信息还用于指示Q 0条第二业务数据流中每个第二业务数据流的k个第三数据帧的传输时长和/或第一通信装置接收到k个第三数据帧的时刻。
当通信装置1300用于实现图3所示的方法实施例中第二通信装置的功能时:处理单元1310还用于通过收发单元1320执行:以连续n 0个比特组成的比特块为单位,对第一码块流进行解复用,得到第一业务数据流和Q 0条第二业务数据流。
当通信装置1300用于实现图3所示的方法实施例中第二通信装置的功能时:处理单元1310还用于通过收发单元1320执行:对第一码块流进行解复用,得到Q 0条第三码块流和第二码块流;第二码块流包括第一时钟频率信息和k个第一数据帧;从第二码块流中得到第一业务数据流和第一时钟频率信息;从Q 0条第三码块流得到Q 0条第二业务数据流。
当通信装置1300用于实现图3所示的方法实施例中第二通信装置的功能时:处理单元1310还用于通过收发单元1320执行:以N 1个数据单元为单元,对第一码块流进行解复用,得到Q 0条第三码块流和第二码块流,N 1为正整数。
当通信装置1300用于实现图3所示的方法实施例中第二通信装置的功能时:处理单元1310还用于通过收发单元1320执行:获取第五码块流;根据Q 1条第四码块流和第一码块流分别与S 1个第一时隙之间的对应关系,对第五码块流进行解复用,得到Q 1条第四码块流和第一码块流;其中,Q 1条第四码块流和第一码块流中的一条码块流对应S 1个第一时隙中的至少一个第一时隙;S 1为不小于(Q 1+1)的整数。
当通信装置1300用于实现图3所示的方法实施例中第二通信装置的功能时:处理单元1310还用于通过收发单元1320执行:获取第七码块流;根据S 2个第二时隙与Q 2条第六码块流和第五码块流之间的对应关系,对第七码块流解复用,得到Q 2条第六码块流和第五码块流;其中,Q 2条第六码块流和第五码块流中的一条码块流对应S 2个第二时隙中的至少一个第二时隙;第五码块流对应的第二时隙划分为S 1个第一时隙;S 2为不小于(Q 2+1)的整数。
有关上述方案中的相关内容,以及处理单元1310和收发单元1320更详细的描述可以直接参考图3所示的方法实施例中相关描述直接得到,这里不加赘述。
如图11所示,通信装置1400包括处理电路1410和接口电路1420。处理电路1410和接口电路1420之间相互耦合。可以理解的是,接口电路1420可以为收发器或输入输出接口。可选的,通信装置1400还可以包括存储器,用于存储处理电路执行的指令或存储处理电路1410运行指令所需要的输入数据或存储处理电路1410运行指令后产生的数据。
当通信装置1400用于实现图3所示的方法时,处理电路1410用于实现上述处理单元1310的功能,接口电路1420用于实现上述收发单元1320的功能。
如图12所示,通信装置1500包括处理器1510和通信接口1520。处理器1510和通信接口1520之间相互耦合。可以理解的是,通信接口1520可以为收发器或输入输出接口。可选的,通信装置1500还可以包括存储器1530,用于存储处理器1510执行的指令或存储处理器1510运行指令所需要的输入数据或存储处理器1510运行指令后产生的数据。
当通信装置1500用于实现图3所示的方法时,处理器1510用于实现上述处理单元1310的功能,通信接口1520用于实现上述收发单元1320的功能。
当通信装置1500用于实现图3所示的方法实施例中第一通信装置的功能时:处理器1510用于通过通信接口1520执行:接收第一业务数据流。根据第一业务数据流,生成第一码块流,第一码块流中包括第一时钟频率信息;第一时钟频率信息用于指示:第一业务数据流的k个第一数据帧的传输时长,和/或,接收到第一业务数据流的k个第一数据帧的时刻。发送第一码块流。
当通信装置1500用于实现图3所示的方法实施例中第二通信装置的功能时:处理器1510用于通过通信接口1520执行:获取第一码块流;第一码块流中包括第一时钟频率信息;第一时钟频率信息用于指示:第一业务数据流的k个第一数据帧的传输时长,和/或,接收到第一业务数据流的k个第一数据帧的时刻。从第一码块流中获取k个第一数据帧和第一时钟频率信息。根据第一时钟频率信息,发送k个第一数据帧。
当上述通信装置为应用于通信装置的芯片时,该通信装置芯片实现上述方法实施例中通信装置的功能。该通信装置芯片从通信装置中的其它模块(如射频模块或天线)接收信 息,该信息是网络设备发送给通信装置的;或者,该通信装置芯片向通信装置中的其它模块(如射频模块或天线)发送信息,该信息是通信装置发送给网络设备的。
可以理解的是,本申请的实施例中的处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其它可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
根据本申请实施例提供的方法,本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序或指令,当该计算机程序或指令在计算机上运行时,使得该计算机执行图3所示实施例中任意一个实施例的方法。
根据本申请实施例提供的方法,本申请还提供一种计算机可读存储介质,该计算机可读介质存储有程序或指令,当该程序或指令在计算机上运行时,使得该计算机执行图3所示实施例中任意一个实施例的方法。
根据本申请实施例提供的方法,本申请还提供一种芯片系统,该芯片系统可以包括处理器。该处理器与存储器耦合,可用于执行图3所示实施例中任意一个实施例的方法。可选地,该芯片系统还包括存储器。存储器,用于存储计算机程序(也可以称为代码,或指令)。处理器,用于从存储器调用并运行计算机程序,使得安装有芯片系统的装置执行图3所示实施例中任意一个实施例的方法。
根据本申请实施例提供的方法,本申请还提供一种系统,其包括前述的第一通信装置和第二通信装置。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存(flash)、只读存储器(Read-Only Memory,ROM)、可编程只读存储器、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦除可编程只读存储器、寄存器、硬盘、固态硬盘(solid-state drive,SSD)、移动硬盘、便携式只读存储器(Compact Disc Read-Only Memory,CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于通信装置中。当然,处理器和存储介质也可以作为分立组件存在于通信装置中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行计算机程序或指令时,全部或部分地执行本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如, 数字视频光盘;还可以是半导体介质,例如,固态硬盘。该计算机可读存储介质可以是易失性或非易失性存储介质,或可包括易失性和非易失性两种类型的存储介质。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
本申请中,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。在本申请的文字描述中,字符“/”,一般表示前后关联对象是一种“或”的关系;在本申请的公式中,字符“/”,表示前后关联对象是一种“相除”的关系。“包括A,B或C中的至少一个”可以表示:包括A;包括B;包括C;包括A和B;包括A和C;包括B和C;包括A、B和C。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。

Claims (52)

  1. 一种通信方法,其特征在于,所述方法包括:
    接收第一业务数据流;
    根据所述第一业务数据流,生成第一码块流,所述第一码块流中包括第一时钟频率信息;所述第一时钟频率信息用于指示:所述第一业务数据流的k个第一数据帧的传输时长,和/或,接收到所述第一业务数据流的k个第一数据帧的时刻;所述k为正整数;
    发送所述第一码块流。
  2. 如权利要求1所述的方法,其特征在于,所述根据所述第一业务数据流,生成第一码块流之前,还包括:
    接收Q 0条第二业务数据流,所述Q 0为正整数;
    所述根据所述第一业务数据流,生成第一码块流,包括:
    根据所述第一业务数据流和所述Q 0条第二业务数据流,生成所述第一码块流;
    其中,所述第一时钟频率信息还用于指示所述Q 0条第二业务数据流中每个第二业务数据流的k个第三数据帧的传输时长,和/或接收到所述k个第三数据帧的时刻。
  3. 如权利要求2所述的方法,其特征在于,所述Q 0条第二业务数据流与所述第一业务数据流的源端的通信装置相同,所述Q 0条第二业务数据流与所述第一业务数据流的宿端的通信装置相同。
  4. 如权利要求2或3所述的方法,其特征在于,所述根据所述第一业务数据流和所述Q 0条第二业务数据流,生成所述第一码块流,包括:
    根据所述第一业务数据流和所述Q 0条第二业务数据流之间的预设的排序,以连续n 0个比特组成的比特块为单位,对所述第一业务数据流和所述Q 0条第二业务数据流中的比特块进行复用,得到第三业务数据流;所述n 0为正整数;
    根据所述第三业务数据流,生成所述第一码块流。
  5. 如权利要求2或3所述的方法,其特征在于,所述根据所述第一业务数据流和所述Q 0条第二业务数据流,生成所述第一码块流,包括:
    对所述Q 0条第二业务数据流进行处理,生成Q 0条第三码块流;
    对所述第一业务数据流进行处理,生成第二码块流;所述第二码块流包括所述第一时钟频率信息和所述k个第一数据帧;
    对所述Q 0条第三码块流和所述第二码块流中的数据进行复用,得到所述第一码块流。
  6. 一种通信方法,其特征在于,所述方法包括:
    获取第一码块流;所述第一码块流中包括第一时钟频率信息;所述第一时钟频率信息用于指示:所述第一业务数据流的k个第一数据帧的传输时长,和/或,接收到所述第一业务数据流的k个第一数据帧的时刻;所述k为正整数;
    从所述第一码块流中获取所述k个第一数据帧和所述第一时钟频率信息;
    根据所述第一时钟频率信息,发送所述k个第一数据帧。
  7. 如权利要求6所述的方法,其特征在于,所述从所述第一码块流中获取所述k个第一数据帧和所述第一时钟频率信息,包括:
    从所述第一码块流获取所述第一时钟频率信息;
    对所述第一码块流进行解复用,得到所述第一业务数据流的所述k个第一数据帧,以及Q 0条第二业务数据流,所述Q 0为正整数;
    其中,所述第一时钟频率信息还用于指示所述Q 0条第二业务数据流中每个第二业务数据流的k个第三数据帧的传输时长,和/或接收到所述k个第三数据帧的时刻。
  8. 如权利要求6或7所述的方法,其特征在于,所述Q 0条第二业务数据流与所述第一业务数据流的源端的通信装置相同,所述Q 0条第二业务数据流与所述第一业务数据流的宿端的通信装置相同。
  9. 如权利要求7或8所述的方法,其特征在于,所述对所述第一码块流进行解复用,得到所述第一业务数据流和Q 0条第二业务数据流,包括:
    以连续n 0个比特组成的比特块为单位,对所述第一码块流进行解复用,得到第一业务数据流和所述Q 0条第二业务数据流。
  10. 如权利要求7或8所述的方法,其特征在于,所述从所述第一码块流获取所述第一时钟频率信息,对所述第一码块流进行解复用,得到所述第一业务数据流和Q 0条第二业务数据流,包括:
    对所述第一码块流进行解复用,得到Q 0条第三码块流和第二码块流;所述第二码块流包括所述第一时钟频率信息和所述k个第一数据帧;
    从所述第二码块流中得到所述第一业务数据流和所述第一时钟频率信息;
    从所述Q 0条第三码块流得到所述Q 0条第二业务数据流。
  11. 如权利要求1-10任一项所述的方法,其特征在于,所述第一时钟频率信息包括:
    所述k个第一数据帧中第1个数据帧的帧头的接收时刻。
  12. 如权利要求1-11任一项所述的方法,其特征在于,所述第一时钟频率信息包括:
    所述k个第一数据帧中第k个第一数据帧的帧尾的接收时刻。
  13. 如权利要求1-10任一项所述的方法,其特征在于,所述第一时钟频率信息包括:
    第一计数值;
    其中,所述第一计数值为第一通信装置在接收所述k个第一数据帧的时长内,所述第一通信装置的本地时钟信号的时钟频率的周期数。
  14. 如权利要求1-10任一项所述的方法,其特征在于,所述第一时钟频率信息包括:
    第二计数值;
    其中,所述第二计数值为第一计数值和预设计数值之间的差值;所述第一计数值为第一通信装置在接收所述k个第一数据帧的时长内,所述第一通信装置的本地时钟信号的时钟频率的周期数。
  15. 如权利要求1-10任一项所述的方法,其特征在于,所述第一时钟频率信息包括:
    所述第二计数值和所述预设计数值;
    其中,所述第二计数值为第一计数值和预设计数值之间的差值;所述第一计数值为第一通信装置在接收所述k个第一数据帧的时长内,所述第一通信装置的本地时钟信号的时钟频率的周期数。
  16. 如权利要求1-10任一项所述的方法,其特征在于,所述第一时钟频率信息包括:
    第一时长,所述第一时长为所述k个第一数据帧的传输时长。
  17. 如权利要求1-10任一项所述的方法,其特征在于,所述第一时钟频率信息包括:
    第三计数值;
    其中,所述第三计数值为第二时长内所述第一通信装置的本地时钟信号的时钟频率的周期数,所述第二时长为从预设时刻起始截止至所述k个第一数据帧中第1个第一数据帧的帧头的接收时刻的时长。
  18. 如权利要求1-10任一项所述的方法,其特征在于,所述第一时钟频率信息包括:
    所述第二时长;
    其中,所述第二时长为从预设时刻起始截止至所述k个第一数据帧中第1个第一数据帧的帧头的接收时刻的时长。
  19. 如权利要求1-10任一项所述的方法,其特征在于,所述第一时钟频率信息包括:
    第四计数值;
    其中,所述第四计数值为第三时长内所述第一通信装置的本地时钟信号的时钟频率的周期数,所述第三时长为从预设时刻起始截止至所述k个第一数据帧中第k个第一数据帧的帧尾的接收时刻的时长。
  20. 如权利要求1-10任一项所述的方法,其特征在于,所述第一时钟频率信息包括:
    所述第三时长;
    其中,所述第三时长为从预设时刻起始截止至所述k个第一数据帧中第k个第一数据帧的帧尾的接收时刻的时长。
  21. 如权利要求1-20任一项所述的方法,其特征在于,所述第一码块流还包括第二时钟频率信息;所述第二时钟频率信息用于指示:所述第一业务数据流的k个第二数据帧的传输时长,和/或,接收到所述第一业务数据流的k个第二数据帧的时刻。
  22. 如权利要求1-21任一项所述的方法,其特征在于,所述第一码块流包括第一数据单元组,所述第一数据单元组包括W 1个第一数据单元,所述W 1为正整数;所述第一时钟频率信息承载于所述W 1个第一数据单元中的至少一个第一数据单元的以下内容中的至少一项:
    头码块、至少一个数据码块、尾码块,或操作维护管理码块。
  23. 如权利要求22所述的方法,其特征在于,所述k个第一数据帧对应的比特承载于所述W 1个第一数据单元中第一数据单元的以下内容中的一项:
    所述至少一个数据码块中数据码块的净荷区域;或,
    所述至少一个数据码块中数据码块的净荷区域和所述尾码块。
  24. 如权利要求1-21任一项所述的方法,其特征在于,所述第一码块流包括第一数据单元组,所述第一数据单元组包括W 1个第一数据单元,所述W 1为正整数;所述第一时钟频率信息承载于所述W 1个第一数据单元中的至少一个第一数据单元的以下内容中的至少一项:
    开销区域,或净荷区。
  25. 如权利要求22-24任一项所述的方法,其特征在于,所述W 1个第一数据单元中的至少一个第一数据单元承载第一指示信息,所述第一指示信息用于指示承载所述第一指示信息的第一数据单元中承载有所述第一时钟频率信息。
  26. 一种通信装置,其特征在于,包括处理单元和收发单元,所述处理单元通过所述收发单元,用于:
    接收第一业务数据流;
    根据所述第一业务数据流,生成第一码块流,所述第一码块流中包括第一时钟频率信息;所述第一时钟频率信息用于指示:所述第一业务数据流的k个第一数据帧的传输时长,和/或,接收到所述第一业务数据流的k个第一数据帧的时刻;所述k为正整数;
    发送所述第一码块流。
  27. 如权利要求26所述的装置,其特征在于,所述处理单元通过所述收发单元,还用于:
    接收Q 0条第二业务数据流,所述Q 0为正整数;
    所述根据所述第一业务数据流,生成第一码块流,包括:
    根据所述第一业务数据流和所述Q 0条第二业务数据流,生成所述第一码块流;
    其中,所述第一时钟频率信息还用于指示所述Q 0条第二业务数据流中每个第二业务数据流的k个第三数据帧的传输时长,和/或接收到所述k个第三数据帧的时刻。
  28. 如权利要求27所述的装置,其特征在于,所述Q 0条第二业务数据流与所述第一业务数据流的源端的通信装置相同,所述Q 0条第二业务数据流与所述第一业务数据流的宿端的通信装置相同。
  29. 如权利要求27或28所述的装置,其特征在于,所述处理单元通过所述收发单元,用于:
    根据所述第一业务数据流和所述Q 0条第二业务数据流之间的预设的排序,以连续n 0个比特组成的比特块为单位,对所述第一业务数据流和所述Q 0条第二业务数据流中的比特块进行复用,得到第三业务数据流;所述n 0为正整数;
    根据所述第三业务数据流,生成所述第一码块流。
  30. 如权利要求27或28所述的装置,其特征在于,所述处理单元通过所述收发单元,用于:
    对所述Q 0条第二业务数据流进行处理,生成Q 0条第三码块流;
    对所述第一业务数据流进行处理,生成第二码块流;所述第二码块流包括所述第一时钟频率信息;所述第二码块流包括所述第一时钟频率信息和所述k个第一数据帧;
    对所述Q 0条第三码块流和所述第二码块流中的数据进行复用,得到所述第一码块流。
  31. 一种通信装置,其特征在于,包括处理单元和收发单元,所述处理单元通过所述收发单元,用于:
    获取第一码块流;所述第一码块流中包括第一时钟频率信息;所述第一时钟频率信息用于指示:所述第一业务数据流的k个第一数据帧的传输时长,和/或,接收到所述第一业务数据流的k个第一数据帧的时刻;所述k为正整数;
    从所述第一码块流中获取所述k个第一数据帧和所述第一时钟频率信息;
    根据所述第一时钟频率信息,发送所述k个第一数据帧。
  32. 如权利要求31所述的装置,其特征在于,所述处理单元通过所述收发单元,用于:
    从所述第一码块流获取所述第一时钟频率信息;
    对所述第一码块流进行解复用,得到所述第一业务数据流和Q 0条第二业务数据流,所述Q 0为正整数;
    其中,所述第一时钟频率信息还用于指示所述Q 0条第二业务数据流中每个第二业务数据流的k个第三数据帧的传输时长,和/或接收到所述k个第三数据帧的时刻。
  33. 如权利要求32所述的方法,其特征在于,所述Q 0条第二业务数据流与所述第一业务数据流的源端的通信装置相同,所述Q 0条第二业务数据流与所述第一业务数据流的宿端的通信装置相同。
  34. 如权利要求32或33所述的装置,其特征在于,所述对所述第一码块流进行解复用,得到所述第一业务数据流和Q 0条第二业务数据流,包括:
    以连续n 0个比特组成的比特块为单位,对所述第一码块流进行解复用,得到第一业务数据流和所述Q 0条第二业务数据流。
  35. 如权利要求32或33所述的装置,其特征在于,所述处理单元通过所述收发单元,用于:
    对所述第一码块流进行解复用,得到Q 0条第三码块流和第二码块流;所述第二码块流包括所述第一时钟频率信息和所述k个第一数据帧;
    从所述第二码块流中得到所述第一业务数据流和所述第一时钟频率信息;
    从所述Q 0条第三码块流中得到所述Q 0条第二业务数据流。
  36. 如权利要求26-35任一项所述的装置,其特征在于,所述第一时钟频率信息包括:
    所述k个第一数据帧中第1个数据帧的帧头的接收时刻。
  37. 如权利要求26-36任一项所述的装置,其特征在于,所述第一时钟频率信息包括:
    所述k个第一数据帧中第k个第一数据帧的帧尾的接收时刻。
  38. 如权利要求26-35任一项所述的装置,其特征在于,所述第一时钟频率信息包括:
    第一计数值;
    其中,所述第一计数值为第一通信装置在接收所述k个第一数据帧的时长内,所述第一通信装置的本地时钟信号的时钟频率的周期数。
  39. 如权利要求26-35任一项所述的装置,其特征在于,所述第一时钟频率信息包括:
    第二计数值;
    其中,所述第二计数值为第一计数值和预设计数值之间的差值;所述第一计数值为第一通信装置在接收所述k个第一数据帧的时长内,所述第一通信装置的本地时钟信号的时钟频率的周期数。
  40. 如权利要求26-35任一项所述的装置,其特征在于,所述第一时钟频率信息包括:
    所述第二计数值和所述预设计数值;
    其中,所述第二计数值为第一计数值和预设计数值之间的差值;所述第一计数值为第一通信装置在接收所述k个第一数据帧的时长内,所述第一通信装置的本地时钟信号的时钟频率的周期数。
  41. 如权利要求26-35任一项所述的装置,其特征在于,所述第一时钟频率信息包括:
    第一时长,所述第一时长为所述k个第一数据帧的传输时长。
  42. 如权利要求26-35任一项所述的装置,其特征在于,所述第一时钟频率信息包括:
    第三计数值;
    其中,所述第三计数值为第二时长内所述第一通信装置的本地时钟信号的时钟频率的周期数,所述第二时长为从预设时刻起始截止至所述k个第一数据帧中第1个第一数据帧的帧头的接收时刻的时长。
  43. 如权利要求26-35任一项所述的装置,其特征在于,所述第一时钟频率信息包括:
    所述第二时长;
    其中,所述第二时长为从预设时刻起始截止至所述k个第一数据帧中第1个第一数据帧的帧头的接收时刻的时长。
  44. 如权利要求26-35任一项所述的装置,其特征在于,所述第一时钟频率信息包括:
    第四计数值;
    其中,所述第四计数值为第三时长内所述第一通信装置的本地时钟信号的时钟频率的周期数,所述第三时长为从预设时刻起始截止至所述k个第一数据帧中第k个第一数据帧的帧尾的接收时刻的时长。
  45. 如权利要求26-35任一项所述的装置,其特征在于,所述第一时钟频率信息包括:
    所述第三时长;
    其中,所述第三时长为从预设时刻起始截止至所述k个第一数据帧中第k个第一数据帧的帧尾的接收时刻的时长。
  46. 如权利要求26-45任一项所述的装置,其特征在于,所述第一码块流还包括第二时钟频率信息;所述第二时钟频率信息用于指示:所述第一业务数据流的k个第二数据帧的传输时长,和/或,接收到所述第一业务数据流的k个第二数据帧的时刻。
  47. 如权利要求26-45任一项所述的装置,其特征在于,所述第一码块流包括第一数据单元组,所述第一数据单元组包括W 1个第一数据单元,所述W 1为正整数;所述第一时钟频率信息承载于所述W 1个第一数据单元中的至少一个第一数据单元的以下内容中的至少一项:
    头码块、至少一个数据码块、尾码块,或操作维护管理码块。
  48. 如权利要求47所述的装置,其特征在于,所述k个第一数据帧对应的比特承载于所述W 1个第一数据单元中第一数据单元的以下内容中的一项:
    所述至少一个数据码块中数据码块的净荷区域;或,
    所述至少一个数据码块中数据码块的净荷区域和所述尾码块。
  49. 如权利要求26-45任一项所述的装置,其特征在于,所述第一码块流包括第一数据单元组,所述第一数据单元组包括W 1个第一数据单元,所述W 1为正整数;所述第一时钟频率信息承载于所述W 1个第一数据单元中的至少一个第一数据单元的以下内容中的至少一项:
    开销区域,或净荷区。
  50. 如权利要求47-49任一项所述的装置,其特征在于,所述W 1个第一数据单元中的至少一个第一数据单元承载第一指示信息,所述第一指示信息用于指示承载所述第一指示信息的第一数据单元中承载有所述第一时钟频率信息。
  51. 一种通信装置,其特征在于,所述装置包括与存储器耦合的处理器,
    所述存储器,用于存储计算机程序或指令;
    所述处理器,用于执行存储器中的计算机程序或指令,使得所述通信装置执行权利要求1-25中任一项所述的方法。
  52. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被计算机调用时,使得利要求1-25任一项所述的方法被执行。
PCT/CN2022/106293 2021-09-13 2022-07-18 一种通信方法、相关装置以及存储介质 Ceased WO2023035776A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP22866251.6A EP4391438A4 (en) 2021-09-13 2022-07-18 COMMUNICATION METHOD, ASSOCIATED DEVICE AND STORAGE MEDIUM
US18/602,795 US20240223321A1 (en) 2021-09-13 2024-03-12 Communication method, related apparatus, and storage medium

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202111067726.3 2021-09-13
CN202111067726 2021-09-13
CN202111142893.X 2021-09-28
CN202111142893.XA CN115811388A (zh) 2021-09-13 2021-09-28 一种通信方法、相关装置以及存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/602,795 Continuation US20240223321A1 (en) 2021-09-13 2024-03-12 Communication method, related apparatus, and storage medium

Publications (1)

Publication Number Publication Date
WO2023035776A1 true WO2023035776A1 (zh) 2023-03-16

Family

ID=85482104

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/106293 Ceased WO2023035776A1 (zh) 2021-09-13 2022-07-18 一种通信方法、相关装置以及存储介质

Country Status (4)

Country Link
US (1) US20240223321A1 (zh)
EP (1) EP4391438A4 (zh)
CN (1) CN115811388A (zh)
WO (1) WO2023035776A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115021875A (zh) * 2021-03-05 2022-09-06 华为技术有限公司 确定传输时隙的方法和相关装置
CN116737172B (zh) * 2023-08-11 2023-12-12 杭州初灵信息技术股份有限公司 一种小颗粒数据包的解析系统和方法
CN120768494A (zh) * 2024-03-29 2025-10-10 深圳市中兴微电子技术有限公司 Cbr业务时钟速率的恢复方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101707553A (zh) * 2009-11-10 2010-05-12 华为技术有限公司 异步业务数据的传输方法、装置和系统
CN108632105A (zh) * 2017-03-24 2018-10-09 中兴通讯股份有限公司 一种帧时延检测方法及系统
WO2019015462A1 (zh) * 2017-07-18 2019-01-24 华为技术有限公司 一种检测块发送和接收的方法、网络设备和系统
WO2019174406A1 (zh) * 2018-03-12 2019-09-19 中兴通讯股份有限公司 数据传输方法及装置、网络设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101534185B (zh) * 2009-04-02 2011-07-20 华为技术有限公司 时间同步装置、方法和系统
CN110719143A (zh) * 2015-07-30 2020-01-21 华为技术有限公司 用于数据传输的方法、发送机和接收机
CN107786320B (zh) * 2016-08-25 2021-06-22 华为技术有限公司 一种发送和接收业务的方法、装置和网络系统
CN107786299B (zh) * 2016-08-25 2021-06-08 华为技术有限公司 一种发送和接收业务的方法、装置和网络系统
CN108347317B (zh) * 2017-01-22 2020-11-10 华为技术有限公司 一种业务的传输方法、网络设备及网络系统
CN113316037B (zh) * 2017-05-02 2022-08-09 华为技术有限公司 一种业务承载的方法、设备和系统
CN109391461B (zh) * 2017-08-11 2021-08-13 华为技术有限公司 透传业务频率的方法和设备
CN111147181B (zh) * 2018-11-02 2022-12-09 中兴通讯股份有限公司 业务发送方法、接收方法、装置及系统、存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101707553A (zh) * 2009-11-10 2010-05-12 华为技术有限公司 异步业务数据的传输方法、装置和系统
CN108632105A (zh) * 2017-03-24 2018-10-09 中兴通讯股份有限公司 一种帧时延检测方法及系统
WO2019015462A1 (zh) * 2017-07-18 2019-01-24 华为技术有限公司 一种检测块发送和接收的方法、网络设备和系统
WO2019174406A1 (zh) * 2018-03-12 2019-09-19 中兴通讯股份有限公司 数据传输方法及装置、网络设备及存储介质

Also Published As

Publication number Publication date
US20240223321A1 (en) 2024-07-04
EP4391438A1 (en) 2024-06-26
EP4391438A4 (en) 2024-12-04
CN115811388A (zh) 2023-03-17

Similar Documents

Publication Publication Date Title
US11412074B2 (en) Method and device for transparently transmitting service frequency
US11165698B2 (en) Method for transmitting service signal by using ethernet channel and communications device
US11252098B2 (en) Data transmission method, transmitter, and receiver
US12512936B2 (en) Data transmission method and device
CN111201728B (zh) 光网络中数据传输方法及光网络设备
CN101299649B (zh) 基于通用成帧规程的多业务混合汇聚方法和装置
CN109600188B (zh) 数据传输方法、传输设备和传输系统
WO2023035776A1 (zh) 一种通信方法、相关装置以及存储介质
WO2019128664A1 (zh) 一种数据传输方法、通信设备及存储介质
US20250184032A1 (en) Communication method, related apparatus, and computer-readable storage medium
WO2006063529A1 (en) Device and method for transmitting data service in optical transmission net
US11838111B2 (en) System and method for performing rate adaptation of constant bit rate (CBR) client data with a variable number of idle blocks for transmission over a metro transport network (MTN)
US11916662B2 (en) System and method for performing rate adaptation of constant bit rate (CBR) client data with a fixed number of idle blocks for transmission over a metro transport network (MTN)
US20230006938A1 (en) System and method for performing rate adaptation and multiplexing of constant bit rate (cbr) client data for transmission over a metro transport network (mtn)
CN1747606B (zh) 业务数据传输方法及装置
US20250184038A1 (en) Error Code Block Processing Method and Apparatus
WO2023109424A1 (zh) 一种数据传输的方法以及相关装置
WO2021115215A1 (zh) 一种数据传输方法、通信设备及存储介质
WO2004002076A1 (fr) Procede de mise en correspondance et de cessation de correspondance entre des paquets de donnees gigabit ethernet et une structure de trame sdh
US12580675B2 (en) Communication method and device, and chip system
WO2017118042A1 (zh) 通道状态的确定方法及装置
CN101350691B (zh) 一种业务汇聚和adm分插复用方法及设备
Shi et al. SDH Virtual Concatenation technique used in Ethernet data transport

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: 22866251

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2022866251

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2022866251

Country of ref document: EP

Effective date: 20240321

NENP Non-entry into the national phase

Ref country code: DE