WO2018036485A1 - 一种发送和接收业务的方法、装置和网络系统 - Google Patents

一种发送和接收业务的方法、装置和网络系统 Download PDF

Info

Publication number
WO2018036485A1
WO2018036485A1 PCT/CN2017/098490 CN2017098490W WO2018036485A1 WO 2018036485 A1 WO2018036485 A1 WO 2018036485A1 CN 2017098490 W CN2017098490 W CN 2017098490W WO 2018036485 A1 WO2018036485 A1 WO 2018036485A1
Authority
WO
WIPO (PCT)
Prior art keywords
data stream
unit
segment
data
idle
Prior art date
Application number
PCT/CN2017/098490
Other languages
English (en)
French (fr)
Inventor
钟其文
徐小飞
张小俊
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP17842907.2A priority Critical patent/EP3496344B1/en
Priority to KR1020197008011A priority patent/KR102209296B1/ko
Priority to JP2019511366A priority patent/JP6867473B2/ja
Publication of WO2018036485A1 publication Critical patent/WO2018036485A1/zh
Priority to US16/282,690 priority patent/US10715306B2/en
Priority to US16/922,568 priority patent/US11038664B2/en

Links

Images

Classifications

    • 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]
    • H04J3/1658Optical Transport Network [OTN] carrying packets or ATM cells
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • 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
    • H04J3/0658Clock or time synchronisation among packet nodes
    • 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/1611Synchronous digital hierarchy [SDH] or SONET
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • H04L49/352Gigabit ethernet switching [GBPS]
    • 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
    • H04J2203/0085Support of Ethernet

Definitions

  • the present invention relates to the field of communications, and in particular, to a method, apparatus, and network system for transmitting and receiving services.
  • Flexible Ethernet combines the technical features of Ethernet and transport networks (eg, Optical Transport Network (OTN), Synchronous Digital Hierarchy (SDH), etc.) An important milestone.
  • OTN Optical Transport Network
  • SDH Synchronous Digital Hierarchy
  • the Ethernet physical interface presents the characteristics of virtualization.
  • Multiple Ethernet physical interfaces can be cascaded to support several virtual logical ports. For example, four 100 Gigabit Ethernet (100 Gigabit Ethernet) physical interfaces are cascaded into a 400 Gigabit (400 Gigabit, 400 G) flexible Ethernet physical interface group that can support several logical ports.
  • the Ethernet physical interface is an asynchronous communication interface that allows a clock frequency difference of plus or minus 100 ppm (one ten thousandth).
  • a clock frequency difference of plus or minus 100 ppm (one ten thousandth).
  • 10GE two physical interfaces with a nominal bandwidth of 10G, one of which may be one ten thousandth larger than the nominal value, and the other one is one ten thousandth smaller than the nominal value, ie 10G* (1+0.0001 respectively).
  • 10G* (1-0.0001
  • the clock frequency of the logical port inherits the clock frequency characteristics of the physical interface, and there is also a deviation of 100 ppm.
  • a logical port with a nominal bandwidth of 25G on two different physical interfaces or physical interface groups removes the overhead of flexible Ethernet partitioning slots and managing time slots.
  • FIG. 1 is a schematic diagram of service transmission of a flexible Ethernet in the prior art. As shown in FIG. 1, when the services between the client devices Ca and Cb are carried by the flexible Ethernet devices Pa, Pb, and Pc, it is necessary to perform idle cell addition and deletion on the Pa, Pb, and Pc.
  • the addition and deletion of the idle code block may cause the clock frequency and time phase information of the service itself to be lost. That is, the clock frequency and time phase information of the service cannot be transparently transmitted, and the source and sink network devices of the service cannot maintain the clock frequency and time phase. Synchronization.
  • the embodiments of the present invention provide a method, a device, and a network system for transmitting and receiving services, which can solve the problem that the service clock frequency and the time phase information of the flexible Ethernet cannot be transparently transmitted, and the source and sink network devices of the service cannot be obtained. Keep the clock frequency and time phase synchronized.
  • an embodiment of the present invention provides a method for sending a service, including: acquiring, by a source device, an original data stream. Then, the sending end device inserts the quantity mark k in the original data stream to generate a first data stream; wherein the quantity mark k is used to identify the number of the first data unit in the original data stream, where the k is greater than Or equal to zero. Finally, the transmitting device sends the first data stream.
  • a quantity mark k is inserted in the original data stream for identifying the number of first data units in the original data stream.
  • the receiving end device can restore the data stream after the addition and deletion of the idle unit to the original data stream according to the quantity mark k, thereby obtaining the clock frequency and time phase information of the original data stream, and realizing the clock frequency and time phase information of the service. pass.
  • the inserting the quantity mark k in the original data stream includes: acquiring a first segment data stream from the original data stream, and determining the first segment data stream The number of first data units; a first position in the first segment data stream is inserted with a quantity mark k, the value of the quantity mark k being equal to the number of first data units in the first segment data stream, the first position being At the location where the data unit carrying the quantity marker k is located.
  • the original data stream is segmented so that the number mark k is inserted into the segment.
  • the first data unit includes all data units of the first segment data stream, and the k is an integer greater than zero.
  • the idle cells may be added or deleted, resulting in a change in the number of data units in the original data stream.
  • the number of all data units of the first segment data stream in the original data stream can be identified by the quantity tag k.
  • the first data unit is an idle unit of the first segment data stream
  • the k is an integer greater than or equal to zero.
  • the number of free cells of the first segment data stream in the original data stream can be identified by the quantity flag k.
  • the acquiring, by the first data stream, the first segment data stream includes: starting a unit of the original data stream; determining a location where the starting unit is located as the First position.
  • the start unit can be a code block unit having a fixed pattern, that is, having redundant information, it can be used to carry the number mark k.
  • the location where the start unit is located may also be determined as the boundary of the first segment data stream. That is to say, the start unit can be used to carry the quantity flag k, and can also be used to determine the boundary of two adjacent sector data streams.
  • acquiring the first segment data stream from the original data stream includes: setting a threshold of the quantity flag k; when the length of the first segment data stream is greater than or equal to When the threshold is stated, the first idle unit of the first segment data stream is identified; the location where the first idle unit is located is determined as the first location.
  • the free unit Since the free unit has redundant information, it can be used to carry the quantity flag k. However, in order to avoid excessive use of the idle cells to carry the number flag k, it is allowed to insert k in the free cells when the length of the segment data stream is greater than a certain threshold.
  • the location where the first idle unit is located may also be determined as a boundary of the first segment data stream. That is to say, the first idle unit can be used to carry the quantity flag k, and can also be used to determine the boundary of two adjacent sector data streams.
  • the first data unit is subjected to an encoding process, or the first data unit is not subjected to an encoding process.
  • the technical solution of the present invention can be implemented before the original data stream is encoded, and can also be implemented after the original data stream is encoded.
  • the method further includes: increasing and/or decreasing the number of idle cells in the first data stream.
  • the free cells of the first data stream carrying the number of tokens k can be added or deleted.
  • an embodiment of the present invention provides a method for receiving a service, including: receiving, by a receiving device, a first data stream; extracting a quantity flag k in the first data stream, and determining a first data in the first data stream a number of units, the k being greater than or equal to zero; restoring the first data stream to the original data stream, the number of first data units in the original data stream being equal to the k.
  • the quantity mark k is extracted from the first data stream, the number of the first data unit in the original data stream is determined according to the quantity mark k, and the first data stream is restored to the original data stream.
  • the receiving device will go through the empty The data stream after the addition and deletion of the idle unit is restored to the original data stream, thereby obtaining the clock frequency and time phase information of the original data stream, and realizing transparent transmission of the clock frequency and time phase information of the service.
  • the extracting the quantity mark k in the first data stream includes: acquiring a first segment data stream from the first data stream, and determining the first segment data A first position in the stream from which the quantity marker k is extracted, the first position being the location of the data unit that can be used to carry the quantity marker k.
  • the first data stream is segmented to facilitate the number mark k segment extraction.
  • the first data unit includes all data units of the first segment data stream, and the k is an integer greater than zero.
  • the idle cells may be added or deleted, resulting in a change in the number of data units in the original data stream. Therefore, the number of all data units that the first segment data stream has after being restored to the original data stream can be identified by the quantity flag k.
  • the first data unit is an idle unit of the first segment data stream
  • the k is an integer greater than or equal to zero.
  • the number of idle cells after the first segment data stream is restored to the original data stream can be identified by the quantity flag k.
  • the restoring the first data stream to the original data stream includes: determining a quantity m of the first data unit in the first segment data stream, according to the m The difference from k is adjusted by the number m of first data units in the first segment data stream such that m is equal to k.
  • the adjusting the quantity m of the first data unit in the first segment data stream according to the difference between the m and the k includes: when the m is greater than k, The first segment data stream is reduced by mk idle cells; when m is less than k, km idle cells are added to the first segment data stream.
  • the first data stream is restored to the original data stream by inverse addition and deletion of the free cells.
  • the method further includes: acquiring a clock frequency of the original data stream.
  • the clock frequency of the original data stream can be obtained, and the clock frequency of the service is transparently transmitted.
  • an embodiment of the present invention provides an apparatus for sending a service, including: an acquiring module, configured to acquire an original data stream; and an inserting module, configured to insert a quantity mark k into the original data stream to generate first data.
  • the quantity indicator k is used to identify the number of the first data unit in the original data stream, the k is greater than or equal to zero; and the sending module is configured to send the first data stream.
  • a quantity mark k is inserted in the original data stream for identifying the number of first data units in the original data stream.
  • the device for receiving the service can restore the data stream after the addition and deletion of the idle unit to the original data stream according to the quantity mark k, thereby obtaining the clock frequency and time phase information of the original data stream, and realizing the clock frequency and time phase information of the service. Penetrate.
  • the inserting module is configured to: obtain a first segment data stream from the original data stream, and determine a quantity of the first data unit in the first segment data stream; The first in the first segment data stream a position insertion quantity mark k, the value of the quantity mark k being equal to the number of first data units in the first segment data stream, the first position being a data unit capable of carrying the quantity marker k s position.
  • the original data stream is segmented so that the number mark k is inserted into the segment.
  • the first data unit includes all data units of the first segment data stream, and the k is an integer greater than zero.
  • the idle cells may be added or deleted, resulting in a change in the number of data units in the original data stream.
  • the number of all data units of the first segment data stream in the original data stream can be identified by the quantity tag k.
  • the first data unit is an idle unit of the first segment data stream
  • the k is an integer greater than or equal to zero.
  • the number of free cells of the first segment data stream in the original data stream can be identified by the quantity flag k.
  • the inserting module is configured to: identify a starting unit of the original data stream; and determine a location where the starting unit is located as the first location.
  • the start unit can be a code block unit having a fixed pattern, that is, having redundant information, it can be used to carry the number mark k.
  • the location where the start unit is located may also be determined as the boundary of the first segment data stream. That is to say, the start unit can be used to carry the quantity flag k, and can also be used to determine the boundary of two adjacent sector data streams.
  • the inserting module is configured to: set a threshold of the quantity mark k; when the length of the first section data stream is greater than or equal to the threshold, identify the first a first idle unit of the segment data stream; determining a location at which the first idle cell is located as the first location.
  • the free unit Since the free unit has redundant information, it can be used to carry the quantity flag k. However, in order to avoid excessive use of the idle cells to carry the number flag k, it is allowed to insert k in the free cells when the length of the segment data stream is greater than a certain threshold.
  • the location where the first idle unit is located may also be determined as a boundary of the first segment data stream. That is to say, the first idle unit can be used to carry the quantity flag k, and can also be used to determine the boundary of two adjacent sector data streams.
  • the first data unit is subjected to an encoding process, or the first data unit is not subjected to an encoding process.
  • the technical solution of the present invention can be implemented before the original data stream is encoded, and can also be implemented after the original data stream is encoded.
  • the apparatus further includes: an addition and deletion module, configured to increase and/or decrease the number of idle units in the first data stream.
  • the free cells of the first data stream carrying the number of tokens k can be added or deleted.
  • an embodiment of the present invention provides an apparatus for receiving a service, including: a receiving module, configured to receive a first data stream; and an extracting module, configured to extract a quantity mark k in the first data stream, determine a number of first data units in a data stream, the k being greater than or equal to zero; a recovery module, configured to restore the first data stream to the original data stream, the number of first data units in the original data stream Equal to the k.
  • the quantity mark k is extracted from the first data stream, the number of the first data unit in the original data stream is determined according to the quantity mark k, and the first data stream is restored to the original data stream.
  • the device receiving the service restores the data stream after the addition and deletion of the idle unit to the original data stream, thereby obtaining the clock frequency and time phase information of the original data stream, and realizing transparent transmission of the clock frequency and time phase information of the service.
  • the extracting module is configured to: acquire the first data from the first data stream
  • a segment data stream determining a first location in the first segment data stream, extracting a quantity marker k from the first location, the first location being a data unit capable of carrying the quantity marker k Where it is.
  • the first data stream is segmented to facilitate the number mark k segment extraction.
  • the first data unit includes all data units of the first segment data stream, and the k is an integer greater than zero.
  • the idle cells may be added or deleted, resulting in a change in the number of data units in the original data stream. Therefore, the number of all data units that the first segment data stream has after being restored to the original data stream can be identified by the quantity flag k.
  • the first data unit is an idle unit of the first segment data stream
  • the k is an integer greater than or equal to zero.
  • the number of idle cells after the first segment data stream is restored to the original data stream can be identified by the quantity flag k.
  • the recovery module is configured to: determine a quantity m of the first data unit in the first segment data stream, and adjust the first according to the difference between the m and the k The number m of first data units in the segment data stream such that m is equal to k.
  • the recovery module is configured to: when the m is greater than k, reduce mk idle units in the first segment data stream; when m is less than k, in the first Adding km free cells to a sector data stream.
  • the first data stream is restored to the original data stream by inverse addition and deletion of the free cells.
  • the apparatus further includes: a clock module, configured to acquire a clock frequency of the original data stream.
  • the clock frequency of the original data stream can be obtained, and the clock frequency of the service is transparently transmitted.
  • the fifth aspect provides a network system, including the apparatus according to any one of the third aspect and the third aspect, and any one of the fourth aspect and the fourth aspect. Possible implementations of the device described.
  • an embodiment of the present invention provides a network device, including: a processor, a memory, and at least one network interface; the memory is configured to store a computer execution instruction, and when the network device is running, the processor executes a memory execution computer execution instruction. To cause the network device to perform the method as described in the first aspect and any one of the possible implementations of the first aspect.
  • an embodiment of the present invention provides a network device, including: a processor, a memory, and at least one network interface; the memory is configured to store a computer execution instruction, and when the network device is running, the processor executes a memory execution computer execution instruction. To cause the network device to perform the method as described in any one of the second aspect and the second aspect.
  • FIG. 1 is a schematic diagram of service transmission of a flexible Ethernet in the prior art
  • 2a is a schematic diagram of service transmission of a flexible Ethernet according to an embodiment of the present invention.
  • 2b is a schematic diagram of service transmission of a flexible Ethernet according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of another flexible Ethernet service transmission according to an embodiment of the present disclosure.
  • FIG. 4 is a schematic diagram of a format of a data flow according to an embodiment of the present disclosure.
  • FIG. 5 is a schematic diagram of another format of a data stream according to an embodiment of the present disclosure.
  • FIG. 6 is a schematic diagram of a format of a start code block according to an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of a format of six code blocks according to an embodiment of the present invention.
  • FIG. 8 is a schematic diagram of a format of three code blocks according to an embodiment of the present invention.
  • FIG. 9 is a schematic diagram of a format of a data stream according to an embodiment of the present invention.
  • FIG. 10 is a schematic diagram of a format of a code block according to an embodiment of the present disclosure.
  • FIG. 11 is a schematic diagram of a format of a data stream according to an embodiment of the present invention.
  • FIG. 12 is a schematic diagram of a format of a data stream according to an embodiment of the present invention.
  • FIG. 13 is a schematic diagram of another format of a data stream according to an embodiment of the present invention.
  • FIG. 14 is a schematic diagram of a format of five code blocks according to an embodiment of the present invention.
  • FIG. 15 is an exemplary flowchart of a method for sending a service according to an embodiment of the present invention.
  • FIG. 16 is a schematic flowchart of data processing of a 40GE physical interface according to an embodiment of the present disclosure
  • FIG. 17 is a schematic diagram of an AM format conversion according to an embodiment of the present invention.
  • FIG. 18 is a schematic diagram of a format of four code blocks according to an embodiment of the present disclosure.
  • FIG. 19 is a schematic structural diagram of a device at a transmitting end according to an embodiment of the present disclosure.
  • FIG. 20 is a schematic diagram of a data processing process of a 10GE physical interface according to an embodiment of the present disclosure
  • FIG. 21 is a schematic structural diagram of another device at a transmitting end according to an embodiment of the present disclosure.
  • FIG. 22 is a flowchart of a method for inserting a quantity mark according to an embodiment of the present invention.
  • FIG. 23 is an exemplary flowchart of a method for receiving a service according to an embodiment of the present invention.
  • FIG. 24 is a schematic structural diagram of a receiving end device according to an embodiment of the present disclosure.
  • FIG. 25 is a schematic structural diagram of another receiving end device according to an embodiment of the present disclosure.
  • FIG. 26 is a flowchart of a method for extracting quantity marks according to an embodiment of the present invention.
  • FIG. 27 is a schematic structural diagram of a system for clock frequency recovery according to an embodiment of the present invention.
  • FIG. 28 is a schematic structural diagram of a client device according to an embodiment of the present invention.
  • FIG. 29 is a schematic structural diagram of a client device according to an embodiment of the present disclosure.
  • FIG. 30 is a schematic structural diagram of an apparatus for sending a service according to an embodiment of the present disclosure.
  • FIG. 31 is a schematic structural diagram of an apparatus for receiving a service according to an embodiment of the present disclosure.
  • FIG. 32 is a schematic structural diagram of a network system according to an embodiment of the present disclosure.
  • FIG. 33 is a schematic structural diagram of a network device according to an embodiment of the present invention.
  • the technical solution provided by the embodiment of the present invention can be applied to a flexible Ethernet, and can also be applied to other types of networks, such as an Ethernet, an Optical Transport Network (OTN) network, and a Synchronous Digital Hierarchy (Synchronous Digital Hierarchy, SDH) network, etc.
  • the embodiment of the present invention mainly uses flexible Ethernet as an example for description.
  • FIG. 2 is a schematic diagram of a service transmission of a flexible Ethernet according to an embodiment of the present invention.
  • the client device Ca needs to send one-way service to the client device Cb, and the service can be transmitted between the Ca and the Cb through a bearer network.
  • a flexible Ethernet consisting of multiple flexible Ethernet devices (eg, Pa, Pb, and Pc) acts as a bearer network.
  • the client device can be a router, a switch, etc., and the flexible Ethernet device can also be an Ethernet device, an OTN device, an SDH device, or the like.
  • the quantity tag may be inserted into the original data stream.
  • k identifies the number of data units of the original data stream.
  • the data unit includes an idle unit and a non-idle unit.
  • the free unit has a fixed data format.
  • a non-idle unit is a data unit other than an idle unit, including a variety of data formats. In the embodiment of the present invention, only the number of idle units may be marked, or the number of all data units may be marked.
  • the source device Pa can also perform the same idle cell addition and deletion as the prior art.
  • the intermediate device Pb of the flexible Ethernet the same free cell addition and deletion as the prior art can be performed.
  • the intermediate device may also include multiple devices, that is, the original data stream may be added or deleted by multiple idle units.
  • the receiving device Pc of the flexible Ethernet the quantity flag k is extracted, and the idle unit is added and deleted according to the quantity flag k, that is, the original data stream is restored.
  • the idle unit is added or deleted, that is, the original data stream is increased by n idle units, and the receiving end device Pc deletes n idle units, or the original data stream deletes n idle units, and the receiving end device Pc adds n idle units.
  • the recovered original data stream has the same number of data units or free units as the original data stream before the idle unit addition and deletion. Therefore, the receiving end device Pc can obtain the clock frequency and time phase information of the original data stream according to the restored original data stream, and realize transparent transmission of the clock frequency and time phase information of the service.
  • FIG. 2b is a schematic diagram of service transmission of a flexible Ethernet according to an embodiment of the present invention.
  • the service is sent from the client device Cb to the client device Ca, and the flow of execution is opposite to that of FIG. 2a.
  • the steps performed by Pc in FIG. 2b are the same as those in Pa in FIG. 2a, and the steps performed by Pa in FIG. 2b. The steps are the same as those performed by Pc in Figure 2a.
  • FIG. 3 is a schematic diagram of another flexible Ethernet service transmission according to an embodiment of the present invention.
  • a service is transmitted from the client device Ca to the client device Cb will be described.
  • the quantity mark k can be inserted on the client device Ca, the quantity mark k is extracted at the client device Cb, and the reverse addition and deletion of the free unit is performed, and the original data is restored.
  • the flexible Ethernet devices Pa, Pb, Pc, etc. can perform the same idle cell addition and deletion as the prior art, without any improvement, so that the technical solution of the present invention is well compatible with the existing flexible Ethernet.
  • the data format of the original data stream may include an encoded data format, and may also include an unencoded data format.
  • the format of the free unit may include an idle code block, an idle byte unit, and the like.
  • 64B/66B encoding is taken as an example:
  • FIG. 4 is a schematic diagram of a format of a data stream according to an embodiment of the present invention.
  • the start code block S, the end code block T, and the plurality of code blocks D are regarded as one packet.
  • packet 401 and packet 403 are shown in the figure.
  • the original data stream may also be delayed.
  • the original data stream is delayed by one code block.
  • the sender device Or the intermediate device can perform addition and deletion operations on the idle code block.
  • an Idle 407 is deleted based on the original data stream
  • an Idle 409 is added to the original data stream.
  • the receiving end device restores the data stream added and deleted by the idle code block to the original data stream.
  • FIG. 5 is a schematic diagram of another format of a data stream according to an embodiment of the present invention.
  • the number flag k may be inserted in the start code block (eg, start code block 505) of the original data stream.
  • the quantity mark k always exists in the data stream until it is extracted by the receiving end device for restoring the original data.
  • a packet 501 and a packet 503 are included. Packet 501 and packet 503 may be adjacent packets, or other packets may exist between packet 501 and packet 503.
  • one quantity mark k can be inserted for one group, and one quantity mark k can also be inserted for a plurality of groups.
  • the code block between the start code block of packet 501 and the start code block of packet 503 is treated as a segment data stream of length k (containing the start code block of packet 501, without the start code block of packet 503).
  • a quantity flag k can be inserted in the start code block 505, which can identify the total number of code blocks of the segment data stream of length k.
  • k does not include the start code block 505 of the packet 503.
  • the start code block of the packet 503 may also be included, which is not limited by the present invention.
  • the idle code block may exist between the packets or may exist within the packet. Also shown in the figure is a start code block 507 in which the number mark k0 is inserted in the packet 501, which acts similarly to the start code block 505 carrying the number mark k, and will not be described again here.
  • the start code block S in the data frame of the Ethernet is a fixed code block of the bit pattern, and does not change during the transmission, and therefore contains redundant information, which can be used to carry information such as the quantity mark k.
  • the preamble symbol includes 8 bytes of Transmit (character Data, TXD) / Receive (character) data (Received (character) ) Data, RXD), and through 8-bit transmit (character) control (signal) (Transmit (character) Control (s ignals), TXC) / receive (character) control (signal) (Received (character) Control (s Ignams), RXC) instructions.
  • the ⁇ TXC, TXD> of the preamble symbol is: ⁇ 1, 0xFB> ⁇ 0, 0x55> ⁇ 0,0x55> ⁇ 0,0x55> ⁇ 0,0x55> ⁇ 0,0x55> ⁇ 0, 0xD5>.
  • 0xFB is the frame start control character "/S/”
  • 0xD5 is the Start of Frame Delimiter (SFD).
  • the preamble encoded data format is called the start code block, and the 8-byte preamble symbol boundary is aligned with the boundary of the 64B/66B code block, for example, "/S/" is aligned with the boundary of the start code block.
  • FIG. 6 is a 64B/66B encoding format of a start code block according to an embodiment of the present invention, including a synchronization header “10” and a control code block type “0x78”.
  • FIG. 7 is a schematic diagram of a format of six code blocks according to an embodiment of the present invention.
  • the code block 701 changes "0x55" of D1 to "0x00" and "0xD5" of D7 to "0xFF" on the basis of the start code block shown in FIG. 6.
  • Block 703 changes D1 to "0xA”.
  • Block 707 changes D7 to "0xA”.
  • Block 711 changes D1 to "0xA” and D7 to "0xA”.
  • FIG. 8 is a schematic diagram of a format of three code blocks according to an embodiment of the present invention.
  • the code blocks 801 and 803 are identified by the preset pattern as "0x4B+0xA”.
  • the code block 805 changes the control code block type "0x78" to "0xFF".
  • the specific implementation manner is not limited to the code block format shown in FIG. 7 and FIG. 8, as long as the start code block carrying k can be identified.
  • FIG. 9 is a schematic diagram of a format of a data stream according to an embodiment of the present invention.
  • the data stream of length k is divided into two sections.
  • the lengths are k1 and k2, respectively.
  • the number of symbols k1 may be inserted in the first code block 901 (idle code block) after the segment k1 for identifying the number of all code blocks or the number of idle code blocks in the segment k1.
  • the first code block 903 (start code block) after the section k2 inserts a quantity flag k2 for identifying the number of all code blocks in the section k2 or the number of idle code blocks.
  • the idle code block and the start code block may be changed into code blocks identified by a preset pattern. Referring to the embodiment shown in FIG. 7 and FIG. I will not repeat them here.
  • the idle code block 901 carrying the k1 and the start code block 903 carrying the k2 may be identified by using different preset patterns, so that the receiving end device can quickly recover the original code block. Since the start code block and the end code block are usually present in pairs, the pairing relationship of the character "/S/" in the start code block and the character "/T/" in the end code block is satisfied.
  • the idle code block for inserting the number flag k1 can be regarded as the start code block of one packet. Alternatively, any one of the idle code blocks following the code block carrying k1 can also be set as the end code block. Also shown is a start code block 905 in which the quantity flag k0 is inserted, which functions similarly to the carried k1 start code block 901 and the carried start code block 903 of k2, and will not be described again here.
  • FIG. 10 is a schematic diagram of a code block format according to an embodiment of the present invention.
  • a Cyclic Redundancy Check (CRC) check bit such as CRC8, is set for the quantity flag k so that the receiving device can verify the transmission reliability.
  • a quantity tag can be inserted in all of the starting code blocks or partial starting code blocks in the original data stream. Inserting a quantity marker in a start code block or an idle code block actually replaces a start code block or an idle code block with a code block carrying a quantity flag.
  • the start code block or the idle code block may be first changed to a code block identified by a preset pattern, and then the quantity mark is inserted in the code block identified by the preset pattern. Or first insert a quantity mark in the start code block or the idle code block, and then change the start code block or the idle code block after the insertion quantity mark to the code block of the preset pattern identifier.
  • the preset pattern identification code block carrying the quantity tag may also be directly inserted into the position of the start code block or the idle code block, which is not limited in the present invention.
  • an idle unit may include multiple idle bytes, for example, idle byte additions and deletions may be performed based on a 4-byte granularity of free cells or an 8-byte granularity of free cells.
  • the 8 bytes can correspond to a 64B/66B code block, so it is similar to the post-encoding processing.
  • FIG. 11 is a schematic diagram of a format of a data stream according to an embodiment of the present invention. As shown in FIG. 11, the MII byte data stream ⁇ TXC/RXC, TXD/RXD> has a one-to-one correspondence with the 64B/66B code block.
  • FIG. 12 is a schematic diagram of a format of a data stream according to an embodiment of the present invention.
  • the quantity marker k is inserted in the original data stream.
  • the quantity mark k may identify the quantity in units of bytes, may also identify the quantity in units of four bytes, and may also identify the quantity in units of eight bytes.
  • the eight-byte unit 1201, 1202 (referred to as a preamble byte unit) in which the control character "/S/" is located at the beginning of the frame of the original data stream is inserted with the number mark k. That is, the quantity flag k can identify the number of data bytes or the number of free bytes of the sector data stream preceding the preamble symbol byte unit.
  • FIG. 12 is a schematic diagram of a format of a data stream according to an embodiment of the present invention.
  • the quantity marker k is inserted in the original data stream.
  • the quantity mark k may identify the quantity in units of bytes, may also identify the quantity in units of four bytes, and
  • the frame start control character "/S/" of the eight-byte unit 1201 corresponds to the fifth position of the 64B/66B code block
  • the eight-byte unit 1203 frame start control character /S/" corresponds to the 64B/66B code block.
  • the first position of the device, and the eight-byte unit carrying k can be identified by a preset byte such as "0x00", "0xFF", etc.
  • the field k can also be performed using the C field (CRC). check.
  • FIG. 13 is a schematic diagram of another format of a data stream according to an embodiment of the present invention.
  • a quantity flag k1 may be inserted in the first eight-byte unit 1303 (idle byte unit) following the section k1 for identifying the number of all data bytes or the number of idle bytes in the section k1.
  • the first eight-byte unit 1301 preamble symbol byte unit
  • after the section k2 inserts a quantity flag k2 for identifying the number of all data bytes or the number of idle bytes in the section k2. As shown in FIG.
  • the start control character "/S/" may correspond to the first position or the fifth position of the 64B/66B code block.
  • the eight-byte unit carrying k1 may be identified by a preset byte, for example, "0xFF", "0x00" of the eight-byte unit 1303, “0x9C” of the eight-byte unit 1305, and "octet unit 1307" of the eight-byte unit 1305. 0xF0" and so on.
  • the eight-byte unit 1301 carrying k2 can be identified by using preset bytes such as "0x00" and "0xFF".
  • the idle byte unit carrying k1 and the preamble byte unit carrying k2 may be identified by using different preset bytes, so that the receiving end device can quickly recover the original eight-byte unit.
  • the fields k1, k2 may also be verified using a C field (CRC).
  • a quantity marker can be inserted in all preamble symbol byte units or partial preamble symbol byte units in the original data stream. Inserting a quantity flag in a preamble byte unit or an idle byte unit actually replaces a preamble byte unit or an idle byte unit with a unit carrying a quantity flag.
  • the preset byte can be inserted first in the preamble byte unit or the idle byte unit, and then the quantity tag is inserted in the unit identified by the preset byte. Alternatively, the quantity tag is inserted in the preamble byte unit or the idle byte unit, and then the preset byte is inserted in the preamble byte unit or the idle byte unit after the number tag is inserted.
  • the unit carrying the quantity tag and the preset byte may also be directly inserted into the position of the preamble symbol byte unit or the idle byte unit, which is not limited in the present invention.
  • the 8-byte MII byte data stream has a correspondence with the 64B/66B code block. Therefore, the eight-byte unit carrying k, k1, and k2 can correspond to the five coding block formats as shown in FIG.
  • the eight-byte units 1201, 1203 of FIG. 12 and the eight-byte unit 1301 of FIG. 13 may correspond to the code block 1401.
  • the eight-byte unit 1303 of FIG. 13 may correspond to the code block 1403.
  • the eight-byte unit 1305 of FIG. 13 may correspond to the code block 1405.
  • the eight-byte unit 1307 of FIG. 13 corresponds to the code block 1407 or the code block 1409.
  • the quantity markers k, k1, k2 can be represented by field lengths of 8 bits, 16 bits, 24 bits, 32 bits, and the like. Wherein, when the 8-bit length is used, the expressed range includes 0-255, and when the 16-bit length is used, the expressed range includes 0-65535, and so on, and different bit lengths can be selected according to the length of the segment data stream.
  • the original data stream is divided into a plurality of segment data streams, and for each segment data stream, a data unit that can be used for inserting the quantity tag, for example, a start unit, an idle unit, and the like, is searched for.
  • the data units used to insert the quantity markers may be located adjacent to the identified segment data stream or may be located at non-adjacent locations.
  • the data unit of the inserted quantity tag may be located before the identified segment data stream, or may be located after the identified segment data stream, which is not limited by the present invention.
  • the data unit for inserting the quantity tag can identify the starting position of the segment data stream, and can also be used to identify the end position of the segment data stream.
  • any one of the start code blocks may identify the start position of the sector data stream in which the start code block is located, and may also identify the end position of the previous sector data stream.
  • FIG. 15 is an exemplary flowchart of a method for sending a service according to an embodiment of the present invention. As shown in FIG. 15, the method can be performed by a transmitting device of a flexible Ethernet. Including the following steps:
  • S1501 The source device acquires the original data stream.
  • the original data stream may be a service including an Interpacket Gap (IPG).
  • IPG Interpacket Gap
  • Data stream for example, Ethernet packet service data stream.
  • the IPG may be an idle unit and has multiple data formats, including, for example, an idle packet of a Media Access Control (MAC) layer or above, an MII idle byte unit, and an idle code block having a physical layer coding format.
  • the coding format of the idle code block is, for example, 64B/66B coding, 8B/10B coding, 512B/514B coding, or the like.
  • the first data unit can be all data units of the original data stream, and can also be an idle unit of the original data stream.
  • the quantity flag k is used to identify the number of all data units in the original data stream, k can be an integer greater than zero.
  • the quantity flag k is used to identify the number of free cells in the original data stream, k can be an integer greater than or equal to zero.
  • S1505 Send a first data stream carrying the quantity mark k.
  • the processing of the 100GE service is similar to that of the 40GE service.
  • the 25GE service is similar to the 10GE service process.
  • FIG. 16 is a schematic flowchart of data processing of a 40GE physical interface according to an embodiment of the present invention. As shown in FIG.
  • the physical layer structure of the 40GE physical interface includes a Physical Coding Sub-layer (PCS) 1601, and also includes a Physical Medium Attachment (PMA) and a Physical Medium Correlation Sublayer ( Any one or more sublayers of Physical Medium Dependent (PMD) and Forward Error Correction (FEC) 1603.
  • the physical layer structure of the 40GE physical interface also includes a Reconciliation Sub-layer (RS) (not shown).
  • the XLGMII interface is located between the RS and the PCS.
  • the sending direction processing 1605 of the PCS may include encoding, scrambling, multi-channel distribution, Alignment Marker (AM) insertion, and the like.
  • the receiving direction processing 1607 of the PCS may include multi-channel symbol synchronization, AM locking and channel alignment, bit error rate (BER) monitoring, channel rearrangement, and merging into serial symbols, AM deletion, descrambling codes. , decoding, etc.
  • the processing steps shown in Fig. 16 can be referred to the prior art.
  • the send direction 1605 after the PCS receives the data stream from the XLGMII interface, it needs to distribute the data stream to multiple channels (multi-channel distribution) and insert AM (AM insertion) on each channel.
  • Receive direction 1607 before the PCS sends the data stream to the XLGMII interface, receives the data stream from multiple channels, aligns and reorders the data streams of multiple channels, and restores the serial data stream (multi-channel symbol synchronization, AM) Lock and channel alignment, channel rearrangement and merging into serial symbols), and delete AM (AM delete) for each channel, then descramble and decode.
  • serial data stream multi-channel symbol synchronization, AM
  • AM Lock and channel alignment, channel rearrangement and merging into serial symbols
  • delete AM AM delete
  • the original data stream may be received from the 40GE physical interface.
  • Step S1503 may be performed after the 40GE physical interface receives the descrambling code of the direction 1607, and may be performed before or after decoding.
  • the embodiment of the present invention may be implemented based on the data processing flow shown in FIG. 16, but is not limited to the example shown in FIG. 16.
  • the data processing flow may not include an AM deletion step. If the AM is not deleted, when inserting the quantity flag k, it is also necessary to count the AM as a data unit in the original data stream.
  • FIG. 17 is a schematic diagram of AM format conversion according to an embodiment of the present invention. As shown in FIG.
  • AM code blocks (such as AM0, AM1, AM2, AM3) of data stream A may be replaced with special code blocks in data stream B after AM lock and multi-channel alignment.
  • FIG. 18 is a schematic diagram of four code block formats provided by an embodiment of the present invention. As shown in FIG. 18, AM0, AM1, AM2, and AM3 are replaced with code blocks 1801, 1803, 1805, and 1807, respectively. Alternatively, AM0, AM1, AM2, AM3 may also be replaced by four identical code blocks, such as any of the above four code blocks.
  • FIG. 19 is a schematic structural diagram of a transmitting end device 1900 according to an embodiment of the present invention.
  • the source device 1900 receives the original data stream through the 40GE physical interface PMA/PMD/FEC 1901.
  • the 40GE physical interface PCS reception direction process 1903 can refer to the reception direction process 1607 shown in FIG.
  • the PCS reception direction processing 1903 can be implemented by a physical circuit or by a logic circuit, and can be implemented by software, hardware, or a combination of software and hardware.
  • the insertion quantity flag k 1905 may be implemented in the process of the PCS reception direction process 1903, or may be implemented after the PCS reception direction process 1903.
  • the free cells may be added or deleted 1907 to enable rate adaptation. Adding and deleting idle cells such that rate adaptation can be seen in the prior art. Then, the first data stream after the number of tokens k is inserted can be sent out through the 40GE logical port 1911 formed by the flexible Ethernet physical interface (or interface group) 1909.
  • FIG. 20 is a schematic flowchart of data processing of a 10GE physical interface according to an embodiment of the present invention.
  • the MII of the 10GE physical interface is called XGMII.
  • the XGMII uses 32-bit data bit width.
  • the frame start control character is aligned with the 4-byte boundary. That is, the frame start control character may be located at the fifth position or the first of the 64B/66B code block. position.
  • the physical layer structure of a 10GE physical interface is similar to that of a 40GE physical interface, including any one or more sublayers of PCS 2001 and PMA, PMD, and FEC 2003.
  • the transmission direction processing 2005 of the PCS may include encoding and scrambling.
  • the reception direction processing 2007 of the PCS may include symbol synchronization, descrambling, and decoding. Because the flexible Ethernet is based on the 100GE physical interface, the logical port is divided into time division multiplex (TDM) according to the 64B/66B code block. Therefore, the code type conversion of the 10GE service is required. That is to say, in the reception direction 2007 of the PCS, decoding (for example, 64B/66B decoding) is performed first, and then the addition and deletion of the idle bytes are performed based on the decoded MII byte data stream.
  • decoding for example, 64B/66B decoding
  • the data stream can be moved forward or backward by 4 bytes by means of idle byte addition and deletion, so that the frame starts to control characters and The boundary of the 64B/66B code block is aligned.
  • the original data stream may be received from the 10GE physical interface, and step S1503 may be performed after the decoding of the 10GE physical interface receiving direction 2007 or before decoding.
  • the embodiment of the present invention may be implemented based on the data processing flow shown in FIG. 20, but is not limited to the example shown in FIG. 20.
  • the data processing flow may not include the decoding step, and S1503 may be performed after the descrambling code.
  • FIG. 21 is a schematic structural diagram of a transmitting end device 2100 according to an embodiment of the present invention.
  • the source device 2100 receives the original data stream through the 10GE physical interface PMA/PMD/FEC 2101.
  • the 10GE physical interface PCS reception direction processing 2103 can refer to the reception direction processing 2007 shown in FIG.
  • the PCS receive direction processing 2103 can be implemented by a physical circuit or by a logic circuit, and can be implemented by software, hardware, or a combination of software and hardware.
  • the insertion quantity flag k 2105 may be implemented in the process of the PCS reception direction process 2103, or may be implemented after the PCS reception direction process 2103.
  • the idle cells may be incremented by 2107 to enable rate adaptation. Then, the first data stream after the insertion quantity flag k is encoded 2109, and the first data stream is transmitted through the 10GE logical port 2113 formed by the flexible Ethernet physical interface (or interface group) 2111. Alternatively, the insertion quantity flag k 2105 and the idle unit addition and deletion 2107 may be performed before the encoding 2109, and may also be performed after the encoding 2109. If the PCS reception direction is not decoded, no coding is required here.
  • FIG. 22 is a flowchart of a method for inserting a quantity mark according to an embodiment of the present invention.
  • a counter is set, and when a data unit is received from the original data stream, the value of the counter is incremented by one.
  • the data format of the data unit may include a code block, a byte, and the like.
  • the data format of the data unit is a code block
  • the data unit of the original data stream may include a start code block S, an end code block T, a code block D, and an idle code block Idle, and may also include an AM code block or the like.
  • the start unit for example, starts the code block S, and then executes S2203, and the current value of the current counter k (quantity flag k) can be inserted in the current data unit, that is, the current data unit is replaced with the data unit carrying k. Then, clear the counter.
  • S2202 If the current data unit is not the start unit, it is determined whether the current data unit can insert the quantity flag k according to the value of the counter.
  • S2204 If the value k of the current counter is greater than or equal to a preset threshold, then S2205 determines whether the current data unit can be used to insert the quantity flag k. For example, if the current data unit is an idle unit, the quantity flag k can be inserted in the current free unit. If the current data unit is not an idle unit, then the current data unit can be unit converted and then the quantity flag k is inserted. For example, when the current data unit carries a command word such as a local fault (LF) or a remote fault (RF), the LF, RF, etc.
  • LF local fault
  • RF remote fault
  • Quantity mark k If the current data unit cannot be used to insert the quantity mark k, then S2206 ends the process, receives the next data unit of the original data stream, and determines whether the next data unit can insert the quantity mark k. S2204: If the value k of the current counter is less than the threshold, then S2206, the process ends, and the next data unit of the original data stream continues to be received.
  • the threshold value of the value of the counter can be set with reference to the bit length of the bearer number flag k. The longer the bit length, the larger the threshold value can be set.
  • the source device carries the quantity mark k in the original data stream, and is used to identify the number of data units or idle units in the original data stream, so that the receiving end device can recover the original data stream according to the quantity mark k.
  • the clock frequency and time phase information of the original data stream are obtained, and the transparent transmission of the clock frequency and time phase information of the service is realized.
  • FIG. 23 is an exemplary flowchart of a method for receiving a service according to an embodiment of the present invention. As shown in FIG. 23, the method can be performed by a receiving device of a flexible Ethernet. Including the following steps:
  • the receiving end device receives the first data stream.
  • the addition and deletion of the idle cells may be performed on other devices, such as the intermediate device, to adapt to the rate difference on the line.
  • the data format of the first data stream may be the same as the original data stream, or may be different from the original data stream.
  • both the original data stream and the first data stream are encoded data streams.
  • the original data stream is an unencoded data stream
  • the first data stream is an encoded data stream.
  • S2303 Extract a quantity mark k in the first data stream, and determine a quantity of the first data unit in the first data stream, where k is greater than or equal to zero.
  • the first data unit can be all data units of the original data stream, and can also be an idle unit of the original data stream.
  • the quantity flag k is used to identify the number of all data units in the original data stream, k can be an integer greater than zero.
  • the quantity flag k is used to identify the number of free cells in the original data stream, k can be an integer greater than or equal to zero.
  • the processing of the 100GE service is similar to that of the 40GE service.
  • the 25GE service is similar to the 10GE service process.
  • the embodiment of the present invention may be implemented based on the data processing flow shown in FIG. 16, but is not limited to the example shown in FIG. 16.
  • the data processing flow may not include the AM insertion step.
  • the first data stream may be received from the 40GE logical interface, and steps S2303, S2305 may be performed before the 40GE physical interface sends the direction 1605 scrambling code, and may be performed before or after encoding.
  • FIG. 24 is a schematic structural diagram of a receiving end device 2400 according to an embodiment of the present invention.
  • the receiving end device 2400 receives the first data stream through the 40GE logical port 2403 formed by the flexible Ethernet physical interface (interface group) 2401, and after restoring the first data stream to the original data stream, the restored data may be restored.
  • the original data stream is sent to the client device through the 40GE physical interface PMA/PMD/FEC 2409.
  • the 40GE physical interface PCS transmission direction processing 2411 can refer to the transmission direction processing 1605 shown in FIG. 16.
  • the PCS transmission direction processing 2411 can be implemented by a physical circuit or by a logic circuit, and can be implemented by software, hardware, or a combination of software and hardware.
  • the extracted quantity flag k 2405 and the original data recovery 2407 may be implemented in the process of the PCS transmission direction processing 2411, or may be implemented in the 40GE logical port 2403, or may be implemented independently.
  • the embodiment of the present invention may be implemented based on the data processing flow shown in FIG. 20, but is not limited to the example shown in FIG. 20, for example, the data processing flow may not include the encoding step.
  • the original data stream can be received from the 10GE logical port, and the steps S2303 and S2305 can be performed after the encoding of the 10GE physical interface sending direction processing 2005 or before encoding.
  • FIG. 25 is a schematic structural diagram of a receiving end device 2500 according to an embodiment of the present invention.
  • the receiving end device 2500 receives the first data stream through the 10GE logical port 2503 formed by the flexible Ethernet physical interface (interface group) 2501, and after restoring the first data stream to the original data stream, the restored data may be restored.
  • the original data stream is sent to the client device via the 10GE physical interface PMA/PMD/FEC 2511.
  • the 10GE physical interface PCS transmission direction processing 2513 can be referred to the transmission direction processing 2005 shown in FIG.
  • the PCS transmission direction processing 2513 can be implemented by a physical circuit or by a logic circuit, and can be implemented by software, hardware, or a combination of software and hardware.
  • the extracted quantity flag k 2507 and the original data recovery 2509 may be implemented in the process of the PCS transmission direction processing 2513, or may be implemented in the 10GE logical port 2503, or may be implemented independently. Alternatively, the extracted quantity flag k 2507 and the original data recovery 2509 may be performed after the decoding 2505, and may also be performed before the decoding 2505.
  • FIG. 26 is a flowchart of a method for extracting quantity marks according to an embodiment of the present invention.
  • a counter is set, and when a data unit is received from the first data stream, the value of the counter is incremented by one.
  • the data format of the data unit may include a code block, a byte, and the like.
  • the data format of the data unit is a code block
  • the data unit of the first data stream may include a start code block S, an end code block T, a code block D, and an idle code block Idle.
  • S2602 if the current data unit carries the quantity flag k, execute S2603 to determine whether the quantity flag k is equal to the value kn of the current counter.
  • the restored data stream and the original data stream obtained by the source device have the same number of data units, or have the same number of idle units, thereby realizing the recovery of the original data stream.
  • FIG. 27 is a schematic structural diagram of a system for clock frequency recovery according to an embodiment of the present invention.
  • the transmitting device 2701 and the intermediate device 2703 may add or delete idle cells to implement rate adaptation, and thus the clock frequency may change during transmission.
  • the transmitting device 2701 receives the original data stream having the clock frequency f 0 and transmits the first data stream having the clock frequency f 1 .
  • the first data stream may be 2703 through at least one intermediate apparatus, the intermediate apparatus 2703 may also change the clock frequency of the first data stream, for example, from f 1 to f 2.
  • the sink device 2705 restores the clock frequency f 2 of the first data stream to the clock frequency f 0' of the original data stream.
  • the recovered clock frequency f 0 ' may be slightly different from the original clock frequency f 0 , but when the difference between the two is within the allowable range, it can be considered to restore the original clock frequency.
  • the method for how the receiving end device 2705 restores the original clock frequency is mainly described.
  • the sender device 2701 inserts the quantity flag k, and the receiver device 2705 can extract the quantity flag k from the received data stream.
  • the transmitting device 2701, the intermediate device 2703, and the receiving device 2705 need to set a certain buffer space.
  • the depth of the buffer queue can be adjusted in real time according to the difference between the number mark k and the value kn of the counter. For example, when the difference between k and kn is large, the depth of the queue is high. Referring to the method flow of FIG.
  • the data unit of the first data stream is sent to the cache queue and restored to the original data stream.
  • the receiving end device 2705 can monitor the average water level change of the queue in real time, and gradually increase the clock frequency of the original data stream output by the queue when the average water level is gradually increased. As the average water level gradually decreases, the clock frequency of the raw data stream output by the queue is gradually reduced.
  • the clock processing circuit can be used to smooth filter the clock frequency of the queue output original data stream to keep the average water level of the queue stable, so as to achieve stable generation of the original clock frequency f 0 ' .
  • the receiving end device extracts the quantity mark k from the first data stream, and is used to identify the number of data units or idle units in the original data stream. And the original data stream can be recovered according to the quantity mark k, thereby obtaining the clock frequency and time phase information of the original data stream, and transparent transmission of the clock frequency and time phase information of the service is realized.
  • FIG. 28 is a schematic structural diagram of a client device according to an embodiment of the present invention. As shown in FIG. 28, the method of the transmitting end may be performed after the encoding of the 100GE physical interface sending direction 2801, before the scrambling code, and the method of the receiving end may be performed after the descrambling code of the direction 2803 is received by the 100GE physical interface before decoding.
  • FIG. 29 is a schematic structural diagram of another client device according to an embodiment of the present invention. As shown in FIG. 29, the method of the transmitting end may be performed before the encoding of the 100GE physical interface sending direction 2901, and the receiving end method may be performed after the decoding of the 100GE physical interface receiving direction 2903.
  • the technical solution of the embodiment of the present invention is implemented on the client device, and can be effectively compatible with the existing bearer network.
  • FIG. 30 is a schematic structural diagram of an apparatus 3000 for transmitting a service according to an embodiment of the present invention.
  • the device can be a flexible Ethernet device, an Ethernet device, an OTN device, an SDH device, or the like.
  • the apparatus 3000 may include an acquisition module 3001, an insertion module 3003, and a transmission module 3005.
  • each functional module is logically divided, and the manner of division is not unique.
  • each module can be a separate circuit module or can be integrated into one circuit module.
  • Each module can be implemented in the form of an integrated circuit such as a chip.
  • the apparatus 3000 for transmitting a service according to an embodiment of the present invention may perform the method steps of the embodiment shown in FIG.
  • the obtaining module 3001 is configured to acquire an original data stream.
  • the inserting module 3003 is configured to insert a quantity mark k into the original data stream to generate a first data stream; wherein the quantity mark k is used to identify the number of first data units in the original data stream, the k Greater than or equal to zero.
  • the sending module 3005 is configured to send the first data stream.
  • the inserting module 3003 is configured to: obtain a first segment data stream from the original data stream, determine a quantity of a first data unit in the first segment data stream; and use the first segment data stream in the first segment data stream Insert the quantity marker in the first position k, the value of the quantity marker k being equal to the number of first data units in the first segment data stream, the first location being the location of the data unit that can be used to carry the quantity marker k.
  • the first data unit includes all data units of the first segment data stream, and the k is an integer greater than zero.
  • the first data unit is an idle unit of the first segment data stream, and the k is an integer greater than or equal to zero.
  • the insertion module 3003 is configured to: identify a start unit of the original data stream; and determine a location where the start unit is located as the first location.
  • the insertion module 3003 is configured to: set a threshold of the quantity mark k; and identify a first idleness of the first section data stream when a length of the first section data stream is greater than or equal to the threshold a unit; determining a location where the first idle unit is located as a first location.
  • the first data unit is subjected to an encoding process, or the first data unit is not subjected to an encoding process.
  • the apparatus 3000 further includes an add/drop module for increasing and/or reducing the number of free cells in the first data stream.
  • the device that sends the service carries the quantity mark k in the original data stream, and is used to identify the number of data units or idle units in the original data stream, so that the device receiving the service can recover the original data according to the quantity mark k.
  • the stream thereby obtaining the clock frequency and time phase information of the original data stream, realizes transparent transmission of the clock frequency and time phase information of the service.
  • FIG. 31 is a schematic structural diagram of an apparatus 3100 for receiving a service according to an embodiment of the present invention.
  • the device can be a flexible Ethernet device, an Ethernet device, an OTN device, an SDH device, or the like.
  • the apparatus may include: a receiving module 3101, an extracting module 3103, and a restoring module 3105.
  • each functional module is logically divided, and the manner of division is not unique.
  • each module can be a separate circuit module or can be integrated into one circuit module.
  • Each module can be implemented in the form of an integrated circuit such as a chip.
  • the apparatus 3100 for transmitting a service according to an embodiment of the present invention may perform the method steps of the embodiment shown in FIG.
  • the receiving module 3101 is configured to receive the first data stream.
  • the extracting module 3103 is configured to extract the quantity mark k in the first data stream, and determine the number of the first data unit in the first data stream, where the k is greater than or equal to zero.
  • the recovery module 3105 is configured to restore the first data stream to the original data stream, where the number of first data units in the original data stream is equal to the k.
  • the extracting module 3103 is configured to: obtain a first segment data stream from the first data stream, determine a first location in the first segment data stream, and extract a quantity marker from the first location k, the first location is a location where a data unit capable of carrying the quantity marker k is located.
  • the first data unit includes all data units of the first segment data stream, and the k is an integer greater than zero.
  • the first data unit is an idle unit of the first segment data stream, and the k is an integer greater than or equal to zero.
  • the recovery module 3105 is configured to: determine the number m of the first data unit in the first segment data stream, and adjust the first data in the first segment data stream according to the difference between the m and the k The number m of cells, such that m is equal to k.
  • the recovery module 3105 is configured to: when the m is greater than k, reduce mk idle units in the first segment data stream; when m is less than k, add km in the first segment data stream Free units.
  • the device 3100 further includes: a clock module, configured to acquire a clock frequency of the original data stream.
  • the device receiving the service extracts the quantity mark k from the first data stream, and is used to identify the number of data units or idle units in the original data stream. And can recover the original data stream according to the quantity mark k, thereby obtaining The clock frequency and time phase information of the original data stream are obtained, and the clock frequency and time phase information of the service are transparently transmitted.
  • FIG. 32 is a schematic structural diagram of a network system according to an embodiment of the present invention.
  • the network system can be a flexible Ethernet, Ethernet, OTN, SDH network, and the like.
  • the network system may include at least two network devices, such as a network device 3201 and a network device 3203.
  • Each network device may be a transmitting network device or a receiving network device, and may have a structure as shown in FIG. 30 and/or FIG.
  • FIG. 33 is a schematic structural diagram of a network device according to an embodiment of the present invention.
  • the network device can be a flexible Ethernet device, an Ethernet device, an OTN device, an SDH device, or the like.
  • the network device 3300 may include a processor 3301, a memory 3302, at least one network interface (eg, a network interface 3303, a network interface 3304), and a processing chip 3305.
  • the processor 3301 can be a general-purpose central processing unit (CPU), a microprocessor, a network processing unit (NPU), an application specific integrated circuit (ASIC), or At least one integrated circuit is used to execute the related program to implement the technical solution provided by the embodiment of the present invention.
  • CPU central processing unit
  • NPU network processing unit
  • ASIC application specific integrated circuit
  • the memory 3302 may be a read only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM).
  • the memory 3302 can store an operating system and other applications.
  • the program code for implementing the technical solution provided by the embodiment of the present invention is stored in the memory 3302 and executed by the processor 3301.
  • Network interfaces 3303, 3304 implement communication between network device 3300 and other devices or communication networks using transceivers such as, but not limited to, transceivers.
  • the network interfaces 3303, 3304 may have a transmitting function or a receiving function, and may also have a transmitting function and a receiving function.
  • the network interfaces 3303, 3304 may be logical ports (such as logical ports formed by several time slots), or may be physical interfaces (for example, a flexible Ethernet physical interface of 100G).
  • the processing chip 3305 can be implemented by an ASIC, a Field-Programmable Gate Array (FPGA), or the like.
  • a dedicated chip that can implement the technical solution of the present invention can also be a general-purpose chip that includes the functions of the technical solution of the present invention.
  • network device 3300 obtains the original data stream through network interface 3303 or 3304.
  • the network device 3300 executes the code stored in the memory 3302 by the processor 3301 or the code executed by the processing chip 3305 to perform its own storage, by: inserting a quantity mark k into the original data stream to generate a first data stream; wherein the quantity mark k is used to identify the number of first data units in the original data stream, the k being greater than or equal to zero.
  • the first data stream is transmitted over network interface 3304 or 3303.
  • network device 3300 receives the first data stream through network interface 3303 or 3304.
  • the network device 3300 executes the code stored in the memory 3302 by the processor 3301 or the code executed by the processing chip 3305 to perform its own storage, and implements: extracting the quantity mark k in the first data stream, and determining the first data unit in the first data stream. a quantity, the k being greater than or equal to zero; restoring the first data stream to the original data stream, the number of first data units in the original data stream being equal to the k.
  • the technical solution of any one embodiment of the present invention can be implemented by using the network device 3300 shown in FIG.
  • the device 3000 of FIG. 30 and the device 3100 of FIG. 31 may be implemented using the structure and scheme of the network device 3300.
  • the network device 3300 shown in FIG. 33 only shows the processor 3301, the memory 3302, the network interfaces 3303, 3304, and the processing chip 3305, in the specific implementation process, those skilled in the art should White, network device 3300 also contains other devices necessary to achieve normal operation.
  • the network device 3300 may also include hardware devices that implement other additional functions, depending on the particular needs.
  • the network device 3300 further includes a power source, a fan, a clock unit, a main control unit, and the like.
  • network device 3300 may also only include the components necessary to implement embodiments of the present invention, and does not necessarily include all of the devices shown in FIG.
  • the network device at the transmitting end carries the quantity mark k in the original data stream, and is used to identify the number of data units or idle units in the original data stream. Therefore, the receiving end network device can determine the number of data units or idle units in the original data stream according to the quantity flag k, thereby recovering the original data stream, obtaining the clock frequency and time phase information of the original data stream, and realizing the clock frequency of the service and Transparent transmission of time phase information.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

本发明实施例公开了一种发送和接收业务的方法、装置和网络系统。其中,发送业务的方法包括:发送端设备发送端设备获取原始数据流;在所述原始数据流中插入数量标记k,生成第一数据流;其中,所述数量标记k用于标识所述原始数据流中第一数据单元的数量,所述k大于或等于零;发送所述第一数据流。本发明实施例实现了业务的时钟频率和时间相位信息的透传。

Description

一种发送和接收业务的方法、装置和网络系统 技术领域
本发明涉及通信领域,尤其涉及一种发送和接收业务的方法、装置和网络系统。
背景技术
灵活以太网(FlexE)结合了以太网和传送网(例如,光传送网(Optical TransportNetwork,OTN)、同步数字体系(Synchronous Digital Hierarchy,SDH)等)的一些技术特性,是对以太网技术演进的一个重要里程碑。灵活以太网技术的出现,以太网物理接口呈现了虚拟化的特性。多个以太网物理接口可以进行级联,以支持若干个虚拟的逻辑端口。例如,4个100吉比特以太网(100Gigabit Ethernet,100GE)的物理接口级联成的一个400吉比特(400Gigabit,400G)灵活以太网物理接口组,可以支持若干个逻辑端口。
以太网物理接口为异步通信接口,允许正负100ppm(万分之一)的时钟频率差异。例如,10GE中,两个标称带宽为10G的物理接口,其中一个可能比标称值大万分之一,另一个比标称值小万分之一,即分别为10G*(1+0.0001)和10G*(1-0.0001)。逻辑端口的时钟频率继承了物理接口的时钟频率特性,也存在100ppm的偏差。例如,两个不同的物理接口或物理接口组上标称带宽为25G的逻辑端口,除去灵活以太网划分时隙和管理时隙的开销,实际带宽可能大约分别为25G*(20460/20461)*(1+0.0001)与25G*(20460/20461)*(1-0.0001)。当灵活以太网承载业务时,需要逐跳地进行空闲码块(Idle)的增删,以使业务的速率适配物理接口或逻辑端口之间带宽速率的偏差。图1为现有技术中灵活以太网的业务传输示意图。如图1所示,客户设备Ca和Cb之间的业务通过灵活以太网设备Pa、Pb、Pc承载时,需要在Pa、Pb、Pc上执行空闲单元增删。
但是,空闲码块的增删会导致业务本身的时钟频率和时间相位信息丢失,即,业务的时钟频率和时间相位信息无法实现透传,导致业务的源、宿网络设备无法保持时钟频率和时间相位的同步。
发明内容
有鉴于此,本发明实施例提供一种发送和接收业务的方法、装置和网络系统,可以解决灵活以太网中业务时钟频率和时间相位信息无法实现透传,导致业务的源、宿网络设备无法保持时钟频率和时间相位同步的问题。
第一方面,本发明实施例提供了一种发送业务的方法,包括:发送端设备获取原始数据流。然后,发送端设备在所述原始数据流中插入数量标记k,生成第一数据流;其中,所述数量标记k用于标识所述原始数据流中第一数据单元的数量,所述k大于或等于零。最后,发送端设备发送所述第一数据流。
通过本发明的技术方案,在原始数据流中插入数量标记k,用于标识原始数据流中第一数据单元的数量。使得接收端设备能够根据数量标记k,将经过空闲单元增删后的数据流恢复为原始数据流,从而获得原始数据流的时钟频率和时间相位信息,实现了业务的时钟频率和时间相位信息的透传。
在一种可能的实现方式中,所述在所述原始数据流中插入数量标记k,包括:从所述原始数据流中获取第一区段数据流,确定所述第一区段数据流中第一数据单元的数量;在 所述第一区段数据流中的第一位置插入数量标记k,所述数量标记k的值等于所述第一区段数据流中第一数据单元的数量,所述第一位置为能够用于承载所述数量标记k的数据单元所在的位置。
原始数据流进行区段划分,以便于数量标记k分区段插入。
在一种可能的实现方式中,所述第一数据单元包括所述第一区段数据流的全部数据单元,所述k为大于零的整数。
在原始数据流传输的过程中,可能会对空闲单元进行增删,导致原始数据流中数据单元的数量发生变化。因此,可以通过数量标记k来标识原始数据流中第一区段数据流的全部数据单元的数量。
在一种可能的实现方式中,第一数据单元为所述第一区段数据流的空闲单元,所述k为大于或等于零的整数。
由于在原始数据流传输的过程中,只会对空闲单元进行增删,因此,可以通过数量标记k标识原始数据流中第一区段数据流的空闲单元的数量。
在一种可能的实现方式中,所述从所述原始数据流中获取第一区段数据流,包括:别所述原始数据流的开始单元;将所述开始单元所在的位置确定为所述第一位置。
由于开始单元可以为具有固定图案的码块单元,即具有冗余信息,因此,可以用于承载数量标记k。可选地,还可以将开始单元所在的位置确定为所述第一区段数据流的边界。也就是说,开始单元可以用于承载数量标记k,也可以用于确定两个相邻的区段数据流的边界。
在一种可能的实现方式中,从所述原始数据流中获取第一区段数据流,包括:设置所述数量标记k的阈值;当所述第一区段数据流的长度大于或等于所述阈值时,识别所述第一区段数据流的第一空闲单元;将所述第一空闲单元所在的位置确定为第一位置。
由于空闲单元具有冗余信息,因此可以用于承载数量标记k。但是为了避免过度地利用空闲单元来承载数量标记k,当区段数据流的长度大于一定的阈值后,才允许在空闲单元中插入k。可选地,还可以将所述第一空闲单元所在的位置确定为所述第一区段数据流的边界。也就是说,第一空闲单元可以用于承载数量标记k,也可以用于确定两个相邻的区段数据流的边界。
在一种可能的实现方式中,所述第一数据单元经过编码处理,或者,所述第一数据单元未经过编码处理。
本发明的技术方案可以在原始数据流编码前实现,还可以在原始数据流编码后实现。
在一种可能的实现方式中,所述生成第一数据流之后,还包括:增加和/或减少所述第一数据流中空闲单元的数量。
在插入数量标记k之后,可以对携带数量标记k的第一数据流的空闲单元进行增删。
第二方面,本发明实施例提供了一种接收业务的方法,包括:接收端设备接收第一数据流;在所述第一数据流中提取数量标记k,确定第一数据流中第一数据单元的数量,所述k大于或等于零;将所述第一数据流恢复为所述原始数据流,所述原始数据流中第一数据单元的数量等于所述k。
通过本发明的技术方案,从第一数据流中提取数量标记k,根据数量标记k确定原始数据流中第一数据单元的数量,并将第一数据流恢复为原始数据流。接收端设备将经过空 闲单元增删后的数据流恢复为原始数据流,从而获得原始数据流的时钟频率和时间相位信息,实现了业务的时钟频率和时间相位信息的透传。
在一种可能的实现方式中,所述在所述第一数据流中提取数量标记k,包括:从所述第一数据流中获取第一区段数据流,确定所述第一区段数据流中的第一位置,从所述第一位置中提取数量标记k,所述第一位置为能够用于承载所述数量标记k的数据单元所在的位置。
第一数据流进行区段划分,以便于数量标记k分区段提取。
在一种可能的实现方式中,所述第一数据单元包括所述第一区段数据流的全部数据单元,所述k为大于零的整数。
在原始数据流传输的过程中,可能会对空闲单元进行增删,导致原始数据流中数据单元的数量发生变化。因此,可以通过数量标记k来识别第一区段数据流恢复为原始数据流后具有的全部数据单元的数量。
在一种可能的实现方式中,第一数据单元为所述第一区段数据流的空闲单元,所述k为大于或等于零的整数。
由于在原始数据流传输的过程中,只会对空闲单元进行增删,因此,可以通过数量标记k识别第一区段数据流恢复为原始数据流后空闲单元的数量。
在一种可能的实现方式中,所述将所述第一数据流恢复为所述原始数据流,包括:确定所述第一区段数据流中第一数据单元的数量m,根据所述m与k的差值,调整所述第一区段数据流中第一数据单元的数量m,使得m等于k。
根据第一数据流中第一区段数据流的第一数据单元的数量和数量标记k的差值,将第一数据流恢复为原始数据流,使得第一区段数据流和原始数据流具有相同数量的第一数据单元。
在一种可能的实现方式中,所述根据所述m与k的差值,调整所述第一区段数据流中第一数据单元的数量m,包括:当所述m大于k时,在所述第一区段数据流减少m-k个空闲单元;当m小于k时,在所述第一区段数据流中增加k-m个空闲单元。
通过对空闲单元的反增删,将第一数据流恢复为原始数据流。
在一种可能的实现方式中,所述方法还包括:获取所述原始数据流的时钟频率。
将第一数据流恢复为原始数据流后,可以获得原始数据流的时钟频率,实现了业务的时钟频率透传。
第三方面,本发明实施例提供了一种发送业务的装置,包括:获取模块,用于获取原始数据流;插入模块,用于在所述原始数据流中插入数量标记k,生成第一数据流;其中,所述数量标记k用于标识所述原始数据流中第一数据单元的数量,所述k大于或等于零;发送模块,用于发送所述第一数据流。
通过本发明的技术方案,在原始数据流中插入数量标记k,用于标识原始数据流中第一数据单元的数量。使得接收业务的装置能够根据数量标记k,将经过空闲单元增删后的数据流恢复为原始数据流,从而获得原始数据流的时钟频率和时间相位信息,实现了业务的时钟频率和时间相位信息的透传。
在一种可能的实现方式中,所述插入模块,用于:从所述原始数据流中获取第一区段数据流,确定所述第一区段数据流中第一数据单元的数量;在所述第一区段数据流中的第 一位置插入数量标记k,所述数量标记k的值等于所述第一区段数据流中第一数据单元的数量,所述第一位置为能够用于承载所述数量标记k的数据单元所在的位置。
原始数据流进行区段划分,以便于数量标记k分区段插入。
在一种可能的实现方式中,所述第一数据单元包括所述第一区段数据流的全部数据单元,所述k为大于零的整数。
在原始数据流传输的过程中,可能会对空闲单元进行增删,导致原始数据流中数据单元的数量发生变化。因此,可以通过数量标记k来标识原始数据流中第一区段数据流的全部数据单元的数量。
在一种可能的实现方式中,第一数据单元为所述第一区段数据流的空闲单元,所述k为大于或等于零的整数。
由于在原始数据流传输的过程中,只会对空闲单元进行增删,因此,可以通过数量标记k标识原始数据流中第一区段数据流的空闲单元的数量。
在一种可能的实现方式中,所述插入模块,用于:识别所述原始数据流的开始单元;将所述开始单元所在的位置确定为所述第一位置。
由于开始单元可以为具有固定图案的码块单元,即具有冗余信息,因此,可以用于承载数量标记k。可选地,还可以将开始单元所在的位置确定为所述第一区段数据流的边界。也就是说,开始单元可以用于承载数量标记k,也可以用于确定两个相邻的区段数据流的边界。
在一种可能的实现方式中,所述插入模块,用于:设置所述数量标记k的阈值;当所述第一区段数据流的长度大于或等于所述阈值时,识别所述第一区段数据流的第一空闲单元;将所述第一空闲单元所在的位置确定为第一位置。
由于空闲单元具有冗余信息,因此可以用于承载数量标记k。但是为了避免过度地利用空闲单元来承载数量标记k,当区段数据流的长度大于一定的阈值后,才允许在空闲单元中插入k。可选地,还可以将所述第一空闲单元所在的位置确定为所述第一区段数据流的边界。也就是说,第一空闲单元可以用于承载数量标记k,也可以用于确定两个相邻的区段数据流的边界。
在一种可能的实现方式中,所述第一数据单元经过编码处理,或者,所述第一数据单元未经过编码处理。
本发明的技术方案可以在原始数据流编码前实现,还可以在原始数据流编码后实现。
在一种可能的实现方式中,所述装置还包括:增删模块,用于增加和/或减少所述第一数据流中空闲单元的数量。
在插入数量标记k之后,可以对携带数量标记k的第一数据流的空闲单元进行增删。
第四方面,本发明实施例提供了一种接收业务的装置,包括:接收模块,用于接收第一数据流;提取模块,用于在所述第一数据流中提取数量标记k,确定第一数据流中第一数据单元的数量,所述k大于或等于零;恢复模块,用于将所述第一数据流恢复为所述原始数据流,所述原始数据流中第一数据单元的数量等于所述k。
通过本发明的技术方案,从第一数据流中提取数量标记k,根据数量标记k确定原始数据流中第一数据单元的数量,并将第一数据流恢复为原始数据流。接收业务的装置将经过空闲单元增删后的数据流恢复为原始数据流,从而获得原始数据流的时钟频率和时间相位信息,实现了业务的时钟频率和时间相位信息的透传。
在一种可能的实现方式中,所述提取模块,用于:从所述第一数据流中获取第一
区段数据流,确定所述第一区段数据流中的第一位置,从所述第一位置中提取数量标记k,所述第一位置为能够用于承载所述数量标记k的数据单元所在的位置。
第一数据流进行区段划分,以便于数量标记k分区段提取。
在一种可能的实现方式中,所述第一数据单元包括所述第一区段数据流的全部数据单元,所述k为大于零的整数。
在原始数据流传输的过程中,可能会对空闲单元进行增删,导致原始数据流中数据单元的数量发生变化。因此,可以通过数量标记k来识别第一区段数据流恢复为原始数据流后具有的全部数据单元的数量。
在一种可能的实现方式中,第一数据单元为所述第一区段数据流的空闲单元,所述k为大于或等于零的整数。
由于在原始数据流传输的过程中,只会对空闲单元进行增删,因此,可以通过数量标记k识别第一区段数据流恢复为原始数据流后空闲单元的数量。
在一种可能的实现方式中,所述恢复模块,用于:确定所述第一区段数据流中第一数据单元的数量m,根据所述m与k的差值,调整所述第一区段数据流中第一数据单元的数量m,使得m等于k。
根据第一数据流中第一区段数据流的第一数据单元的数量和数量标记k的差值,将第一数据流恢复为原始数据流,使得第一区段数据流和原始数据流具有相同数量的第一数据单元。
在一种可能的实现方式中,所述恢复模块,用于:当所述m大于k时,在所述第一区段数据流减少m-k个空闲单元;当m小于k时,在所述第一区段数据流中增加k-m个空闲单元。
通过对空闲单元的反增删,将第一数据流恢复为原始数据流。
在一种可能的实现方式中,所述装置还包括:时钟模块,用于获取所述原始数据流的时钟频率。
将第一数据流恢复为原始数据流后,可以获得原始数据流的时钟频率,实现了业务的时钟频率透传。
第五方面,本发明实施例提供了一种网络系统,包括如第三方面及第三方面的任意一种可能的实现方式所述的装置,以及如第四方面及第四方面的任意一种可能的实现方式所述的装置。
第六方面,本发明实施例提供了一种网络设备,包括:处理器、存储器和至少一个网络接口;存储器用于存储计算机执行指令,当网络设备运行时,处理器执行存储器存储的计算机执行指令,以使网络设备执行如第一方面及第一方面的任意一种可能的实现方式所述的方法。
第七方面,本发明实施例提供了一种网络设备,包括:处理器、存储器和至少一个网络接口;存储器用于存储计算机执行指令,当网络设备运行时,处理器执行存储器存储的计算机执行指令,以使网络设备执行如第二方面及第二方面的任意一种可能的实现方式所述的方法。
附图说明
为了更清楚地说明本发明的实施例或现有技术中的技术方案,下面将对描述背景技术和实施例时所使用的附图作简单的介绍。
图1为现有技术中的灵活以太网的业务传输示意图;
图2a为本发明实施例提供的一种灵活以太网的业务传输示意图;
图2b为本发明实施例提供的一种灵活以太网的业务传输示意图;
图3为本发明实施例提供的另一种灵活以太网的业务传输示意图;
图4为本发明实施例提供的一种数据流的格式示意图;
图5为本发明实施例提供的另一种数据流的格式示意图;
图6为本发明实施例提供的一种开始码块的格式示意图;
图7为本发明实施例提供的六种码块的格式示意图;
图8为本发明实施例提供的三种码块的格式示意图;
图9为本发明实施例提供的一种数据流的格式示意图;
图10为本发明实施例提供的一种码块的格式示意图;
图11为本发明实施例提供的一种数据流的格式示意图;
图12为本发明实施例提供的一种数据流的格式示意图;
图13为本发明实施例提供的另一种数据流的格式示意图;
图14为本发明实施例提供的五种码块的格式示意图;
图15为本发明实施例提供的一种发送业务的方法的示范性流程图;
图16为本发明实施例提供的一种40GE物理接口的数据处理流程示意图;
图17为本发明实施例提供的一种AM格式转换示意图;
图18为本发明实施例提供的四种码块的格式示意图;
图19为本发明实施例提供的一种发送端设备的结构示意图;
图20为本发明实施例提供的一种10GE物理接口的数据处理流程示意图;
图21为本发明实施例提供的另一种发送端设备的结构示意图;
图22为本发明实施例提供的一种数量标记插入的方法流程图;
图23为本发明实施例提供的一种接收业务的方法的示范性流程图;
图24为本发明实施例提供的一种接收端设备的结构示意图;
图25为本发明实施例提供的另一种接收端设备的结构示意图;
图26为本发明实施例提供的一种数量标记提取的方法流程图;
图27为本发明实施例提供的一种时钟频率恢复的系统结构示意图;
图28为本发明实施例提供的一种客户设备的结构示意图;
图29为本发明实施例提供的一种客户设备的结构示意图;
图30为本发明实施例提供的一种发送业务的装置的结构示意图;
图31为本发明实施例提供的一种接收业务的装置的结构示意图;
图32为本发明实施例提供的一种网络系统的结构示意图;
图33为本发明是实施例提供的一种网络设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
本发明实施例提供的技术方案可以应用于灵活以太网中,还可以应用于其他类型的网络中,例如以太网、光传送网(Optical Transport Network,OTN)网络、同步数字体系(Synchronous Digital Hierarchy,SDH)网络等。本发明实施例主要以灵活以太网为例进行说明。
图2a是本发明实施例提供的一种灵活以太网的业务传输示意图。如图2a所示,客户设备Ca需要发送一路业务到客户设备Cb,Ca和Cb之间可以通过一个承载网络进行业务传输。例如,由多个灵活以太网设备(例如Pa、Pb和Pc)构成的灵活以太网作为承载网络。客户设备可以为路由器,交换机等设备,灵活以太网设备也可以为以太网设备、OTN设备、SDH设备等。
本发明实施例中,为了实现业务的时钟频率和时间相位信息的透传,灵活以太网的发送端设备Pa从客户设备Ca接收到业务的原始数据流之后,可以在原始数据流中插入数量标记k,对原始数据流的数据单元数量进行标识。其中,数据单元包括空闲单元和非空闲单元。空闲单元具有固定的数据格式。非空闲单元为除了空闲单元之外的数据单元,包括多种数据格式。本发明实施例中,可以仅对空闲单元的数量进行标记,也可以对全部数据单元的数量进行标记。在插入数量标记k后,发送端设备Pa还可以执行和现有技术相同的空闲单元增删。在灵活以太网的中间设备Pb中,可以执行和现有技术相同的空闲单元增删。中间设备还可以包含多个设备,即原始数据流可以经过多次的空闲单元增删。在灵活以太网的接收端设备Pc中,提取数量标记k,并根据数量标记k进行空闲单元反增删,即恢复出原始数据流。空闲单元反增删,即原始数据流增加了n个空闲单元,则接收端设备Pc删除n个空闲单元,或者原始数据流删除了n个空闲单元,则接收端设备Pc增加n个空闲单元。恢复后的原始数据流和进行空闲单元增删之前的原始数据流具有相同数量的数据单元或空闲单元。因此,接收端设备Pc可以根据恢复后的原始数据流获取到原始数据流的时钟频率和时间相位信息,实现了业务的时钟频率和时间相位信息的透传。
图2b是本发明实施例提供的一种灵活以太网的业务传输示意图。如图2b所示,业务从客户设备Cb发送到客户设备Ca,执行的流程和图2a相反,例如,图2b中Pc执行的步骤和图2a中Pa的步骤相同,图2b中Pa执行的步骤和图2a中Pc执行的步骤相同。
图3是本发明实施例提供的另一种灵活以太网的业务传输示意图。如图3所示,以业务从客户设备Ca发送到客户设备Cb为例进行说明。可以在客户设备Ca上插入数量标记k,在客户设备Cb提取数量标记k以及进行空闲单元的反增删,恢复原始数据。灵活以太网设备Pa、Pb、Pc等可以执行和现有技术相同的空闲单元增删,不需要做任何改进,使得本发明的技术方案很好地兼容到现有的灵活以太网中。
下面对本发明实施例中的空闲单元数量的标记原理进行示例性的说明。原始数据流的数据格式可以包括编码后的数据格式,还可以包括未编码的数据格式。空闲单元的格式可以包括空闲码块、空闲字节单元等。
对编码后的数据格式,以64B/66B编码为例进行说明:
图4为本发明实施例提供的一种数据流的格式示意图。如图4所示,原始数据流中,把开始码块S、结束码块T,以及多个码块D看作一个分组。例如图中示出的分组401和分组403。任意两个分组之间可能存在一个或多个空闲码块Idle,例如,图中示出的其中两个Idle 405和Idle 407。发送端设备按照时间t接收到原始数据流之后,还可以对原始数据流进行延迟,例如图4中,对原始数据流延迟一个码块。对原始数据流进行延迟之后,发送端设备 或中间设备可以对空闲码块进行增删操作。例如图4中示出了两种情况,在原始数据流的基础上了删除一个Idle 407,以及在原始数据流的基础上增加一个Idle 409。接收端设备将经过空闲码块增删的数据流恢复为原始数据流。
图5为本发明实施例提供的另一种数据流的格式示意图。如图5所示,发送端设备按照时间t接收到原始数据流之后,可以在原始数据流的开始码块(例如,开始码块505)中插入数量标记k。在发送端设备或中间设备进行空闲码块增删的过程中,数量标记k一直存在于数据流中,直到被接收端设备提取出来,用于恢复原始数据。如图5所示,包括分组501和分组503。分组501和分组503可以是相邻的分组,或者分组501和分组503之间还可以存在其他分组。也就是说,可以针对一个分组插入一个数量标记k,还可以针对多个分组插入一个数量标记k。把分组501的开始码块和分组503的开始码块之间的码块看作长度为k的区段数据流(包含分组501的开始码块,不包含分组503的开始码块)。可以在开始码块505中插入数量标记k,数量标记k可以标识长度为k的区段数据流全部的码块数量。本发明实施例中,k不包含分组503的开始码块505,当然,也可以包含分组503的开始码块,本发明不作限定。由于非空闲码块的数量是不变的,只会对空闲码块进行增删,数量标记k还可以直接标识空闲码块的数量。空闲码块可以存在于分组之间,也可能存在于分组内。图中还示出了分组501的中的插入了数量标记k0的开始码块507,其作用和携带数量标记k的开始码块505类似,此处不再赘述。
以太网(包括灵活以太网)数据帧中的开始码块S为比特图案固定的码块,并且在传输的过程中不发生改变,因此包含冗余信息,可以用于携带数量标记k等信息。例如,在媒质不相关接口(Media Independent Inteface,MII)接口上,前导码元包括8个字节的发送(字符)数据(Transmit(character)Data,TXD)/接收(字符)数据(Received(character)Data,RXD),并通过8个比特的发送(字符)控制(信号)(Transmit(character)Control(s ignals),TXC)/接收(字符)控制(信号)(Received(character)Control(s ignals),RXC)指示。例如前导码元的<TXC,TXD>为:<1,0xFB><0,0x55><0,0x55><0,0x55><0,0x55><0,0x55><0,0x55><0,0xD5>。其中,0xFB为帧开始控制字符“/S/”,0xD5为帧开始定界符(Start of Frame Delimiter,SFD)。前导码元编码后的数据格式称为开始码块,8字节的前导码元边界与64B/66B码块的边界对齐,例如“/S/”与开始码块的边界对齐。图6为本发明实施例提供的一种开始码块的64B/66B编码格式,包含同步头“10”和控制码块类型“0x78”。
在开始码块中插入数量标记k,可以将开始码块更改为通过预设图案进行标识的码块。图7是本发明实施例提供的六种码块的格式示意图。例如,码块701在图6所示的开始码块的基础上,将D1的“0x55”更改为“0x00”,将D7的“0xD5”更改为“0xFF”。码块703,将D1改为“0xA”。码块705,将D7改为“0xAA”。码块707,将D7改为“0xA”。码块709,将D1改为“0xAA”,将D7改为“0xAA”。码块711,将D1改为“0xA”,将D7改为“0xA”。上述六种码块中,可以利用D2、D3、D4、D5、D6来携带数量标记k。还可以采用其他的码块格式,图8为本发明实施例提供的三种码块的格式示意图。码块801和803,采用预设图案为“0x4B+0xA”标识码块格式。码块805,将控制码块类型“0x78”更改为“0xFF”。具体实现方式不限于图7和图8中示出的码块格式,只要能将携带k的开始码块标识出来即可。
为了降低处理延时,减小缓存空间,还可以在图5的基础上进行区段划分。图9为本发明实施例提供的一种数据流的格式示意图。如图9所示,将长度为k的数据流分成两个区段, 长度分别为k1、k2。其中,可以在区段k1之后的第一个码块901(空闲码块)插入数量标记k1,用于标识区段k1中全部码块的数量或空闲码块的数量。在区段k2之后的第一个码块903(开始码块)插入数量标记k2,用于标识区段k2中全部码块的数量或空闲码块的数量。在空闲码块和开始码块分别插入数量标记k1、k2时,可以将空闲码块和开始码块更改为通过预设图案进行标识的码块,参见图7和图8所示的实施例,此处不再赘述。可选地,可以对携带k1的空闲码块901和携带k2的开始码块903采用不同预设图案进行标识,以便于接收端设备快速恢复出原来的码块。由于开始码块和结束码块通常是成对出现的,以满足开始码块中的字符“/S/”和结束码块中的字符“/T/”的配对关系。用于插入数量标记k1的空闲码块可以看作是一个分组的开始码块,可选地,还可以将携带k1的码块后续的任意一个空闲码块设置为结束码块。图中还示出了插入了数量标记k0的开始码块905,其作用和携带的k1开始码块901以及携带的k2的开始码块903类似,此处不再赘述。
为了确保数量标记k、k1、k2等的可靠性,还可以对数量标记k、k1、k2等字段进行校验。图10为本发明实施例提供的一种码块格式示意图。针对数量标记k设置循环冗余校验(Cyclic Redundancy Check,CRC)校验位,如CRC8,以便接收端设备对传输可靠性进行验证。
可以在原始数据流中的全部开始码块或部分开始码块中插入数量标记。在开始码块或空闲码块中插入数量标记,实际上是将开始码块或空闲码块替换为携带数量标记的码块。可以先将开始码块或空闲码块更改为预设图案标识的码块,然后在预设图案标识的码块插入数量标记。或者先在开始码块或空闲码块中插入数量标记,然后再将插入数量标记后的开始码块或空闲码块更改为预设图案标识的码块。还可以将携带数量标记的预设图案标识码块直接插入开始码块或空闲码块的位置,本发明不作限定。
对未编码的数据格式,以四字节粒度进行增删的数据格式进行说明:
对于未编码的数据格式,空闲单元可以包括多个空闲字节,例如,可以基于4字节粒度的空闲单元或8字节粒度的空闲单元进行空闲字节增删。8字节可以与一个64B/66B码块对应,因此与编码后的处理方式类似。图11为本发明实施例提供的一种数据流的格式示意图。如图11所示,MII字节数据流<TXC/RXC,TXD/RXD>与64B/66B码块具有一一对应的关系。例如,8个空闲字节“/i/”对应一个空闲码块,8个数据字节“/d/”对应一个数据码块,以帧开始控制字符“/S/”为起始位置的8字节对应一个开始码块。图11中示出了三种情形:第一种情形,原始数据流中,帧开始控制字符“/S/”对应64B/66B码块的第五个位置。第二种情形,在原始数据流的基础上删除了四个空闲字节1101,帧开始控制字符“/S/”对应64B/66B码块的第一个位置。第三种情形,在原始数据流的基础上增加了四个空闲字节1103,帧开始控制字符“/S/”对应64B/66B码块的第一个位置。
图12为本发明实施例提供的一种数据流的格式示意图。如图12所示,在原始数据流中插入数量标记k。数量标记k可以以字节为单位标识数量,也可以以四字节为单位标识数量,还可以以八字节为单位标识数量。图12中,在原始数据流的帧开始控制字符“/S/”所在的八字节单元1201、1202(称为前导码元字节单元)插入数量标记k。即,数量标记k可以标识前导码元字节单元之前的区段数据流的数据字节数量或空闲字节数量。图12中,八字节单元1201的帧开始控制字符“/S/”对应64B/66B码块的第五个位置,八字节单元1203帧开始控制字符/S/”对应64B/66B码块的第一个位置。并且,携带k的八字节单元可以采用“0x00”、“0xFF”等预设字节进行标识。可选地,还可以采用C字段(CRC)对字段k进行 校验。
为了降低处理延时,减小缓存空间,还可以在图12的基础上,可以将长度k的数据流进行区段划分,分为长度为k1、k2的两段数据流。图13为本发明实施例提供的另一种数据流的格式示意图。可以在区段k1的之后的第一个八字节单元1303(空闲字节单元)插入数量标记k1,用于标识区段k1中全部数据字节的数量或空闲字节的数量。在区段k2之后的第一个八字节单元1301(前导码元字节单元)插入数量标记k2,用于标识区段k2中全部数据字节的数量或空闲字节的数量。如图13所示,开始控制字符“/S/”可以对应64B/66B码块的第一个位置或第五个位置。携带k1的八字节单元可以采用预设的字节进行标识,例如,八字节单元1303的“0xFF”、“0x00”,八字节单元1305的“0x9C”,八字节单元1307的“0xF0”等。携带k2的八字节单元1301可以采用“0x00”、“0xFF”等预设字节进行标识。可选地,对于携带k1的空闲字节单元和携带k2的前导码元字节单元,可以采用不同预设字节进行标识,以便于接收端设备快速恢复出原来的八字节单元。可选地,还可以采用C字段(CRC)对字段k1、k2进行校验。
可以在原始数据流中的全部前导码元字节单元或部分前导码元字节单元中插入数量标记。在前导码元字节单元或空闲字节单元中插入数量标记,实际上是将前导码元字节单元或空闲字节单元替换为携带数量标记的单元。可以先在前导码元字节单元或空闲字节单元中插入预设字节,然后在预设字节标识的单元插入数量标记。或者先在前导码元字节单元或空闲字节单元中插入数量标记,然后再在插入数量标记后的前导码元字节单元或空闲字节单元插入预设字节。还可以将携带数量标记和预设字节的单元直接插入前导码元字节单元或空闲字节单元的位置,本发明不作限定。
8字节的MII字节数据流与64B/66B码块具有对应关系。因此,携带k、k1、k2的八字节单元,可以对应如图14所示的五种编码块格式。如图14所示,图12的八字节单元1201、1203和图13的八字节单元1301可以对应码块1401。图13的八字节单元1303可以对应码块1403。图13的八字节单元1305可以对应码块1405。图13的八字节单元1307对应码块1407或码块1409。
可见,数量标记k、k1、k2可以采用8比特、16比特、24比特、32比特等字段长度表示。其中,采用8比特长度时,表达的范围包括0-255,采用16比特长度时,表达的范围包括0-65535,依次类推,可以根据区段数据流划分的长度,选择不同的比特长度。
本发明实施例中,将原始数据流划分为多个区段数据流,针对每个区段数据流,寻找一个能够用于插入数量标记的数据单元,例如,开始单元、空闲单元等。用于插入数量标记的数据单元可以位于被标识的区段数据流的相邻位置,也可以位于不相邻的位置。插入数量标记的数据单元可以位于被标识的区段数据流之前,也可以位于被标识的区段数据流之后,本发明不作限定。并且,用于插入数量标记的数据单元可以标识区段数据流的起始位置,还可以用于标识区段数据流的结束位置。例如,任意一个开始码块可以标识该开始码块所在的区段数据流的起始位置,还可以标识上一个区段数据流的结束位置。
参考上述空闲单元数量标记的原理,下面从处理流程上对本发明实施例进行说明。图15是本发明实施例提供的一种发送业务的方法的示范性流程图。如图15所示,该方法可以由灵活以太网的发送端设备执行。包括如下步骤:
S1501,发送端设备获取原始数据流。
本发明实施例中,原始数据流可以为包含分组间隙(Interpacket Gap,IPG)的业务 数据流,例如,以太网分组业务数据流。其中,IPG可以为空闲单元,具有多种数据格式,例如包括:媒质访问控制(Media Access Control,MAC)层或以上的空闲报文,MII空闲字节单元,具有物理层编码格式的空闲码块。空闲码块的编码格式例如:64B/66B编码、8B/10B编码、512B/514B编码等。
S1503,在所述原始数据流中插入数量标记k,生成第一数据流;其中,所述数量标记k用于标识原始数据流中第一数据单元的数量,k大于或等于零。
例如,第一数据单元可以为原始数据流的全部数据单元,还可以为原始数据流的空闲单元。当数量标记k用于标识原始数据流中全部数据单元的数量,k可以为大于零的整数。当数量标记k用于标识原始数据流中空闲单元的数量,k可以为大于或等于零的整数。
S1505,发送携带数量标记k的第一数据流。
本发明实施例中,主要以灵活以太网承载40GE业务和10GE业务为例进行说明。100GE或以上的业务和40GE业务的处理流程类似,25GE业务和10GE业务处理流程类似。
40GE业务
为了更清楚地描述本发明实施例的技术方案,首先对40GE的物理接口进行简单说明。其中,40GE物理接口的MII称为40Gbps媒质不相关接口(40Gbps Media IndependentInteface,XLGMII)。XLGMII继承了40GE物理接口对外的时钟频率和时间相位,标称速率为40Gbps/64*(16383/16384)=625*(16383/16384)MHz。图16为本发明实施例提供的一种40GE物理接口的数据处理流程示意图。如图16所示,40GE物理接口的物理层结构包括物理编码子层(Physical Coding Sub-layer,PCS)1601,还包括物理媒质连接子层(Physical Medium Attachment,PMA)、物理媒质相关子层(Physical Medium Dependent,PMD)、前向纠错(Forward Error Correct ion,FEC)1603中的任意一种或多种子层。40GE物理接口的物理层结构还包括调和适配子层(Reconciliation Sub-layer,RS)(图中未示出)。XLGMII接口位于RS和PCS之间。其中,PCS的发送方向处理1605,可以包括编码、扰码、多通道分发、对齐码块(Alignment Marker,AM)插入等。PCS的接收方向处理1607,可以包括多通道码元同步、AM锁定和通道对齐、误码率(Bit Error Rate,BER)监控、通道重排和合并为串行码元、AM删除、解扰码、解码等。图16所示的处理步骤可以参照现有技术。发送方向1605,PCS从XLGMII接口接收到数据流后,需要将数据流分发到多个通道中(多通道分发),以及在每个通道上插入AM(AM插入)。接收方向1607,PCS将数据流发送到XLGMII接口之前,从多个通道接收到数据流,对多个通道的数据流进行对齐、重新排序,恢复串行的数据流(多通道码元同步、AM锁定和通道对齐、通道重排和合并为串行码元),并删除每个通道的AM(AM删除),然后进行解扰码和解码。
其中,原始数据流可以从40GE物理接口接收,则步骤S1503可以在40GE物理接口接收方向处理1607的解扰码之后执行,可以在解码之前或解码之后执行。本发明实施例可以基于图16所示的数据处理流程来实现,但不限于图16所示的例子,例如,数据处理流程可以不包含AM删除步骤。如果AM没有被删除,则插入数量标记k时,还需要把AM作为原始数据流中的一个数据单元进行统计。图17为本发明实施例提供的一种AM格式转换示意图。如图17所示,可以在AM锁定和多通道对齐之后,将数据流A的AM码块(如AM0、AM1、AM2、AM3)替换为数据流B中的特殊码块。图18是本发明实施例提供的四种码块格式示意图。如图18所示,AM0、AM1、AM2、AM3分别替换为码块1801、1803、1805、1807。或者,AM0、AM1、AM2、AM3也可以替换为四个相同的码块,例如上述四种码块中的任意一种。
图19为本发明实施例提供的一种发送端设备1900的结构示意图。如图19所示,发送端设备1900通过40GE物理接口PMA/PMD/FEC 1901接收原始数据流,40GE物理接口PCS接收方向处理1903可以参见图16所示的接收方向处理1607。PCS接收方向处理1903可以通过物理电路实现,也可以通过逻辑电路实现,可以通过软件、硬件,或者软件和硬件的结合来实现。插入数量标记k 1905可以在PCS接收方向处理1903的过程中实现,也可以在PCS接收方向处理1903后实现。可选地,在插入数量标记k 1905后,可以对空闲单元进行增删1907来使得速率适配。对空闲单元增删使得速率适配可以参见现有技术。然后,插入数量标记k后的第一数据流可以通过灵活以太网物理接口(或接口组)1909形成的40GE逻辑端口1911发送出去。
10GE业务
图20为本发明实施例提供的一种10GE物理接口的数据处理流程示意图。10GE物理接口的MII称为XGMII,XGMII采用32比特的数据位宽,帧开始控制字符和4字节边界对齐,即帧开始控制字符可能位于64B/66B码块的第五个位置或第一个位置。如图20所示,10GE物理接口的物理层结构和40GE物理接口类似,包括PCS 2001和PMA、PMD、FEC 2003中的任意一个或多个子层。PCS的发送方向处理2005,可以包括编码和扰码。PCS的接收方向处理2007,可以包括码元同步、解扰码和解码。由于目前灵活以太网是基于100GE物理接口,按照64B/66B码块进行时分复用(Time Division Multiplex,TDM)划分逻辑端口,因此,需要对10GE业务进行码块类型转换。也就是说,在PCS的接收方向2007,先进行解码(例如64B/66B解码),然后基于解码后的MII字节数据流进行空闲字节的增删。例如,如果帧开始控制字符位于64B/66B码块的第五个位置时,可以通过空闲字节增删的方式将数据流整体向前或向后移动4个字节,以使帧开始控制字符和64B/66B码块的边界对齐。
其中,原始数据流可以从10GE物理接口接收,则步骤S1503可以在10GE物理接口接收方向2007的解码之后或解码之前执行。例如,本发明实施例可以基于图20所示的数据处理流程来实现,但不限于图20所示的例子,例如,数据处理流程可以不包含解码步骤,则S1503可以在解扰码之后执行。
图21为本发明实施例提供的一种发送端设备2100的结构示意图。如图21所示,发送端设备2100通过10GE物理接口PMA/PMD/FEC 2101接收原始数据流,10GE物理接口PCS接收方向处理2103可以参见图20所示的接收方向处理2007。PCS接收方向处理2103可以通过物理电路实现,也可以通过逻辑电路实现,可以通过软件、硬件,或者软件和硬件的结合来实现。插入数量标记k 2105可以在PCS接收方向处理2103的过程中实现,也可以在PCS接收方向处理2103之后实现。可选地,在插入数量标记k 2105后,可以对空闲单元进行增2107作来使得速率适配。然后,对插入数量标记k后的第一数据流进行编码2109,通过灵活以太网物理接口(或接口组)2111形成的10GE逻辑端口2113将第一数据流发送出去。可选地,插入数量标记k 2105和空闲单元增删2107,可以在编码2109之前执行,还可以在编码2109之后执行。如果PCS接收方向没有解码,此处也不需要编码。
下面对如何插入数量标记k进行示例性的说明。图22为本发明实施例提供的一种数量标记插入的方法流程图。如图22所示,S2201,设置一个计数器,从原始数据流中接收到一个数据单元时,计数器的值加1。其中,数据单元的数据格式可以包括码块、字节等。例如,数据单元的数据格式为码块,原始数据流的数据单元可以包括开始码块S、结束码块T、码块D以及空闲码块Idle,还可以包括AM码块等。S2202,如果当前的数据单元为开 始单元,例如开始码块S,则执行S2203,可以在当前的数据单元插入当前计数器的值k(数量标记k),即将当前的数据单元替换为携带k的数据单元。然后,将计数器清零。
S2202,如果当前的数据单元不是开始单元,则需要根据计数器的值,判断当前的数据单元能否插入数量标记k。S2204,如果当前计数器的值k大于或等于预设的阈值,则S2205,判断当前数据单元能否用于插入数量标记k。例如,当前的数据单元是空闲单元,则可以在当前的空闲单元中插入数量标记k。如果当前的数据单元不是空闲单元,则可以对当前数据单元进行单元转换,然后插入数量标记k。例如,当前数据单元携带本地错误(Local Fault,LF)、远端错误(Remote Fault,RF)等命令字时,将LF、RF等转换到其他的空闲码块上,在当前数据单元的位置插入数量标记k。S2205,如果当前数据单元无法用于插入数量标记k,则S2206,结束流程,接收原始数据流的下一个数据单元,再判断下一个数据单元能否插入数量标记k。S2204,如果当前计数器的值k小于阈值,则S2206,结束流程,继续接收原始数据流的下一个数据单元。
计数器的值的阈值设定,可以参照承载数量标记k的比特长度,比特长度越长,则阈值可以设置得越大。
可以先将当前数据单元替换为预设格式的单元,然后再插入数量标记k。也可以先插入数量标记k,再将当前数据单元替换为预设格式的单元。还可以直接在当前数据单元的冗余字段或空闲字段插入数量标记k。如何在数据单元中插入数量标记k可以参考前文中空闲单元数量的标记原理,此处不再赘述。
本发明实施例中,发送端设备在原始数据流中携带数量标记k,用于标识原始数据流中数据单元或空闲单元的数量,以使接收端设备能够根据数量标记k恢复出原始数据流,从而获得原始数据流的时钟频率和时间相位信息,实现了业务的时钟频率和时间相位信息的透传。
图23是本发明实施例提供的一种接收业务的方法的示范性流程图。如图23所示,该方法可以由灵活以太网的接收端设备执行。包括如下步骤:
S2301,接收端设备接收第一数据流。
第一数据流在到达接收端设备之前,可以在其他设备,例如中间设备上执行了空闲单元的增删,以适配线路上的速率差异。本发明实施例中,第一数据流的数据格式可以和原始数据流相同,也可以和原始数据流不同。例如,原始数据流和第一数据流都是经过编码后的数据流。或者,原始数据流是未经过编码的数据流,第一数据流是经过编码后的数据流。
S2303,在所述第一数据流中提取数量标记k,确定第一数据流中第一数据单元的数量,k大于或等于零。
例如,第一数据单元可以为原始数据流的全部数据单元,还可以为原始数据流的空闲单元。当数量标记k用于标识原始数据流中全部数据单元的数量,k可以为大于零的整数。当数量标记k用于标识原始数据流中空闲单元的数量,k可以为大于或等于零的整数。
S2305,将所述第一数据流恢复为所述原始数据流,所述原始数据流中第一数据单元的数量等于所述k。
本发明实施例中,主要以灵活以太网承载40GE业务和10GE业务为例进行说明。100GE或以上的业务和40GE业务的处理流程类似,25GE业务和10GE业务处理流程类似。
40GE业务
本发明实施例可以基于图16所示的数据处理流程来实现,但不限于图16所示的例子,例如,数据处理流程可以不包含AM插入步骤。第一数据流可以从40GE逻辑接口接收,则步骤S2303、S2305可以在40GE物理接口发送方向处理1605的扰码之前执行,可以在编码之前或编码之后执行。
图24为本发明实施例提供的一种接收端设备2400的结构示意图。如图24所示,接收端设备2400通过灵活以太网物理接口(接口组)2401形成的40GE逻辑端口2403接收第一数据流,将第一数据流恢复为原始数据流之后,可以将恢复后的原始数据流通过40GE物理接口PMA/PMD/FEC 2409发送给客户设备。其中,40GE物理接口PCS发送方向处理2411可以参见图16所示的发送方向处理1605。PCS发送方向处理2411可以通过物理电路实现,也可以通过逻辑电路实现,可以通过软件、硬件,或者软件和硬件的结合来实现。提取数量标记k 2405和原始数据恢复2407可以在PCS发送方向处理2411的过程中实现,也可以在40GE逻辑端口2403中实现,还可以独立地实现。
10GE业务
本发明实施例可以基于图20所示的数据处理流程来实现,但不限于图20所示的例子,例如,数据处理流程可以不包含编码步骤。其中,原始数据流可以从10GE逻辑端口接收,则步骤S2303、S2305可以在10GE物理接口发送方向处理2005的编码之后或编码之前执行。
图25为本发明实施例提供的一种接收端设备2500的结构示意图。如图25所示,接收端设备2500通过灵活以太网物理接口(接口组)2501形成的10GE逻辑端口2503接收第一数据流,将第一数据流恢复为原始数据流之后,可以将恢复后的原始数据流通过10GE物理接口PMA/PMD/FEC 2511发送给客户设备。10GE物理接口PCS发送方向处理2513可以参见图20所示的发送方向处理2005。PCS发送方向处理2513可以通过物理电路实现,也可以通过逻辑电路实现,可以通过软件、硬件,或者软件和硬件的结合来实现。提取数量标记k 2507和原始数据恢复2509可以在PCS发送方向处理2513的过程中实现,也可以在10GE逻辑端口2503中实现,还可以独立地实现。可选地,提取数量标记k 2507和原始数据恢复2509可以在解码2505之后执行,还可以在解码2505之前执行。
图26为本发明实施例提供的一种数量标记提取的方法流程图。如图26所示,S2601,设置一个计数器,从第一数据流中接收到一个数据单元时,计数器的值加1。其中,数据单元的数据格式可以包括码块、字节等。例如,数据单元的数据格式为码块,第一数据流的数据单元可以包括开始码块S、结束码块T、码块D以及空闲码块Idle等。S2602,如果当前数据单元中携带数量标记k,则执行S2603,判断数量标记k是否等于当前计数器的值kn。S2604,如果kn<k,则在当前的数据单元之前增加k-kn个空闲单元。S2605,如果kn>k,则在当前的数据单元之前删除kn-k个空闲单元。在执行S2604或S2605之后,执行S2606。如果kn=k,直接执行S2606,将当前数据单元恢复为原始数据单元,计数器清零。如果当前数据单元在插入数量标记之前为空闲单元,则恢复为空闲单元,如果当前数据单元在插入数量标记之前为开始单元,则恢复为开始单元。S2607,将恢复为原始数据单元的当前数据单元发送到缓存队列中。S2608,结束流程,继续接收第一数据流的下一个数据单元。S2602,如果当前数据单元没有携带数量标记k,则将当前数据单元发送到缓存队列。S2608,结束流程,继续接收第一数据流的下一个数据单元。通过上述方法流程,恢复后的数据流和发送端设备获取到的原始数据流具有相同数量的数据单元,或者说具有相同数量的空闲单元,实现了原始数据流的恢复。
图27为本发明实施例提供的一种时钟频率恢复的系统结构示意图。如图27所示,发送端设备2701和中间设备2703可能会对空闲单元进行增删,以实现速率适配,因此时钟频率在传输的过程中会发生变化。发送端设备2701接收到时钟频率为f0的原始数据流,发送时钟频率为f1的第一数据流。第一数据流可能经过至少一个中间设备2703,中间设备2703也可能会改变第一数据流的时钟频率,例如从f1到f2。接收端设备2705将第一数据流的时钟频率f2恢复为原始数据流的时钟频率f0′。恢复后的时钟频率f0′可能和原始的时钟频率f0有细微的差别,但是二者的差别在允许的范围内时,可以认为是恢复出原始的时钟频率。
本发明实施例中,主要对接收端设备2705如何恢复原始时钟频率进行说明。发送端设备2701在插入了数量标记k,接收端设备2705可以从接收到的数据流中提取数量标记k。在收发数据的过程中,发送端设备2701、中间设备2703和接收端设备2705需要设置一定的缓存空间。在接收端设备2705中,缓存队列的深度可以根据数量标记k和计数器的值kn的差异进行实时调整,例如,k和kn之间的差值较大时,队列的深度较高。可以参考图26的方法流程,将第一数据流的数据单元送入缓存队列中,并恢复为原始数据流。接收端设备2705可以实时监测队列的平均水位变化,当平均水位逐渐增高时,逐渐增大队列输出原始数据流的时钟频率。当平均水位逐渐降低时,逐渐减小队列输出原始数据流的时钟频率。可以采用时钟处理电路对队列输出原始数据流的时钟频率进行平滑滤波,以保持队列的平均水位趋于稳定不变,以实现原始时钟频率f0′的稳定生成。
本发明实施例中,接收端设备从第一数据流中提取数量标记k,用于识别原始数据流中数据单元或空闲单元的数量。并且能够根据数量标记k恢复出原始数据流,从而获得原始数据流的时钟频率和时间相位信息,实现了业务的时钟频率和时间相位信息的透传。
另一个实施例中,图15、图23所示的实施例还可以在客户设备上实现。以100GE业务为例进行说明,100GE物理接口和40GE物理接口的原理类似。图28为本发明实施例提供的一种客户设备的结构示意图。如图28所示,发送端的方法可以在100GE物理接口发送方向2801的编码之后,扰码之前执行,接收端的方法可以在100GE物理接口接收方向2803的解扰码之后,解码之前执行。图29为本发明实施例提供的另一种客户设备的结构示意图。如图29所示,发送端的方法可以在100GE物理接口发送方向2901的编码之前执行,接收端方法可以在100GE物理接口接收方向2903的解码之后执行。
在客户设备上实现本发明实施例的技术方案,可以有效地兼容现有的承载网络。
图30为本发明实施例提供的一种发送业务的装置3000的结构示意图。该装置可以为灵活以太网设备、以太网设备、OTN设备、SDH设备等。如图30所示,该装置3000可以包括:获取模块3001、插入模块3003和发送模块3005。本发明实施例中,对各个功能模块进行逻辑上的划分,划分的方式不唯一。例如,各个模块可以为独立的电路模块,还可以为集成到一个电路模块中。各个模块可以通过芯片等集成电路的形式实现。本发明实施例的发送业务的装置3000可以执行如图15所示实施例的方法步骤。
获取模块3001,用于获取原始数据流。插入模块3003,用于在所述原始数据流中插入数量标记k,生成第一数据流;其中,所述数量标记k用于标识所述原始数据流中第一数据单元的数量,所述k大于或等于零。发送模块3005,用于发送所述第一数据流。
所述插入模块3003,用于:从所述原始数据流中获取第一区段数据流,确定所述第一区段数据流中第一数据单元的数量;在所述第一区段数据流中的第一位置插入数量标记 k,所述数量标记k的值等于所述第一区段数据流中第一数据单元的数量,所述第一位置为能够用于承载所述数量标记k的数据单元所在的位置。
可选地,所述第一数据单元包括所述第一区段数据流的全部数据单元,所述k为大于零的整数。可选地,第一数据单元为所述第一区段数据流的空闲单元,所述k为大于或等于零的整数。
所述插入模块3003,用于:识别所述原始数据流的开始单元;将所述开始单元所在的位置确定为所述第一位置。
所述插入模块3003,用于:设置所述数量标记k的阈值;当所述第一区段数据流的长度大于或等于所述阈值时,识别所述第一区段数据流的第一空闲单元;将所述第一空闲单元所在的位置确定为第一位置。
所述第一数据单元经过编码处理,或者,所述第一数据单元未经过编码处理。
所述装置3000还包括:增删模块,用于增加和/或减少所述第一数据流中空闲单元的数量。
本发明实施例中,发送业务的装置在原始数据流中携带数量标记k,用于标识原始数据流中数据单元或空闲单元的数量,以使接收业务的装置能够根据数量标记k恢复出原始数据流,从而获得原始数据流的时钟频率和时间相位信息,实现了业务的时钟频率和时间相位信息的透传。
图31为本发明实施例提供的一种接收业务的装置3100的结构示意图。该装置可以为灵活以太网设备、以太网设备、OTN设备、SDH设备等。如图31所示,该装置可以包括:接收模块3101、提取模块3103和恢复模块3105。本发明实施例中,对各个功能模块进行逻辑上的划分,划分的方式不唯一。例如,各个模块可以为独立的电路模块,还可以为集成到一个电路模块中。各个模块可以通过芯片等集成电路的形式实现。本发明实施例的发送业务的装置3100可以执行如图23所示实施例的方法步骤。
接收模块3101,用于接收第一数据流。提取模块3103,用于在所述第一数据流中提取数量标记k,确定第一数据流中第一数据单元的数量,所述k大于或等于零。恢复模块3105,用于将所述第一数据流恢复为所述原始数据流,所述原始数据流中第一数据单元的数量等于所述k。
所述提取模块3103,用于:从所述第一数据流中获取第一区段数据流,确定所述第一区段数据流中的第一位置,从所述第一位置中提取数量标记k,所述第一位置为能够用于承载所述数量标记k的数据单元所在的位置。
可选地,所述第一数据单元包括所述第一区段数据流的全部数据单元,所述k为大于零的整数。可选地,第一数据单元为所述第一区段数据流的空闲单元,所述k为大于或等于零的整数。
所述恢复模块3105,用于:确定所述第一区段数据流中第一数据单元的数量m,根据所述m与k的差值,调整所述第一区段数据流中第一数据单元的数量m,使得m等于k。
所述恢复模块3105,用于:当所述m大于k时,在所述第一区段数据流减少m-k个空闲单元;当m小于k时,在所述第一区段数据流中增加k-m个空闲单元。
所述装置3100还包括:时钟模块,用于获取所述原始数据流的时钟频率。
本发明实施例中,接收业务的装置从第一数据流中提取数量标记k,用于识别原始数据流中数据单元或空闲单元的数量。并且能够根据数量标记k恢复出原始数据流,从而获 得原始数据流的时钟频率和时间相位信息,实现了业务的时钟频率和时间相位信息的透传。
图32为本发明实施例提供的一种网络系统的结构示意图。该网络系统可以为灵活以太网、以太网、OTN、SDH网络等。如图32所示,该网络系统可以包括至少两个网络设备,例如网络设备3201、网络设备3203。每一个网络设备可以为发送网络设备,也可为接收网络设备,可以具有如图30和/或图31所示的结构。
图33为本发明是实施例提供的一种网络设备的结构示意图。该网络设备可以为灵活以太网设备、以太网设备、OTN设备、SDH设备等。如图33示,网络设备3300可以包括:处理器3301、存储器3302、至少一个网络接口(例如网络接口3303、网络接口3304)、处理芯片3305。
处理器3301可以采用通用的中央处理器(Central Process ing Unit,CPU),微处理器,网络处理器(Network Process ing Unit,NPU),应用专用集成电路(Appl icat ionSpecific Integrated Circuit,ASIC),或者至少一个集成电路,用于执行相关程序,以实现本发明实施例所提供的技术方案。
存储器3302可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器3302可以存储操作系统和其他应用程序。在通过软件或者固件来实现本发明实施例提供的技术方案时,用于实现本发明实施例提供的技术方案的程序代码保存在存储器3302中,并由处理器3301来执行。
网络接口3303、3304使用例如但不限于收发器一类的收发装置,来实现网络设备3300与其他设备或通信网络之间的通信。例如,网络接口3303、3304可以具有发送功能或接收功能,也可以同时具有发送功能和接收功能。这里,网络接口3303、3304可以为逻辑端口(例如由若干时隙形成的逻辑端口),也可以为物理接口(例如100G的灵活以太网物理接口)。
处理芯片3305,可以通过ASIC、现场可编程逻辑门阵列(Field-Programmable Gate Array,FPGA)等实现。可以为实现本发明技术方案的专用芯片,还可以为包含本发明技术方案功能的通用芯片。
一个例子中,网络设备3300通过网络接口3303或3304获取原始数据流。网络设备3300通过处理器3301执行保存于存储器3302的代码或者处理芯片3305执行自身存储的代码,实现:在所述原始数据流中插入数量标记k,生成第一数据流;其中,所述数量标记k用于标识所述原始数据流中第一数据单元的数量,所述k大于或等于零。通过网络接口3304或3303发送所述第一数据流。
另一个例子中,网络设备3300通过网络接口3303或3304接收第一数据流。网络设备3300通过处理器3301执行保存于存储器3302的代码或者处理芯片3305执行自身存储的代码,实现:在所述第一数据流中提取数量标记k,确定第一数据流中第一数据单元的数量,所述k大于或等于零;将所述第一数据流恢复为所述原始数据流,所述原始数据流中第一数据单元的数量等于所述k。
具体地,通过图33所示的网络设备3300可以实现本发明任意一个实施例的技术方案。例如,图30的装置3000和图31的装置3100可以采用网络设备3300的结构和方案来实现。应注意,尽管图33所示的网络设备3300仅仅示出了处理器3301、存储器3302、网络接口3303、3304、处理芯片3305,但是在具体实现过程中,本领域的技术人员应当明 白,网络设备3300还包含实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当明白,网络设备3300还可包含实现其他附加功能的硬件器件。例如,网络设备3300还包括电源、风扇、时钟单元、主控单元等。此外,本领域的技术人员应当明白,网络设备3300也可仅仅包含实现本发明实施例所必须的器件,而不必包含图33中所示的全部器件。
本发明实施例中,发送端网络设备在原始数据流中携带数量标记k,用于标识原始数据流中数据单元或空闲单元的数量。因此,接收端网络设备能够根据数量标记k确定原始数据流中数据单元或空闲单元的数量,从而恢复出原始数据流,获得原始数据流的时钟频率和时间相位信息,实现了业务的时钟频率和时间相位信息的透传。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (31)

  1. 一种发送业务的方法,其特征在于,所述方法包括:
    发送端设备获取原始数据流;
    在所述原始数据流中插入数量标记k,生成第一数据流;其中,所述数量标记k用于标识所述原始数据流中第一数据单元的数量,所述k大于或等于零;
    发送所述第一数据流。
  2. 如权利要求1所述的方法,其特征在于,所述在所述原始数据流中插入数量标记k,包括:
    从所述原始数据流中获取第一区段数据流,确定所述第一区段数据流中第一数据单元的数量;
    在所述第一区段数据流中的第一位置插入数量标记k,所述数量标记k的值等于所述第一区段数据流中第一数据单元的数量,所述第一位置为能够用于承载所述数量标记k的数据单元所在的位置。
  3. 如权利要求2所述的方法,其特征在于,所述第一数据单元包括所述第一区段数据流的全部数据单元,所述k为大于零的整数。
  4. 如权利要求2所述的方法,其特征在于,第一数据单元为所述第一区段数据流的空闲单元,所述k为大于或等于零的整数。
  5. 如权利要求2-4任一所述的方法,其特征在于,所述从所述原始数据流中获取第一区段数据流,包括:
    识别所述原始数据流的开始单元;
    将所述开始单元所在的位置确定为所述第一位置。
  6. 如权利要求2-4任一所述的方法,其特征在于,从所述原始数据流中获取第一区段数据流,包括:
    设置所述数量标记k的阈值;
    当所述第一区段数据流的长度大于或等于所述阈值时,识别所述第一区段数据流的第一空闲单元;
    将所述第一空闲单元所在的位置确定为第一位置。
  7. 如权利要求1-6任一所述的方法,其特征在于,所述第一数据单元经过编码处理,或者,所述第一数据单元未经过编码处理。
  8. 如权利要求1-7任一所述的方法,其特征在于,所述生成第一数据流之后,还包括:
    增加和/或减少所述第一数据流中空闲单元的数量。
  9. 一种接收业务的方法,其特征在于,所述方法包括:
    接收端设备接收第一数据流;
    在所述第一数据流中提取数量标记k,确定所述第一数据流中第一数据单元的数量,所述k大于或等于零;
    将所述第一数据流恢复为所述原始数据流,所述原始数据流中第一数据单元的数量等于所述k。
  10. 如权利要求9所述的方法,其特征在于,所述在所述第一数据流中提取数量标记k,包括:
    从所述第一数据流中获取第一区段数据流,确定所述第一区段数据流中的第一位置,从所述第一位置中提取数量标记k,所述第一位置为能够用于承载所述数量标记k的数据单元所在的位置。
  11. 如权利要求10所述的方法,其特征在于,所述第一数据单元包括所述第一区段数据流的全部数据单元,所述k为大于零的整数。
  12. 如权利要求10所述的方法,其特征在于,第一数据单元为所述第一区段数据流的空闲单元,所述k为大于或等于零的整数。
  13. 如权利要求10-12任一所述的方法,其特征在于,所述将所述第一数据流恢复为所述原始数据流,包括:
    确定所述第一区段数据流中第一数据单元的数量m,根据所述m与k的差值,调整所述第一区段数据流中第一数据单元的数量m,使得m等于k。
  14. 如权利要求13所述的方法,其特征在于,所述根据所述m与k的差值,调整所述第一区段数据流中第一数据单元的数量m,包括:
    当所述m大于k时,在所述第一区段数据流减少m-k个空闲单元;当m小于k时,在所述第一区段数据流中增加k-m个空闲单元。
  15. 如权利要求9-14任一所述的方法,其特征在于,所述方法还包括:
    获取所述原始数据流的时钟频率。
  16. 一种发送业务的装置,其特征在于,所述装置包括:
    获取模块,用于获取原始数据流;
    插入模块,用于在所述原始数据流中插入数量标记k,生成第一数据流;其中,所述数量标记k用于标识所述原始数据流中第一数据单元的数量,所述k大于或等于零;
    发送模块,用于发送所述第一数据流。
  17. 如权利要求16所述的装置,其特征在于,所述插入模块,用于:
    从所述原始数据流中获取第一区段数据流,确定所述第一区段数据流中第一数据单元的数量;
    在所述第一区段数据流中的第一位置插入数量标记k,所述数量标记k的值等于所述第一区段数据流中第一数据单元的数量,所述第一位置为能够用于承载所述数量标记k的数据单元所在的位置。
  18. 如权利要求17所述的装置,其特征在于,所述第一数据单元包括所述第一区段数据流的全部数据单元,所述k为大于零的整数。
  19. 如权利要求17所述的装置,其特征在于,第一数据单元为所述第一区段数据流的空闲单元,所述k为大于或等于零的整数。
  20. 如权利要求17-19任一所述的装置,其特征在于,所述插入模块,用于:
    识别所述原始数据流的开始单元;
    将所述开始单元所在的位置确定为所述第一位置。
  21. 如权利要求17-19任一所述的装置,其特征在于,所述插入模块,用于:
    设置所述数量标记k的阈值;
    当所述第一区段数据流的长度大于或等于所述阈值时,识别所述第一区段数据流的第一空闲单元;
    将所述第一空闲单元所在的位置确定为第一位置。
  22. 如权利要求16-21任一所述的装置,其特征在于,所述第一数据单元经过编码处理,或者,所述第一数据单元未经过编码处理。
  23. 如权利要求16-22任一所述的装置,其特征在于,所述装置还包括:
    增删模块,用于增加和/或减少所述第一数据流中空闲单元的数量。
  24. 一种接收业务的装置,其特征在于,所述装置包括:
    接收模块,用于接收第一数据流;
    提取模块,用于在所述第一数据流中提取数量标记k,确定所述第一数据流中第一数据单元的数量,所述k大于或等于零;
    恢复模块,用于将所述第一数据流恢复为所述原始数据流,所述原始数据流中第一数据单元的数量等于所述k。
  25. 如权利要求24所述的装置,其特征在于,所述提取模块,用于:
    从所述第一数据流中获取第一区段数据流,确定所述第一区段数据流中的第一位置,从所述第一位置中提取数量标记k,所述第一位置为能够用于承载所述数量标记k的数据单元所在的位置。
  26. 如权利要求25所述的装置,其特征在于,所述第一数据单元包括所述第一区段数据流的全部数据单元,所述k为大于零的整数。
  27. 如权利要求25所述的装置,其特征在于,第一数据单元为所述第一区段数据流的空闲单元,所述k为大于或等于零的整数。
  28. 如权利要求25-27任一所述的装置,其特征在于,所述恢复模块,用于:
    确定所述第一区段数据流中第一数据单元的数量m,根据所述m与k的差值,调整所述第一区段数据流中第一数据单元的数量m,使得m等于k。
  29. 如权利要求28所述的装置,其特征在于,所述恢复模块,用于:
    当所述m大于k时,在所述第一区段数据流减少m-k个空闲单元;当m小于k时,在所述第一区段数据流中增加k-m个空闲单元。
  30. 如权利要求24-29任一所述的装置,其特征在于,所述装置还包括:
    时钟模块,用于获取所述原始数据流的时钟频率。
  31. 一种网络系统,其特征在于,所述系统包括如权利要求16-23任一所述的装置,以及如权利要求24-30任一所述的装置。
PCT/CN2017/098490 2016-08-25 2017-08-22 一种发送和接收业务的方法、装置和网络系统 WO2018036485A1 (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP17842907.2A EP3496344B1 (en) 2016-08-25 2017-08-22 Methods and apparatuses for sending and receiving service, and network system
KR1020197008011A KR102209296B1 (ko) 2016-08-25 2017-08-22 서비스를 전송 및 수신하기 위한 방법들 및 장치들, 및 네트워크 시스템
JP2019511366A JP6867473B2 (ja) 2016-08-25 2017-08-22 サービスを送信するための方法および装置、サービスを受信するための方法および装置、ならびにネットワークシステム
US16/282,690 US10715306B2 (en) 2016-08-25 2019-02-22 Method and apparatus for sending service, method and apparatus for receiving service, and network system
US16/922,568 US11038664B2 (en) 2016-08-25 2020-07-07 Method and apparatus for sending service, method and apparatus for receiving service, and network system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610723799.6 2016-08-25
CN201610723799.6A CN107786320B (zh) 2016-08-25 2016-08-25 一种发送和接收业务的方法、装置和网络系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/282,690 Continuation US10715306B2 (en) 2016-08-25 2019-02-22 Method and apparatus for sending service, method and apparatus for receiving service, and network system

Publications (1)

Publication Number Publication Date
WO2018036485A1 true WO2018036485A1 (zh) 2018-03-01

Family

ID=61246435

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/098490 WO2018036485A1 (zh) 2016-08-25 2017-08-22 一种发送和接收业务的方法、装置和网络系统

Country Status (6)

Country Link
US (2) US10715306B2 (zh)
EP (1) EP3496344B1 (zh)
JP (1) JP6867473B2 (zh)
KR (1) KR102209296B1 (zh)
CN (1) CN107786320B (zh)
WO (1) WO2018036485A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3678672A4 (en) * 2017-09-06 2021-06-02 Nantcell, Inc. ALDOXORUBICIN-BASED METHODS AND POLYTHERAPIES
JP2021533656A (ja) * 2018-08-07 2021-12-02 ホアウェイ・テクノロジーズ・カンパニー・リミテッド コードブロックストリームの受信方法、コードブロックストリームの送信方法、および通信装置
EP4012993A4 (en) * 2019-08-13 2022-11-02 Huawei Technologies Co., Ltd. METHOD AND DEVICE FOR TRANSMISSION OF SERVICE DATA

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109962762B (zh) * 2017-12-25 2020-06-16 华为技术有限公司 一种数据传输方法、发送装置及接收装置
CN110417542B (zh) * 2018-04-26 2022-03-18 中兴通讯股份有限公司 一种传输客户业务的方法、装置和系统
CN111147181B (zh) * 2018-11-02 2022-12-09 中兴通讯股份有限公司 业务发送方法、接收方法、装置及系统、存储介质
CN112751645A (zh) * 2019-10-29 2021-05-04 华为技术有限公司 一种通信方法、设备及存储介质
CN113078980A (zh) * 2019-12-18 2021-07-06 华为技术有限公司 一种数据传输的方法以及装置
CN113972989B (zh) * 2020-07-06 2023-09-15 宇龙计算机通信科技(深圳)有限公司 数据校验方法及存储介质、电子设备
US11483087B2 (en) * 2020-08-07 2022-10-25 Hyannis Port Research, Inc. Systems and methods for clock synchronization using special physical layer clock sync symbols
CN117294579A (zh) * 2022-06-17 2023-12-26 华为技术有限公司 数据处理装置、主备切换方法以及系统
WO2024067959A1 (en) * 2022-09-28 2024-04-04 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatus of communicating in a physical coding sublayer

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1747474A (zh) * 2005-10-18 2006-03-15 中兴通讯股份有限公司 支持多载波高速下行分组接入的数据并行调度系统及方法
CN101061466A (zh) * 2004-11-19 2007-10-24 三星电子株式会社 用于处理闪速存储器的数据的装置和方法
CN101123584A (zh) * 2007-05-21 2008-02-13 华为技术有限公司 一种测量ip链路丢包情况的方法及设备
WO2008149448A1 (ja) * 2007-06-07 2008-12-11 Fujitsu Limited 動画像類似判定装置、符号化装置、および特徴量算出方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5384774A (en) * 1993-01-11 1995-01-24 At&T Corp. Asynchronous transfer mode (ATM) payload synchronizer
JP3169335B2 (ja) 1996-03-06 2001-05-21 三菱電機株式会社 回線接続装置
JPH11298488A (ja) * 1998-04-13 1999-10-29 Oki Electric Ind Co Ltd パケット伝送方法及び装置、並びにネットワーク
DE10241718B4 (de) * 2002-09-09 2011-03-31 Texas Instruments Deutschland Gmbh Vorrichtung und Verfahren zum Aufbereiten von Datenzellen
JP3875948B2 (ja) 2002-11-29 2007-01-31 日本電信電話株式会社 フレーム信号処理方法及び中継装置
JP4110964B2 (ja) * 2002-12-25 2008-07-02 日本電気株式会社 伝送システムおよびデータ転送方法
US7512150B2 (en) 2003-03-24 2009-03-31 Applied Micro Circuits Corporation 10 GbE LAN signal mapping to OTU2 signal
US7809017B2 (en) * 2006-09-21 2010-10-05 Nortel Networks Limited Multi-rate transparent MUX for optical communications networks
CN101335751A (zh) * 2007-06-29 2008-12-31 华为技术有限公司 将以太网编码块映射到光传输网络传输的方法及装置
CN101335750B (zh) * 2007-06-29 2012-08-08 华为技术有限公司 将以太网编码块映射到光传输网络传输的方法及装置
JP4885820B2 (ja) 2007-10-24 2012-02-29 日本電信電話株式会社 ディジタル伝送装置およびディジタル伝送プログラム
EP2073459A1 (en) 2007-12-17 2009-06-24 Alcatel-Lucent Deutschland AG Transmission via a burst or frame switched network with timing preservation of the transmitted client packets
WO2009115481A1 (en) 2008-03-20 2009-09-24 Nokia Siemens Networks Oy Method and device for data processing via a gigabit ethernet optical transmission link
JP4878648B2 (ja) 2010-03-12 2012-02-15 日本電信電話株式会社 クライアント信号収容多重装置及び方法
CN102761489B (zh) * 2012-07-17 2015-07-22 中国科学技术大学苏州研究院 基于流水线模式的数据包零拷贝的核间通信方法
EP3089423B1 (en) * 2014-01-14 2018-07-18 Huawei Technologies Co., Ltd. Ethernet signal transmission method, scheduling method and device and system thereof
CN103916217B (zh) * 2014-03-25 2017-06-13 烽火通信科技股份有限公司 Xlgmii接口多通道降频dic机制的实现方法及装置
CN105871502B (zh) * 2015-01-22 2020-01-03 华为技术有限公司 一种利用以太网信道传输业务信号的方法及通信设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101061466A (zh) * 2004-11-19 2007-10-24 三星电子株式会社 用于处理闪速存储器的数据的装置和方法
CN1747474A (zh) * 2005-10-18 2006-03-15 中兴通讯股份有限公司 支持多载波高速下行分组接入的数据并行调度系统及方法
CN101123584A (zh) * 2007-05-21 2008-02-13 华为技术有限公司 一种测量ip链路丢包情况的方法及设备
WO2008149448A1 (ja) * 2007-06-07 2008-12-11 Fujitsu Limited 動画像類似判定装置、符号化装置、および特徴量算出方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3496344A4 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3678672A4 (en) * 2017-09-06 2021-06-02 Nantcell, Inc. ALDOXORUBICIN-BASED METHODS AND POLYTHERAPIES
JP2021533656A (ja) * 2018-08-07 2021-12-02 ホアウェイ・テクノロジーズ・カンパニー・リミテッド コードブロックストリームの受信方法、コードブロックストリームの送信方法、および通信装置
JP7192195B2 (ja) 2018-08-07 2022-12-20 ホアウェイ・テクノロジーズ・カンパニー・リミテッド コードブロックストリームの受信方法、コードブロックストリームの送信方法、および通信装置
US11902403B2 (en) 2018-08-07 2024-02-13 Huawei Technologies Co., Ltd. Method for receiving code block stream, method for sending code block stream, and communications apparatus
EP4012993A4 (en) * 2019-08-13 2022-11-02 Huawei Technologies Co., Ltd. METHOD AND DEVICE FOR TRANSMISSION OF SERVICE DATA

Also Published As

Publication number Publication date
JP2019531642A (ja) 2019-10-31
EP3496344A4 (en) 2019-07-03
US11038664B2 (en) 2021-06-15
US10715306B2 (en) 2020-07-14
CN107786320A (zh) 2018-03-09
US20190190690A1 (en) 2019-06-20
US20200336283A1 (en) 2020-10-22
EP3496344A1 (en) 2019-06-12
KR20190039300A (ko) 2019-04-10
KR102209296B1 (ko) 2021-01-29
EP3496344B1 (en) 2023-06-21
JP6867473B2 (ja) 2021-04-28
CN107786320B (zh) 2021-06-22

Similar Documents

Publication Publication Date Title
WO2018036485A1 (zh) 一种发送和接收业务的方法、装置和网络系统
US9954644B2 (en) Ethernet data processing method, physical layer chip and Ethernet equipment
WO2017202158A1 (zh) 转发数据的方法和设备
US20220416895A1 (en) Data transmission method and apparatus, terminal device and storage medium
US7986622B2 (en) Method and system for physical layer aggregation
US20180159785A1 (en) Data Transmission Method, Transmitter, and Receiver
KR102226021B1 (ko) 서비스 송신 방법과 장치, 서비스 수신 방법과 장치, 및 네트워크 시스템
WO2018036482A1 (zh) 一种发送和接收业务的方法、装置和网络系统
CN110768742B (zh) Oam消息的传输方法、发送设备、接收设备及可读存储介质
WO2015035618A1 (zh) 传输数据的方法和装置
US9544237B1 (en) Method and apparatus for inserting idle bytes in a data stream
US20230164624A1 (en) Service data processing, exchange and extraction methods, devices, and computer-readable medium
WO2019128665A1 (zh) 一种数据传输方法、通信设备及存储介质
US8239738B2 (en) Transparent in-band forward error correction for signal conditioning-encoded signals
WO2021082468A1 (zh) 一种通信方法、设备及存储介质
CN117938738A (zh) 一种通信方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17842907

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019511366

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017842907

Country of ref document: EP

Effective date: 20190308

ENP Entry into the national phase

Ref document number: 20197008011

Country of ref document: KR

Kind code of ref document: A