[go: up one dir, main page]

WO2017206306A1 - Data frame transmitting or receiving method and apparatus - Google Patents

Data frame transmitting or receiving method and apparatus Download PDF

Info

Publication number
WO2017206306A1
WO2017206306A1 PCT/CN2016/092312 CN2016092312W WO2017206306A1 WO 2017206306 A1 WO2017206306 A1 WO 2017206306A1 CN 2016092312 W CN2016092312 W CN 2016092312W WO 2017206306 A1 WO2017206306 A1 WO 2017206306A1
Authority
WO
WIPO (PCT)
Prior art keywords
data frame
frame
field
data
fragment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2016/092312
Other languages
French (fr)
Chinese (zh)
Inventor
高波
郑刚
赵殿博
殷锦蓉
景磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of WO2017206306A1 publication Critical patent/WO2017206306A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J14/00Optical multiplex systems
    • H04J14/02Wavelength-division multiplex systems
    • H04J14/0227Operation, administration, maintenance or provisioning [OAMP] of WDM networks, e.g. media access, routing or wavelength allocation
    • H04J14/0241Wavelength allocation for communications one-to-one, e.g. unicasting wavelengths
    • H04J14/0242Wavelength allocation for communications one-to-one, e.g. unicasting wavelengths in WDM-PON
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/25Arrangements specific to fibre transmission

Definitions

  • the present invention relates to the field of Passive Optical Network (PON), and in particular, to a method and device for transmitting and receiving data frames.
  • PON Passive Optical Network
  • 100G-EPON, XGPON and TWDM-PON systems have multiple transmission channels, which can support channel bonding technology, that is, multiple transmission channels are used as one logical channel to achieve higher rate transmission.
  • channel bonding technology that is, multiple transmission channels are used as one logical channel to achieve higher rate transmission.
  • jumbo frames are transmitted on any transmission channel, which will result in unbalanced traffic on each transmission channel, resulting in increased delay and bandwidth utilization.
  • the rate is reduced, and the frequency of jumbo frames is not fixed, which increases the jitter of the delay and affects the service experience.
  • the embodiment of the invention provides a method for transmitting a data frame, which solves the problem that the transmission of the jumbo frame on any transmission channel causes an increase in delay, a decrease in bandwidth utilization, and a large delay jitter.
  • a first aspect provides a method for transmitting a data frame, where the method is used in a passive optical network PON system, including: receiving a sequence of data frames from a first PON channel, where the rate of the first PON channel is N a rate sum of the second PON channel, wherein the data frame sequence includes a first data frame, N is a positive integer greater than 1, and determining that the data frame in the data frame sequence is forwarded from the M second PON channels, if The length of the first data frame exceeds the first length, and the first data frame is fragmented to obtain multiple fragments of the first data frame, where M is a positive integer, 2 ⁇ M ⁇ And adding the overhead information to each fragment to obtain a plurality of fragmented data frames, where the overhead information includes a fragmentation field and a frame sequence number, where the fragmentation field is used to indicate the number of fragmented data frames and corresponding a sequence number of the fragment data frame in the first data frame, the frame sequence number is a sequence number of the first data frame in the data frame sequence;
  • the embodiment of the present invention solves the problem that the jumbo frame is fragmented, which causes the delay of the jumbo frame transmission on any transmission channel to increase the delay, the bandwidth utilization is reduced, the delay jitter is increased, and the service experience is affected;
  • the fragmentation operation of the embodiment is implemented above the Media Access Control (MAC) layer, regardless of the specific number of channel bindings, and thus is compatible with all multi-channel PON systems.
  • MAC Media Access Control
  • the first data frame and the fragment data frame are both Ethernet frames
  • the fragment data frame includes a first length type length a /type field, configured to indicate that the fragment data frame carries the fragmentation field, where the fragmentation field is adjacent to the first length/type field, and is located after the first length/type field.
  • the first data frame and the fragment data frame are both a Gigabit Gigabit passive optical network encapsulation mode XGEM frame, and the XGEM
  • the frame includes an XGEM frame header, wherein the slice field and the frame sequence number replace all or part of a selected options field in the XGEM frame header.
  • the fragment field is replaced by all or part of the selected options field in the XGEM frame header.
  • the options field includes a first field, a second field, and a third field, where the first field is used to indicate a sequence number of the first data frame in the data frame sequence, and the second field is used to indicate the The sequence number of the fragmented data frame in the corresponding fragmented data frame, the third field and the last fragment indicating that the LF field collectively indicates the number of slices.
  • the fragment field includes The fragment identifier and the fragment sequence number, the fragment identifier is the number of fragments, and the fragment sequence number is a sequence number of the corresponding fragment data frame in the first data frame.
  • the embodiment of the invention can solve The data frame received by the receiving end has a problem of out of order.
  • the fragment field includes a slice identifier and a slice sequence number, the slice identifier being used to indicate a slice data frame formed by a last slice in the first data frame; the slice sequence number is a corresponding slice data frame in the The sequence number in the first data frame.
  • the fragment identifier is used to indicate that the last fragment in the first data frame is formed.
  • the fragment data frame specifically includes: when the value of the fragment identifier is a first value, the fragment data frame is formed by a first fragment of the first data frame; When the value is the second value, the fragment data frame is formed by the intermediate fragment of the first data frame; when the value of the fragment identifier is the third value, the fragment data frame is The last slice of the first data frame is formed, wherein the first to third values are three different values.
  • the fragment identifier is configured by a fragment header indication field and a fragment tail indication field.
  • the number of fragments is M .
  • the embodiment of the invention can utilize the second PON channel more effectively and improve the bandwidth utilization.
  • the method before the fragmenting the first data frame, the method further includes: according to the M The remaining space of the transmission queue of the second PON channel, the number of the fragments and the length of the first data frame, determine the length of each slice.
  • a second aspect provides a method for receiving a data frame, where the method is used in a passive optical network PON system, including: receiving a data frame from a second PON channel, where the data frame has a frame number, wherein the frame The sequence number is a sequence number of the data frame in the sequence of data frames; determining, according to the frame sequence number and the expected sequence number, whether the data frame is a data frame to be processed, and if the data frame is a data frame to be processed, Whether the data frame to be processed is a fragmented data frame; if the data frame to be processed is a fragmented data frame, according to the fragmentation field of the fragmented data frame, it is determined whether all the frames having the same frame have been received a fragmented data frame of a sequence number, wherein the fragmentation field For indicating the number of fragmented data frames and the sequence number of the fragmented data frame in the corresponding fragmented data frame; if all the fragmented data frames having the same frame number have been received, according to all
  • the method provided by the embodiment of the invention can ensure that the fragment data frame is correctly received, the fragment data frame is reorganized, and the corresponding fragmented data frame is restored.
  • the data frame and the fragment data frame are both Ethernet frames
  • the fragment data frame includes a first length type length/type a field, configured to indicate that the fragment data frame carries the fragment field, where the fragment field is adjacent to the first length/type field, and is located after the first length/type field.
  • the data frame and the fragment data frame are both a Gigabit Gigabit passive optical network encapsulation mode XGEM frame
  • the XGEM frame includes An XGEM frame header, wherein the slice field and the frame sequence number replace all or part of a selected options field in the XGEM frame header.
  • the fragment field is replaced by all or part of the selected options field in the XGEM frame header, including:
  • the options field includes a first field, a second field, and a third field, where the first field is used to indicate a sequence number of the data frame in a sequence of data frames, and the second field is used to indicate the fragment data frame
  • the sequence number in the corresponding fragmented data frame, the third field and the last fragment indicate that the LF field collectively indicates the number of slices.
  • the determining the data Whether the frame is a data frame to be processed specifically includes: comparing the frame sequence number and the expected sequence number, and if the frame sequence number is greater than the expected sequence number, saving the data frame to the first cache, from the second Receiving, by the PON channel, a data frame; if the frame sequence number is smaller than the expected sequence number, discarding the data frame, and receiving a data frame from the second PON channel; if the frame sequence number is equal to the expected sequence number, the data frame The data frame to be processed.
  • the method before the receiving the data frame from the second PON channel, the method further includes: if the If the buffer is not empty, the data frame is extracted from the first cache, and according to the frame sequence number and the expected sequence number, it is determined whether the data frame extracted from the first cache is a data frame to be processed, if The first buffer is empty, and the data frame is received from the second PON channel.
  • the method further includes: if the data frame extracted from the first cache is not a data frame to be processed, continue to extract a data frame from the first cache, if all data frames extracted from the first cache are not to be processed The processed data frame receives a data frame from the second PON channel.
  • Whether the processed data frame is a fragmented data frame includes: detecting whether the fragmentation field is included in the to-be-processed data frame, and if the fragmentation field is included, the to-be-processed data frame is a fragmented data frame. .
  • a third aspect provides a data frame sending device, where the device is used in a passive optical network PON system, and includes: a receiving module, a fragmentation module, an identification module, and a forwarding module.
  • the receiving module is configured to receive a sequence of data frames from a first PON channel, where the rate of the first PON channel is a rate sum of N second PON channels, and send the sequence of data frames to the fragmentation module.
  • the data frame sequence includes a first data frame, where N is a positive integer greater than 1.
  • the fragmentation module is configured to receive the data frame sequence from the receiving module, and determine data in the data frame sequence. The frame is forwarded from the M second PON channels. If the length of the first data frame exceeds the first length, the first data frame is fragmented to obtain multiple fragments of the first data frame.
  • the forwarding module is configured to receive information about the M second PON channels from the fragmentation module, from the identifier module Receiving the plurality of fragment data frames, and forwarding the plurality of fragment data frames through the M second PON channels.
  • the device provided by the embodiment of the present invention solves the problem that the jumbo frame is fragmented, and the delay of the jumbo frame transmission on any transmission channel is increased, the bandwidth utilization is reduced, the delay jitter is increased, and the service experience is affected. Since the fragmentation operation of the embodiment of the present invention is implemented above the MAC layer, regardless of the specific number of channel bindings, it can be compatible with all multi-channel PON systems.
  • the first data frame and the fragment data frame are both Ethernet frames
  • the fragment data frame includes a first length type length a /type field, configured to indicate that the fragment data frame carries the fragmentation field, where the fragmentation field is adjacent to the first length/type field, and is located after the first length/type field.
  • the first data frame and the fragment data frame are both a Gigabit Gigabit passive optical network encapsulation mode XGEM frame, and the XGEM
  • the frame includes an XGEM frame header, wherein the slice field and the frame sequence number replace all or part of a selected options field in the XGEM frame header.
  • the options field includes a first field, a second field, and a third field, where the first field is used by And indicating a sequence number of the first data frame in the sequence of data frames, where the second field is used to indicate a sequence number of the fragment data frame in a corresponding fragmented data frame, the third field and the last The fragment indicates that the LF field collectively indicates the number of slices.
  • the fragment field includes The fragment identifier and the fragment sequence number, the fragment identifier is the number of fragments, and the fragment sequence number is a sequence number of the corresponding fragment data frame in the first data frame.
  • the fragmenting The field includes a slice identifier and a slice sequence number, where the slice identifier is used to indicate a slice data frame formed by a last slice in the first data frame; the slice sequence number is a corresponding slice data frame. The sequence number in the first data frame.
  • the fragment identifier is used to indicate that the last fragment in the first data frame is formed.
  • the fragment data frame specifically includes: when the value of the fragment identifier is a first value, the fragment data frame is formed by a first fragment of the first data frame; When the value is the second value, the fragment data frame is formed by the intermediate fragment of the first data frame; when the value of the fragment identifier is the third value, the fragment data frame is The last slice of the first data frame is formed, wherein the first to third values are different values.
  • the fragment identifier is configured by a fragment header indication field and a fragment tail indication field.
  • the number of fragments is M .
  • the fragmentation module is specifically configured to: according to the remaining space of the sending queues of the M second PON channels The number of the slices and the length of the first data frame determine the length of each slice.
  • a fourth aspect provides a receiving device for a data frame, where the device is used in a passive optical network PON system, including: a receiving module, an identifying module, a processing module, and a recombining module,
  • the receiving module is configured to receive a data frame from the second PON channel, and send the data frame to the identification module, where the data frame has a frame serial number, and the frame serial number is the data frame in the data frame The serial number in the sequence;
  • the identification module is configured to receive the data frame from the receiving module, determine, according to the frame serial number and the expected sequence number, whether the data frame is a data frame to be processed, if the data frame is data to be processed Sending, to the processing module, the data frame to be processed;
  • the processing module is configured to receive the data frame to be processed from the identification module, and determine whether the data frame to be processed is a fragmented data frame, if the data frame to be processed is fragmented Determining, according to the fragmentation field of the fragment data frame, whether all the fragment data frames having the same frame sequence number have been received, and whether the fragment data frame and all the packets have been received have the same
  • the result of the determination of the fragmented data frame of the frame sequence is sent to the reassembly module, where the fragmentation field is used to indicate the number of fragmented data frames and the sequence number of the fragmented data frame in the corresponding fragmented data frame.
  • the reassembly module is configured to receive, according to the processing module, the fragment data frame and the determination result, if all the fragment data frames having the same frame sequence number have been received, according to the all having the same A fragmentation field of the fragment data frame of the frame number, recombining all the fragment data frames having the same frame number, recovering the fragmented data frame, and adding the expected sequence number to 1.
  • the data frame and the fragment data frame are both Ethernet frames
  • the fragment data frame includes a first length type length/type a field, configured to indicate that the fragment data frame carries the fragment field, where the fragment field is adjacent to the first length/type field, and is located after the first length/type field.
  • the data frame and the fragment data frame are both a Gigabit Gigabit passive optical network encapsulation mode XGEM frame
  • the XGEM frame includes An XGEM frame header, wherein the slice field and the frame sequence number replace all or part of the selection options field in the XGEM frame header.
  • the options field includes a first field, a second field, and a third field, where the first field is used by And indicating a sequence number of the data frame in a sequence of data frames, where the second field is used to indicate a sequence number of the fragment data frame in a corresponding fragmented data frame, and the third field and a last segment indicate an LF field. Commonly indicate the number of shards.
  • the Comparing the frame sequence number and the expected sequence number if the frame sequence number is greater than the expected sequence number, saving the data frame to the first cache; if the frame sequence number is smaller than the expected sequence number, the data is Frame discarding; if the frame number is equal to the expected sequence number, the number The frame is a data frame to be processed; the device further includes the first buffer, configured to store the data frame whose frame number is greater than the expected sequence number.
  • the receiving module is further configured to extract a data frame from the first cache, and extract the data The frame is sent to the identification module, wherein the receiving module extracts a data frame from the first cache with a higher priority than receiving a data frame from the second PON channel.
  • a sixth possible implementation manner of the fourth aspect And detecting whether the fragmentation field is included in the data frame to be processed, and if the fragmentation field is included, the data frame to be processed is a fragmented data frame.
  • a fifth aspect provides a data frame transmission and reception system, where the system is used in a PON field of a passive optical network, including: the device described in any one of the foregoing third aspect or the third aspect And the apparatus as described in the above fourth aspect or any one of the fourth aspects.
  • the embodiment of the present invention solves the problem that the jumbo frame is fragmented, which causes the delay of the jumbo frame transmission on any transmission channel to increase the delay, the bandwidth utilization is reduced, the delay jitter is increased, and the service experience is affected;
  • the fragmentation operation of the embodiment is implemented above the MAC layer, independent of the specific number of channel bindings, and thus is compatible with all multi-channel PON systems.
  • FIG. 1 is a system architecture diagram of an embodiment of the present invention
  • FIG. 2 is a flow chart of a method according to an embodiment of the present invention.
  • FIG. 3 is a block diagram of a frame header of an XGEM frame
  • FIG. 4 is a flow chart of a method according to another embodiment of the present invention.
  • Figure 5 (a) is a schematic diagram of reception delay without using the solution of the present invention.
  • FIG. 5(b) is a schematic diagram of a receiving delay according to an embodiment of the present invention.
  • Figure 6 is a structural diagram of a device according to an embodiment of the present invention.
  • Figure 7 is a structural diagram of a device according to another embodiment of the present invention.
  • a typical PON system is mainly composed of three parts: an optical line terminal (OLT), an optical distribution network (ODN), and an optical network unit/Terminal (ONU/ONT).
  • the OLT is located at the central office and is responsible for allocating and controlling the connection of the channel, and real-time monitoring, management, and maintenance of the entire PON network;
  • the ONU/ONT is located at the user end (or the user premises side) to implement access of the user terminal; It consists of a Passive Optical Splitter (POS) and an optical fiber line to implement network connection between the OLT and each ONU.
  • POS Passive Optical Splitter
  • the difference between the ONU and the ONT is that the ONT is directly located at the user end, and there are other networks between the ONU and the user, but no distinction is made in this patent, and the ONU is always used.
  • the system has multiple transmission channels, which can support channel bonding technology, and realize multiple transmissions by using multiple transmission channels as one logical channel, that is, binding multiple second PON channels together to reach the first
  • the transmission rate of the PON channel wherein the rate of the first PON channel is the rate sum of the plurality of second PON channels.
  • Ethernet packets are transmitted, because the Ethernet frames contain jumbo frames, in the channel bonding state, jumbo frames are transmitted on any transmission channel, which will cause unbalanced traffic on each transmission channel, resulting in increased delay and bandwidth.
  • the utilization rate is reduced, and the frequency of jumbo frames is not fixed, which increases the delay jitter and affects the service experience.
  • a system architecture diagram is provided, which is applicable to the method provided by the embodiment of the present invention, and may include an OLT, an ODN, and an ONU.
  • the channel binding technology can be used for both downlink transmission and uplink transmission. That is to say, the channel binding technology can be implemented in the OLT or in the ONU. .
  • the OLT to the ONU is called the downlink
  • the ONU to the OLT is called the uplink.
  • the OLT sends data frames to all ONUs in a Single Copy Broadcast (SCB) manner.
  • SCB Single Copy Broadcast
  • DRP Discovery and Registered Process
  • the OLT assigns a Logical Link ID (LLID) to the successfully completed ONU.
  • An ONU supports at least one LLID, and then the OLT transmits the data frame of the downlink.
  • the LLID of the destination ONU is placed in the frame preamble, where LLID is the stream identifier of the frame.
  • all ONUs judge according to the LLID and its own LLID contained in the preamble to determine whether to receive the data frame, and ensure that only the destination ONU will correctly receive the data frame.
  • the embodiments of the present invention are applicable not only to a 100G-EPON system, but also to a PON system such as an XGPON, a TWDM-PON, and a Wavelength Division Multiplexing Passive Optical Network (WDM-PON).
  • PON system such as an XGPON, a TWDM-PON, and a Wavelength Division Multiplexing Passive Optical Network (WDM-PON).
  • WDM-PON Wavelength Division Multiplexing Passive Optical Network
  • the embodiment of the invention provides a method for sending a data frame, as shown in FIG. 2, the method can include:
  • the data frame sequence is received from the first PON channel, where the available channel is a second PON channel that can be actually forwarded, the rate of the first PON channel is the rate of the N second PON channels, and N is greater than 1 Integer.
  • the method for determining the available channel of the data frame sequence may be: searching the channel binding table according to the flow identifier of the first data frame, obtaining a forwarding channel of the first data frame, and obtaining the first data frame according to the remaining space of the sending queue of the forwarding channel
  • the available channel is the available channel of the data frame sequence.
  • the channel binding table is a corresponding table of the pre-configured flow identifier and the forwarding channel, and the available channel is the channel with the remaining space of the sending queue in the forwarding channel.
  • the channel binding table is searched according to the flow identifier of the first data frame, and the second PON channel that can be forwarded by the first data frame can be obtained, and then the first data frame is obtained according to the remaining space of the sending queue of the second PON channel.
  • the 100G-EPON is taken as an example, and the destination MAC address and the LLID are in one-to-one correspondence.
  • the unique LLID can be determined according to the destination MAC address of the data frame, and the channel binding table is searched according to the LLID to obtain an available channel of the first data frame.
  • the second PON channel that can be forwarded; the channel binding table is pre-configured according to actual conditions. For example, it can be configured according to the processing speed of the destination ONU in the 100G-EPON system. If the destination ONU supports the 100G rate, the corresponding The data frame can be forwarded simultaneously in four channels. If the destination ONU only supports 50G rate, the corresponding data frame can only be forwarded from two channels at the same time.
  • the specific configuration of the channel binding table is not limited in the embodiment of the present invention.
  • the first data frame is fragmented to obtain multiple fragments of the first data frame, where the number of fragments is determined by the number of available channels.
  • the length of a data frame is the full length of the frame.
  • the method further includes: determining whether a length of the first data frame exceeds a first length, where a length of the first data frame is The full length of the frame.
  • the first data frame is not fragmented, and the unsliced first data frame is forwarded through the available channel.
  • the method further includes: determining whether the number of the available channels is greater than 1, and if the number of the available channels is greater than 1, dividing the first data frame sheet.
  • the method further includes: determining that the data frame in the sequence of data frames is forwarded from the M second PON channels, where M is a positive integer, 2 ⁇ M ⁇ N.
  • the effect of splitting the first data frame is the same. Assuming that the first data frame can only be forwarded from one channel, even if the first data frame is fragmented, all the fragments must be forwarded from this channel, and the other channels are completely unused, which cannot reduce the delay and reduce The effect of small delay jitter.
  • the number of the fragmented data frames is an integer multiple of the number of available channels, and preferably, the number of the fragmented data frames is equal to the number of the available channels, that is, the number of fragments is determined according to the M The actual situation of the two PON channels is determined.
  • the number of slices is M.
  • determining a length of each fragment according to a remaining space of the sending queue of the available channels (the M second PON channels), a number of fragments, and a length of the first data frame for example, M is 4,
  • the available channels are four.
  • the remaining space of the sending queue of the first channel is smaller than the second length. If the sending queue space of the other three channels is sufficient, the first data frame may be cut off first, and the overhead information is added in the cutting part.
  • a fragmented data frame is obtained, the length of the fragmented data frame is equal to the remaining space of the first channel, and the remaining first data frame is further divided into three pieces and respectively forwarded from the other three channels, so that all available data can be fully utilized.
  • Channel which improves bandwidth utilization, wherein the second length is 1/4 of the sum of the lengths of 4 fragmented data frames.
  • the time division multiplexing access mode is adopted, and each ONU obtains a corresponding transmission window according to the transmission time slot allocated by the OLT, and the data is transmitted to the OLT through the transmission window. Therefore, in the uplink transmission, the length of each fragment can be determined according to the remaining space of the transmission window, the number of fragments, and the length of the first data frame.
  • the embodiments of the present invention are completely consistent in uplink transmission and downlink transmission.
  • the overhead information includes a fragmentation field and a frame sequence
  • the fragmentation field is used to indicate the number of fragmented data frames and the corresponding fragmented data frame.
  • the sequence number in the first data frame, the frame number is the sequence number of the first data frame in the sequence of data frames.
  • the first data frame and the fragmented data frame are both Ethernet frames
  • the fragmented data frame includes a first length type length/type field, which is used to indicate that the fragment data frame is carried.
  • a fragmentation field, the fragmentation field being adjacent to the first length/type field, located after the first length/type field.
  • the embodiment of the present invention is applied to a PON system for transmitting an Ethernet frame, such as a 100G-EPON, a WDM-PON, etc., after the Ethernet frame is fragmented, adding overhead information for each fragment to form a fragmented Ethernet frame, and fragmenting
  • the Ethernet frame includes a fragmentation field to ensure that the receiving end can correctly receive and reassemble the fragmented Ethernet frames, where the fragmentation field and the first length/type field can be anywhere in the fragmented Ethernet frame, in the embodiment of the present invention. There is no limit to this.
  • the first data frame and the fragmented data frame are both a Gigabit Gigabit Encapsulation Method (XGEM) frame
  • the XGEM frame includes an XGEM frame header, where The slice field and frame sequence number replace all or part of the options field in the XGEM frame header.
  • XGEM Gigabit Gigabit Encapsulation Method
  • the options field includes a first field, a second field, and a third field, where the first field is used to indicate the sequence number of the first data frame in the data frame sequence, and the second field is used to indicate that the fragment data frame is correspondingly
  • the sequence number in the sliced data frame, the third field and the Last Fragment (LF) field together indicate the number of slices.
  • the embodiment of the present invention is applied to a PON system for transmitting XGEM frames, such as XGPON, TWDM-PON, etc.
  • XGEM frames such as XGPON, TWDM-PON, etc.
  • a single Ethernet frame is encapsulated in a single XGEM, and therefore, a JGEM frame also has a jumbo frame, therefore, It is also necessary to slice XGEM frames whose length exceeds the first length. After the XGEM frame is fragmented, overhead information is added for each slice to form a fragmented XGEM frame.
  • the frame header structure of the XGEM frame is as shown in FIG.
  • PKI Payload Length indication
  • XGEM port 16-bit XGEM port identifier
  • -ID 18-bit options Field
  • 1-bit LF field 13-bit Hybrid Error Correction (HEC) field.
  • HEC Hybrid Error Correction
  • the options field is an idle field and has no function. Therefore, the fragment field and the frame number can replace part or all of the options field of the XGEM frame.
  • the LF field can also be used to indicate whether the fragment is formed by the last fragment. Data frame; or use the third field in the options field to augment the LF field, so that the LF field can respectively indicate which segment of the first slice, the middle slice or the last slice is the current slice data frame.
  • the slice is formed or the LF field indicates the number of slices. In this way, the overhead of the fragmented data frame can be reduced while ensuring normal reception of the fragmented data frame.
  • the fragmentation field includes a fragment identifier and a fragment sequence number, where the fragment identifier is the number of fragments, and the fragment sequence number is a sequence number of the corresponding fragment data frame in the first data frame.
  • the fragment number of each fragment is different.
  • the first data frame is divided into four pieces, and the overhead information is inserted in the four fragments to obtain four fragment data frames, and the first fragment is obtained.
  • the fragment number of the formed fragment data frame is 1, and the fragment sequence number of the fragment data frame formed by the second fragment is 2, and so on.
  • a 100G-EPON system when transmitting a 100G data frame sequence, it needs to be transmitted simultaneously from four 25G rate channels.
  • the processing of the data frame sequence on the channel by the physical layer of the four channels is not completely synchronized, which may result in reception.
  • the data frame received by the terminal has a problem of out of order. Specifically, it is assumed that the fragment numbers of the fragmented data frames sequentially entering the four channels are 1, 2, 3, and 4, respectively, and the receiving end may sequentially receive the fragment data of the fragment numbers 1, 3, 2, and 4.
  • the frame that is, the channel in which the second fragmented data frame is located may take a long time to process.
  • the receiving end receives the first
  • the three fragmented data frames cause the fragmented data frames received by the receiving end to be out of order, and the four channels here are four second PON channels.
  • the fragmentation field is used to indicate the number of fragmented data frames and the sequence number of the corresponding fragmented data frame in the first data frame, and it can be determined whether all the fragments are received by the receiving end, and all the fragments can be ensured to be correct.
  • the order is reorganized.
  • the value of the fragment identifier is greater than 0, and when the fragment identifier is equal to 1, the first data frame For an unfragmented data frame, when the value of the fragment identifier is greater than 1, the value of the fragment identifier is the number of fragment data frames.
  • the slice identifier is used to indicate a slice data frame formed by the last slice of the first data frame. Specifically, when the value of the fragment identifier is the first value, the fragment data frame is formed by the first fragment of the first data frame; and when the value of the fragment identifier is the second value, the fragment data frame is Formed by the intermediate slice of the first data frame; when the value of the slice identifier is the third value, the slice data frame is formed by the last slice of the first data frame; the value of the slice identifier is the fourth value
  • the first data frame is an unfragmented data frame.
  • the number of fragments can be obtained according to the fragment sequence number of the fragment data frame formed by the last fragment.
  • the first to fourth values are any four different values, for example, 1, 2, 3, and 4. This embodiment of the present invention does not limit this.
  • the fragmentation identifier may be composed of a fragmentation header indication field and a fragmentation tail indication field, where the fragmentation header indication field and the fragmentation tail indication field have various values, for example, the fragmentation header indication field takes 1 and the fragmentation tail indication
  • the value of the fragment identifier is the first value
  • the fragment data frame is formed by the first fragment of the first data frame
  • the fragment header indication field and the fragment tail indication field are both 0, the fragmentation is performed.
  • the value of the identifier is a second value, and the fragment data frame is formed by an intermediate fragment of the first data frame; when the fragmentation header indication field is 0, and the fragmentation tail indication field is 1, the fragmentation identifier value is a third value.
  • the fragment data frame is formed by the last fragment of the first data frame; when both the fragment header indication field and the fragment tail indication field are taken as 1, the fragment identification value is the fourth value, and the first data frame is unfragmented. Data frame.
  • the fragmented data frame and the unfragmented data frame include: a fragmented frame identifier, configured to indicate whether the corresponding data frame is a fragmented data frame.
  • the first data frame is fragmented, and the value of the fragment frame identifier included in each fragment data frame is the fifth value, if the first data frame is The length does not exceed the first length, and the value of the fragmented frame identifier is the sixth value.
  • the fifth value and the sixth value may have a plurality of values, which are not limited in the embodiment of the present invention.
  • the available channels are the M second PON channels.
  • the method further includes: determining whether the length of the first data frame exceeds the first length, where The length of the first data frame is the full length of the frame. Specifically, if the length of the first data frame does not exceed the first length, the first data frame is not fragmented, and the unfragmented first data frame is forwarded through the M second PON channels.
  • the embodiment of the present invention solves the problem that the jumbo frame is fragmented, which causes the delay of the jumbo frame transmission on any transmission channel to increase the delay, the bandwidth utilization is reduced, the delay jitter is increased, and the service experience is affected;
  • the fragmentation operation of the embodiment is implemented above the MAC layer, independent of the specific number of channel bindings, and thus is compatible with all multi-channel PON systems.
  • Another embodiment of the present invention provides a method for receiving a data frame. As shown in FIG. 4, the method may include:
  • the data frame is received from the second PON channel.
  • determining whether the data frame is a data frame to be processed is: comparing a frame sequence number and an expected sequence number. If the frame sequence number is greater than an expected sequence number, saving the data frame to the first buffer, and continuing to receive the data frame; The frame number is smaller than the sequence number, the data frame is discarded, and the data frame is continuously received. If the frame number is equal to the expected sequence number, the data frame is the data frame to be processed.
  • the data frame is extracted from the first cache, and according to the frame serial number and the expected sequence number, it is determined whether the data frame extracted from the first cache is a data frame to be processed, if The data frame extracted in a buffer is not a data frame to be processed, and the data frame is continuously extracted from the first buffer. If all data frames extracted from the first buffer are not data frames to be processed, the data frame continues to be received. If the first buffer is empty, continue to receive data frames.
  • the specific manner of determining whether the data frame to be processed is a fragmented data frame may be: (1) detecting a fragmented frame identifier in the to-be-processed data frame, if the value of the fragmented frame identifier is Five values, the data frame to be processed is a fragmented data frame; (2) if there is no fragmentation field in the unfragmented data frame, detecting whether the fragmented field is included in the data frame to be processed, if the fragment is included a slice field, the data frame to be processed is a fragmented data frame; (3) if there is a fragmentation field in the unfragmented data frame, the data frame to be processed may be determined according to the value of the fragmentation field. Fragmented data frames.
  • the data frame to be processed is a fragmented data frame, determine, according to the fragmentation field of the fragmented data frame, whether all the fragmented data frames having the same frame sequence number have been received, where the fragmentation field is used to indicate The number of fragmented data frames and the sequence number of the fragmented data frame in the corresponding fragmented data frame.
  • the expected sequence number is incremented by one; if all the fragment data frames having the same frame sequence number are not received, the receiving from the first buffer or the second PON channel is continued. Data Frame.
  • the data frame and the fragmented data frame may be an Ethernet frame, and the fragmented data frame includes a first length/type field, which is used to indicate that the fragmented data frame carries the fragmentation field, and the fragmentation field and the first length/ The type field is adjacent to the first length/type field;
  • the data frame and the fragmented data frame may also be XGEM frames, and the XGEM frame includes an XGEM frame header, where the fragmentation field and the frame sequence number are replaced by the XGEM frame header. All or part of the options field.
  • the options field includes a first field, a second field, and a third field, where the first field is used to indicate the sequence number of the data frame in the data frame sequence, and the second field is used to indicate that the fragment data frame is in the corresponding fragmented data.
  • the sequence number in the frame, the third field and the LF field together indicate the number of slices.
  • the fragmentation field includes a fragment identifier and a fragment sequence number, where the fragment identifier is the number of fragments or is used to indicate that the last fragment in the fragmented data frame is formed.
  • the fragmented data frame, the fragment number is the sequence number of the fragmented data frame in the corresponding fragmented data frame. It should be understood that the number of slices can be obtained according to the slice number of the slice data frame formed by the last slice.
  • all the fragment data frames having the same frame sequence number are all according to the fragment field of all the fragment data frames having the same frame sequence number. Reorganize and recover the fragmented data frame, and the expected sequence number is increased by 1.
  • the overhead information is removed before the fragment data frame is reorganized.
  • the method provided by the embodiment of the present invention is the receiving method of the previous embodiment.
  • the method of fragmenting a jumbo frame solves the problem that the jumbo frame transmission on any transmission channel causes an increase in delay, a decrease in bandwidth utilization, and an increase in delay jitter. Large, affecting the problem of the service experience; since the fragmentation operation of the embodiment of the present invention is implemented above the MAC layer, regardless of the specific number of channel bindings, it can be compatible with all multi-channel PON systems.
  • the data frame sequence is the same service flow, and the transmission queues of the four channels are all empty, and the data frame sequence can be forwarded from any channel as an example, wherein the OLT device is from 100G.
  • the second data frame is a jumbo frame. After the second data frame is fragmented, the delay of the receiving end is significantly reduced, because the jumbo frame pair is reduced. The effect of the delay, therefore, the embodiment of the invention can also reduce the delay jitter.
  • the data frame sequence of the 100G reception decoding instruction is a sequence of data frames obtained after recombining the fragment data frames.
  • each data frame is in the channel.
  • the channel with a small number is preferentially selected for forwarding. This is a channel selection mode, and there are many options.
  • FIG. 6 Another embodiment of the present invention provides a data frame sending device, as shown in FIG. 6, including: a receiving module 601, a fragmenting module 602, an identifying module 603, and a forwarding module 604.
  • the receiving module 601 is configured to receive a sequence of data frames, determine an available channel of the data frame sequence, send the available channel information to the fragmentation module 602 and the forwarding module 604, and send the first data frame in the data frame sequence to the fragment.
  • the receiving module 601 is specifically configured to receive a data frame sequence from the first PON channel, where the rate of the first PON channel is a rate of the N second PON channels, and the data frame sequence packet Including the first data frame, N is a positive integer greater than one.
  • the fragmentation module 602 is configured to receive the first data frame and the available channel information from the receiving module 601. If the length of the first data frame exceeds the first length, the first data frame is fragmented to obtain the first data frame.
  • the plurality of fragments send the plurality of fragments of the first data frame to the identification module 603, wherein the number of fragments is determined by the number of available channels, and the first length is a preset value.
  • the fragmentation module 602 is further configured to: determine whether the number of the available channels is greater than 1, and if the number of the available channels is greater than 1, and the length of the first data frame exceeds the first length, the first data is The frame is sliced.
  • the effect of splitting the first data frame is the same. Assuming that the first data frame can only be forwarded from one channel, even if the first data frame is fragmented, all the fragments must be forwarded from this channel, and the other channels are completely unused, which cannot reduce the delay and reduce The effect of small delay jitter.
  • the identifier module 603 is configured to receive multiple fragments of the first data frame from the fragmentation module 602, insert overhead information into each fragment, obtain multiple fragment data frames, and send multiple fragment data frames to the forwarding.
  • the forwarding module 604 is configured to receive the available channel information from the receiving module 601, receive a plurality of fragmented data frames from the identifier module 603, and forward the plurality of fragmented data frames through the available channel.
  • the available channel is a second PON channel that can be actually forwarded.
  • the device provided by the embodiment of the present invention solves the problem that the jumbo frame is fragmented, and the delay of the jumbo frame transmission on any transmission channel is increased, the bandwidth utilization is reduced, the delay jitter is increased, and the service experience is affected. Since the fragmentation operation of the embodiment of the present invention is implemented above the MAC layer, regardless of the specific number of channel bindings, it can be compatible with all multi-channel PON systems.
  • the fragmentation module 602 is further configured to: determine whether the length of the first data frame exceeds the first length, if it is determined that the length of the first data frame does not exceed the first length The first data frame is not fragmented, and the unsliced first data frame is sent to the forwarding module 604.
  • the forwarding module 604 is further configured to receive the unfragmented first data frame from the fragmentation module. The available channel is used to forward the first data frame that is not fragmented.
  • the length of the first data frame represents the full length of the first data frame.
  • the fragmentation module 602 is further configured to: determine whether the number of the available channels is greater than 1, and if the number of the available channels is greater than 1, and the length of the first data frame exceeds the first length, the first data frame is Perform the sharding.
  • the effect of splitting the first data frame is the same. Assuming that the first data frame can only be forwarded from one channel, even if the first data frame is fragmented, all the fragments must be forwarded from this channel, and the other channels are completely unused, which cannot reduce the delay and reduce The effect of small delay jitter.
  • the number of fragments is an integer multiple of the number of available channels, and preferably, the number of fragments is equal to the number of available channels, that is, the number of fragments is determined according to actual conditions of the M second PON channels.
  • the number of shards is M.
  • the length of each slice is determined according to the remaining space of the transmission queues of the M second PON channels, the number of fragments, and the length of the first data frame.
  • the length of each slice may be determined according to the remaining space of the transmit queue of the available channel, the number of slices, and the length of the first data frame.
  • the first data frame and the fragmented data frame may be an Ethernet frame, and the fragmented data frame includes a first length/type field, configured to indicate that the fragmented data frame carries the fragmentation field, and the fragmented field and the first length
  • the /type field is adjacent to the first length/type field
  • the first data frame and the fragmented data frame may also be XGEM frames, and the XGEM frame includes an XGEM frame header, wherein the fragment field and the frame sequence number replace the XGEM frame header All or part of the options field in .
  • the options field includes a first field, a second field, and a third field, where the first field is used to indicate the sequence number of the first data frame in the data frame sequence, and the second field is used to indicate that the fragment data frame is correspondingly fragmented.
  • the sequence number in the data frame, the third field and the LF field together indicate the number of slices.
  • the fragmentation field includes a fragment identifier and a fragment sequence number, where the fragment identifier is the number of fragments or is used to indicate that the last fragment in the fragmented data frame is formed.
  • Fragmented data frame the fragment sequence number is the sequence of the fragmented data frame in the corresponding fragmented data frame number. It should be understood that the number of slices can be obtained according to the slice number of the slice data frame formed by the last slice.
  • the fragment identification and the fragment sequence number have been implemented in various manners, which have been described in detail in the previous embodiments, and the embodiments of the present invention are not described herein again.
  • the fragmented data frame and the unfragmented data frame include: a fragmented frame identifier, configured to indicate whether the corresponding data frame is a fragmented data frame.
  • the first data frame is fragmented, and the value of the fragment frame identifier included in each fragment data frame is a fifth value; if the first data frame is The length does not exceed the first length, and the value of the fragmented frame identifier is the sixth value.
  • the fifth value and the sixth value may have a plurality of values, which are not limited in the embodiment of the present invention.
  • the fragmentation module 602 is specifically configured to: find a channel binding table according to a flow identifier of the first data frame, and obtain a forwarding channel of the first data frame, according to a remaining space of the sending queue of the forwarding channel, Obtaining the available channel of the first data frame, that is, the available channel of the data frame sequence, wherein the channel binding table is a pre-configured correspondence table between the flow identifier and the forwarding channel, and the forwarding channel is a second PON channel that can be forwarded theoretically. The available channel is the second PON channel that can actually be forwarded.
  • FIG. 7 Another embodiment of the present invention provides a receiving device for a data frame. As shown in FIG. 7, the method includes: a receiving module 701, an identifying module 702, a processing module 703, and a reassembly module 704.
  • the receiving module 701 is configured to receive a data frame, and send the data frame to the identification module 702, where the data frame has a frame serial number, and the frame serial number is a sequence number of the data frame in the data frame sequence;
  • the receiving module 701 is specifically configured to extract a data frame from the second PON channel.
  • the identification module 702 is configured to receive the data frame from the receiving module 701, and determine whether the data frame is a data frame to be processed according to the frame serial number and the expected sequence number. If the data frame is a data frame to be processed, the to-be-processed data frame is to be processed. The data frame is sent to the processing module 703;
  • the identification module 702 is specifically configured to: compare the frame sequence number and the expected sequence number, and save the data frame to the first cache 705 if the frame sequence number is greater than the expected sequence number; and discard the data frame if the frame sequence number is smaller than the expected sequence number; If the frame number is equal to the expected sequence number, the data frame is the data frame to be processed.
  • the device further includes a first cache 705, configured to store a data frame whose frame number is greater than an expected sequence number; the receiving module 701 is further configured to extract a data frame from the first cache 705, and extract the data frame.
  • the incoming data frame is sent to the identification module 702, wherein the data frame extracted from the first cache 705 has a higher priority than the data frame received from the second PON channel.
  • the processing module 703 is configured to receive the data frame to be processed from the identification module 702, and determine whether the data frame to be processed is a fragmented data frame. If the data frame to be processed is a fragmented data frame, according to the fragment data. a fragmentation field of the frame, determining whether all the fragment data frames having the same frame number have been received, and determining whether the fragment data frame and all the fragment data frames having the same frame sequence have been received Sending to the reassembly module 704, where the fragmentation field is used to indicate the number of fragmented data frames and the sequence number of the fragmented data frame in the corresponding fragmented data frame;
  • the processing module 703 is further configured to: if the data frame to be processed is an unfragmented data frame, increase the expected sequence number by one.
  • the method for determining whether the data frame to be processed is a fragmented data frame may be: (1) detecting a fragmented frame identifier in the to-be-processed data frame, and if the value of the fragmented frame identifier is a fifth value, The data frame is a fragmented data frame; (2) if there is no fragmentation field in the unfragmented data frame, detecting whether the data frame to be processed includes a fragmentation field, and if the fragmentation field is included, the data frame is (3) If there is also a fragmentation field in the unfragmented data frame, it may be determined according to the value of the fragmentation field whether the to-be-processed data frame is a fragmented data frame.
  • the reassembly module 704 is configured to receive the fragment data frame and the determination result from the processing module 703, and if all the fragment data frames having the same frame sequence number have been received, according to all the fragments having the same frame sequence number The field reorganizes all the fragmented data frames having the same frame number to recover the fragmented data frame, and the expected sequence number is incremented by one.
  • the device provided by the embodiment of the invention can ensure that the fragment data frame is correctly received, reassembles the fragment data frame, and recovers the corresponding fragmented data frame.
  • the data frame and the fragmented data frame may be an Ethernet frame, and the fragmented data frame includes a first length/type field, which is used to indicate that the fragmented data frame carries the fragmentation field, and the fragmentation field and the first length/ The type field is adjacent to the first length/type field;
  • the data frame and the fragmented data frame may also be XGEM frames, and the XGEM frame includes an XGEM frame header, where the fragmentation field and the frame sequence number are replaced by the XGEM frame header. All or part of the options field.
  • the options field includes a first field, a second field, and a third field, where the first field is used to indicate the sequence number of the data frame in the data frame sequence, and the second field is used to indicate that the fragment data frame is in the corresponding fragmented data.
  • the sequence number in the frame, the third field and the LF field together indicate the number of slices.
  • the fragmentation field includes a fragment identifier and a fragment sequence number, where the fragment identifier is the number of fragments or is used to indicate that the last fragment in the fragmented data frame is formed.
  • the fragmented data frame, the fragment number is the sequence number of the fragmented data frame in the corresponding fragmented data frame. It should be understood that the number of slices can be obtained according to the slice number of the slice data frame formed by the last slice.
  • the fragment identification and the fragment sequence number have been implemented in various manners, which have been described in detail in the previous embodiments, and the embodiments of the present invention are not described herein again.
  • a further embodiment of the invention provides a system for transmitting and receiving data frames, comprising: the device according to any one of claims 19 to 28, and the device according to any one of claims 29 to 35.
  • the apparatus configured to receive a sequence of data frames, determine an available channel of a sequence of data frames, wherein the sequence of data frames includes a first data frame; if the length of the first data frame exceeds The first length, the data frame is fragmented to obtain a plurality of fragments of the first data frame, wherein the number of fragments is determined by the number of available channels; adding overhead information in each fragment, a plurality of fragmented data frames, wherein the overhead information includes a fragmentation field and a frame number, and the fragmentation field is used to indicate the number of the fragmented data frames and the sequence number of the corresponding fragmented data frame in the first data frame, the frame serial number a sequence number of the first data frame in the sequence of data frames; and the plurality of slice data frames are forwarded through the available channels.
  • the apparatus for receiving a sequence of data frames from a first PON channel, the rate of the first PON channel being a rate of N second PON channels, wherein, the data The sequence of frames includes a first data frame, where N is a positive integer greater than one; determining that data frames in the sequence of data frames are forwarded from the M second PON channels, and if the length of the first data frame exceeds the first length, the first The data frame is fragmented to obtain a plurality of fragments of the first data frame, where M is a positive integer, 2 ⁇ M ⁇ N; and the overhead information is added to each fragment to obtain a plurality of fragmented data frames, where The overhead information includes a fragmentation field and a frame sequence number, and the fragmentation field is used to indicate the number of the fragmented data frames and the sequence number of the corresponding fragmented data frame in the first data frame, and the frame sequence number is the first data frame in the data frame sequence. Serial number; multiple fragmented data
  • the apparatus configured to receive a data frame from a second PON channel, the data frame having a frame number, wherein the frame number is a sequence number of the data frame in the sequence of data frames; a sequence number and an expected sequence number, determining whether the data frame is a data frame to be processed, and if the data frame is a data frame to be processed, determining whether the data frame to be processed is a fragmented data frame; if the data frame to be processed is Defragmenting a data frame according to the fragmentation field of the fragment data frame, determining whether all the fragment data frames having the same frame sequence number have been received, wherein the fragmentation field is used to indicate the number of fragmented data frames and the fragmentation data frame The sequence number of the fragmented data frame in the corresponding fragmented data frame; if all the fragmented data frames having the same frame number have been received, according to the fragmentation fields of all the fragmented data frames having the same frame number, All the fragmented data frames having the same frame number
  • the system provided by the embodiment of the present invention solves the problem that the transmission of the jumbo frame on any transmission channel causes the delay to increase, the bandwidth utilization decreases, the delay jitter increases, and the service experience is affected by adopting the method of fragmenting the jumbo frame. Problem; since the fragmentation operation of the embodiment of the present invention is implemented above the MAC layer, regardless of the specific number of channel bindings, it can be compatible with all multi-channel PON systems.
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, or an electrical, mechanical or other form of connection.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the embodiments of the present invention.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Small-Scale Networks (AREA)

Abstract

The embodiment of the invention provides a data frame transmitting method comprising: receiving, from a first PON channel, a data frame sequence, wherein a data rate in the first PON channel is a sum of data rates in N second PON channels, and the data frame sequence comprises a first data frame; determining that a data frame in the data frame sequence is forwarded via M second PON channels, if a length of the first data frame exceeds a first length, slicing the first data frame to obtain a plurality of slices of the first data frame; adding overhead information to each of the slices to obtain a plurality of sliced data frames, wherein the overhead information comprises a slice field and a frame serial number, the slice field is used to indicate a number of the sliced data frames and a serial number of a corresponding sliced data frame with respect to the first data frame, and the frame serial number is a serial number of the first data frame in the data frame sequence; and forwarding, via the M second PON channels, the plurality of sliced data frames. The invention can resolve a problem of large latency variation owing to a large transmission latency caused by a jumbo frame.

Description

一种数据帧发送、接收的方法和设备Method and device for transmitting and receiving data frames 技术领域Technical field

本发明涉及无源光网络(Passive Optical Network,PON)领域,尤其涉及一种数据帧发送、接收的方法和设备。The present invention relates to the field of Passive Optical Network (PON), and in particular, to a method and device for transmitting and receiving data frames.

背景技术Background technique

随着用户对网络接入带宽的需求大幅度增长,100G以太网无源光网络(Ethernet Passive Optical Network,EPON),万兆吉比特无源光网络(XG Passive Optical Network,XGPON)以及时分波分复用无源光网络(Time Wavelength Division Multiplexing Passive Optical Network,TWDM-PON)等系统,引起了业界的广泛关注。As users' demand for network access bandwidth increases significantly, 100G Ethernet Passive Optical Network (EPON), XG Passive Optical Network (XGPON) and time division wavelength division Systems such as the Time Wavelength Division Multiplexing Passive Optical Network (TWDM-PON) have attracted widespread attention in the industry.

其中,100G-EPON,XGPON以及TWDM-PON等系统都具有多个传输通道,可支持通道绑定技术,即以多个传输通道作为一个逻辑通道实现更高速率的传输。然而在传输以太网业务时,由于以太网帧中包含巨型帧,在通道绑定状态下,巨型帧在任一传输通道上传输,都会导致各传输通道上流量不均衡,导致延时增加,带宽利用率降低,而且,巨型帧出现的频率不固定,会增大延时的抖动,影响业务体验。Among them, 100G-EPON, XGPON and TWDM-PON systems have multiple transmission channels, which can support channel bonding technology, that is, multiple transmission channels are used as one logical channel to achieve higher rate transmission. However, when the Ethernet service is transmitted, because the Ethernet frame contains jumbo frames, in the channel bonding state, jumbo frames are transmitted on any transmission channel, which will result in unbalanced traffic on each transmission channel, resulting in increased delay and bandwidth utilization. The rate is reduced, and the frequency of jumbo frames is not fixed, which increases the jitter of the delay and affects the service experience.

发明内容Summary of the invention

本发明实施例提供一种数据帧的发送方法,解决了巨型帧在任一传输通道上传输均会导致延时增加,带宽利用率降低,延时抖动大的问题。The embodiment of the invention provides a method for transmitting a data frame, which solves the problem that the transmission of the jumbo frame on any transmission channel causes an increase in delay, a decrease in bandwidth utilization, and a large delay jitter.

第一方面,提供了一种数据帧的发送方法,所述方法用于无源光网络PON系统中,包括:从第一PON通道接收数据帧序列,所述第一PON通道的速率为N个第二PON通道的速率和,其中,所述数据帧序列包括第一数据帧,N为大于1的正整数;确定所述数据帧序列中的数据帧从M个第二PON通道转发,如果所述第一数据帧的长度超过第一长度,对所述第一数据帧进行分片,得到第一数据帧的多个分片,其中,M为正整数,2≤M≤ N;在每个分片中添加开销信息,得到多个分片数据帧,其中,所述开销信息包括分片字段和帧序号,所述分片字段用于指示分片数据帧的数目以及相应分片数据帧在所述第一数据帧中的序号,所述帧序号为所述第一数据帧在所述数据帧序列中的序号;通过所述M个第二PON通道,将所述多个分片数据帧转发出去。A first aspect provides a method for transmitting a data frame, where the method is used in a passive optical network PON system, including: receiving a sequence of data frames from a first PON channel, where the rate of the first PON channel is N a rate sum of the second PON channel, wherein the data frame sequence includes a first data frame, N is a positive integer greater than 1, and determining that the data frame in the data frame sequence is forwarded from the M second PON channels, if The length of the first data frame exceeds the first length, and the first data frame is fragmented to obtain multiple fragments of the first data frame, where M is a positive integer, 2≤M≤ And adding the overhead information to each fragment to obtain a plurality of fragmented data frames, where the overhead information includes a fragmentation field and a frame sequence number, where the fragmentation field is used to indicate the number of fragmented data frames and corresponding a sequence number of the fragment data frame in the first data frame, the frame sequence number is a sequence number of the first data frame in the data frame sequence; and the plurality of the second PON channels are used The fragmented data frames are forwarded out.

本发明实施例采用将巨型帧分片的方式,解决了巨型帧在任一传输通道上传输均会导致延时增加,带宽利用率降低,延时抖动增大,影响业务体验的问题;由于本发明实施例的分片操作是在媒体接入控制(Media Access Control,MAC)层以上实现的,与具体的通道绑定数目无关,因此可以兼容所有多通道PON系统。The embodiment of the present invention solves the problem that the jumbo frame is fragmented, which causes the delay of the jumbo frame transmission on any transmission channel to increase the delay, the bandwidth utilization is reduced, the delay jitter is increased, and the service experience is affected; The fragmentation operation of the embodiment is implemented above the Media Access Control (MAC) layer, regardless of the specific number of channel bindings, and thus is compatible with all multi-channel PON systems.

结合第一方面,在第一方面的第一种可能的实现方式中,所述第一数据帧和所述分片数据帧均为以太网帧,所述分片数据帧包括第一长度类型length/type字段,用于指示所述分片数据帧携带了所述分片字段,所述分片字段与所述第一length/type字段相邻,位于所述第一length/type字段的后面。With reference to the first aspect, in a first possible implementation manner of the first aspect, the first data frame and the fragment data frame are both Ethernet frames, and the fragment data frame includes a first length type length a /type field, configured to indicate that the fragment data frame carries the fragmentation field, where the fragmentation field is adjacent to the first length/type field, and is located after the first length/type field.

结合第一方面,在第一方面的第二种可能的实现方式中,所述第一数据帧和所述分片数据帧均为万兆吉比特无源光网络封装模式XGEM帧,所述XGEM帧包括XGEM帧头,其中,所述分片字段和所述帧序号替换所述XGEM帧头中的选择options字段的全部或部分。With reference to the first aspect, in a second possible implementation manner of the first aspect, the first data frame and the fragment data frame are both a Gigabit Gigabit passive optical network encapsulation mode XGEM frame, and the XGEM The frame includes an XGEM frame header, wherein the slice field and the frame sequence number replace all or part of a selected options field in the XGEM frame header.

结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述分片字段替换所述XGEM帧头中选择options字段的全部或部分具体包括:所述options字段包括第一字段,第二字段和第三字段,所述第一字段用于指示所述第一数据帧在所述数据帧序列中的序号,所述第二字段用于指示所述分片数据帧在相应被分片数据帧中的序号,所述第三字段和最后片段指示LF字段共同指示分片的数目。In conjunction with the second possible implementation of the first aspect, in a third possible implementation manner of the first aspect, the fragment field is replaced by all or part of the selected options field in the XGEM frame header. The options field includes a first field, a second field, and a third field, where the first field is used to indicate a sequence number of the first data frame in the data frame sequence, and the second field is used to indicate the The sequence number of the fragmented data frame in the corresponding fragmented data frame, the third field and the last fragment indicating that the LF field collectively indicates the number of slices.

结合第一方面或第一方面的第一种或第二种可能的实现方式中的任一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述分片字段包括分片标识和分片序号,所述分片标识为分片的数目,所述分片序号为相应分片数据帧在所述第一数据帧中的序号。本发明实施例可以解决 接收端接收到的数据帧出现乱序的问题。With reference to the first aspect or any one of the possible implementation manners of the first or the second possible implementation manner of the first aspect, in a fourth possible implementation manner of the first aspect, the fragment field includes The fragment identifier and the fragment sequence number, the fragment identifier is the number of fragments, and the fragment sequence number is a sequence number of the corresponding fragment data frame in the first data frame. The embodiment of the invention can solve The data frame received by the receiving end has a problem of out of order.

结合第一方面或第一方面的第一种或第二种可能的实现方式中的任一种可能的实现方式,在第一方面的第五种可能的实现方式中,所述分片字段包括分片标识和分片序号,所述分片标识用于指示由所述第一数据帧中的最后一个分片形成的分片数据帧;所述分片序号为相应分片数据帧在所述第一数据帧中的序号。With reference to the first aspect, or any one of the possible implementation manners of the first or the second possible implementation of the first aspect, in a fifth possible implementation manner of the first aspect, the fragment field includes a slice identifier and a slice sequence number, the slice identifier being used to indicate a slice data frame formed by a last slice in the first data frame; the slice sequence number is a corresponding slice data frame in the The sequence number in the first data frame.

结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述分片标识用于指示由所述第一数据帧中的最后一个分片形成的分片数据帧具体包括:在所述分片标识的值为第一值时,所述分片数据帧是由所述第一数据帧的第一个分片形成;在所述分片标识的值为第二值时,所述分片数据帧是由所述第一数据帧的中间分片形成;在所述分片标识的值为第三值时,所述分片数据帧是由所述第一数据帧的最后一个分片形成,其中,第一至第三值为三个不同的值。With reference to the fifth possible implementation manner of the first aspect, in a sixth possible implementation manner of the first aspect, the fragment identifier is used to indicate that the last fragment in the first data frame is formed. The fragment data frame specifically includes: when the value of the fragment identifier is a first value, the fragment data frame is formed by a first fragment of the first data frame; When the value is the second value, the fragment data frame is formed by the intermediate fragment of the first data frame; when the value of the fragment identifier is the third value, the fragment data frame is The last slice of the first data frame is formed, wherein the first to third values are three different values.

结合第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,所述分片标识由分片头指示字段和分片尾指示字段构成。In conjunction with the sixth possible implementation of the first aspect, in a seventh possible implementation manner of the first aspect, the fragment identifier is configured by a fragment header indication field and a fragment tail indication field.

结合第一方面或第一方面的第一种或第二种可能的实现方式中的任一种可能的实现方式,在第一方面的第八种可能的实现方式中,分片的数目为M。本发明实施例可以更有效的利用第二PON通道,提高带宽利用率。With reference to the first aspect or any one of the possible implementation manners of the first or the second possible implementation manner of the first aspect, in the eighth possible implementation manner of the first aspect, the number of fragments is M . The embodiment of the invention can utilize the second PON channel more effectively and improve the bandwidth utilization.

结合第一方面的第八种可能的实现方式,在第一方面的第九种可能的实现方式中,在对所述第一数据帧进行分片之前,所述方法还包括:根据所述M个第二PON通道的发送队列剩余空间,所述分片的数目和所述第一数据帧的长度,确定每个分片的长度。In conjunction with the eighth possible implementation of the first aspect, in a ninth possible implementation manner of the first aspect, before the fragmenting the first data frame, the method further includes: according to the M The remaining space of the transmission queue of the second PON channel, the number of the fragments and the length of the first data frame, determine the length of each slice.

第二方面,提供一种数据帧的接收方法,所述方法用于无源光网络PON系统中,包括:从第二PON通道接收数据帧,所述数据帧具有帧序号,其中,所述帧序号为所述数据帧在数据帧序列中的序号;根据所述帧序号和预期序号,判断所述数据帧是否为待处理的数据帧,如果所述数据帧为待处理的数据帧,判断所述待处理的数据帧是否为分片数据帧;如果所述待处理的数据帧为分片数据帧,根据所述分片数据帧的分片字段,判断是否已经接收到所有具有相同所述帧序号的分片数据帧,其中,所述分片字段 用于指示分片数据帧的数目和所述分片数据帧在相应被分片数据帧中的序号;如果已经接收到所有具有相同所述帧序号的分片数据帧,根据所述所有具有相同所述帧序号的分片数据帧的分片字段,对所有具有相同所述帧序号的分片数据帧进行重组,恢复出所述被分片数据帧,所述预期序号加1。A second aspect provides a method for receiving a data frame, where the method is used in a passive optical network PON system, including: receiving a data frame from a second PON channel, where the data frame has a frame number, wherein the frame The sequence number is a sequence number of the data frame in the sequence of data frames; determining, according to the frame sequence number and the expected sequence number, whether the data frame is a data frame to be processed, and if the data frame is a data frame to be processed, Whether the data frame to be processed is a fragmented data frame; if the data frame to be processed is a fragmented data frame, according to the fragmentation field of the fragmented data frame, it is determined whether all the frames having the same frame have been received a fragmented data frame of a sequence number, wherein the fragmentation field For indicating the number of fragmented data frames and the sequence number of the fragmented data frame in the corresponding fragmented data frame; if all the fragmented data frames having the same frame number have been received, according to all of the same And a fragmentation field of the fragment data frame of the frame sequence, recombining all the fragment data frames having the same frame sequence, recovering the fragmented data frame, and adding the expected sequence number to 1.

本发明实施例提供的方法,可以保证正确接收分片数据帧,对分片数据帧进行重组,恢复出相应被分片数据帧。The method provided by the embodiment of the invention can ensure that the fragment data frame is correctly received, the fragment data frame is reorganized, and the corresponding fragmented data frame is restored.

结合第二方面,在第二方面的第一种可能的实现方式中,所述数据帧和所述分片数据帧均为以太网帧,所述分片数据帧包括第一长度类型length/type字段,用于指示所述分片数据帧携带了所述分片字段,所述分片字段与所述第一length/type字段相邻,位于所述第一length/type字段的后面。With reference to the second aspect, in a first possible implementation manner of the second aspect, the data frame and the fragment data frame are both Ethernet frames, and the fragment data frame includes a first length type length/type a field, configured to indicate that the fragment data frame carries the fragment field, where the fragment field is adjacent to the first length/type field, and is located after the first length/type field.

结合第二方面,在第二方面的第二种可能的实现方式中,所述数据帧和所述分片数据帧均为万兆吉比特无源光网络封装模式XGEM帧,所述XGEM帧包括XGEM帧头,其中,所述分片字段和所述帧序号替换所述XGEM帧头中的选择options字段的全部或部分。With reference to the second aspect, in a second possible implementation manner of the second aspect, the data frame and the fragment data frame are both a Gigabit Gigabit passive optical network encapsulation mode XGEM frame, and the XGEM frame includes An XGEM frame header, wherein the slice field and the frame sequence number replace all or part of a selected options field in the XGEM frame header.

结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述分片字段替换所述XGEM帧头中选择options字段的全部或部分具体包括:所述options字段包括第一字段,第二字段和第三字段,所述第一字段用于指示所述数据帧在数据帧序列中的序号,所述第二字段用于指示所述分片数据帧在相应被分片数据帧中的序号,所述第三字段和最后片段指示LF字段共同指示分片的数目。With reference to the second possible implementation of the second aspect, in a third possible implementation manner of the second aspect, the fragment field is replaced by all or part of the selected options field in the XGEM frame header, including: The options field includes a first field, a second field, and a third field, where the first field is used to indicate a sequence number of the data frame in a sequence of data frames, and the second field is used to indicate the fragment data frame The sequence number in the corresponding fragmented data frame, the third field and the last fragment indicate that the LF field collectively indicates the number of slices.

结合第二方面或第二方面的第一种或第二种可能的实现方式中的任一种可能的实现方式,在第二方面的第四种可能的实现方式中,所述判断所述数据帧是否为待处理的数据帧具体包括:比较所述帧序号和所述预期序号,如果所述帧序号大于所述预期序号,将所述数据帧保存到第一缓存中,从所述第二PON通道接收数据帧;如果所述帧序号小于所述预期序号,将所述数据帧丢弃,从所述第二PON通道接收数据帧;如果所述帧序号等于所述预期序号,所述数据帧为所述待处理的数据帧。 With reference to the second aspect or any one of the possible implementation manners of the first or the second possible implementation manner of the second aspect, in the fourth possible implementation manner of the second aspect, the determining the data Whether the frame is a data frame to be processed specifically includes: comparing the frame sequence number and the expected sequence number, and if the frame sequence number is greater than the expected sequence number, saving the data frame to the first cache, from the second Receiving, by the PON channel, a data frame; if the frame sequence number is smaller than the expected sequence number, discarding the data frame, and receiving a data frame from the second PON channel; if the frame sequence number is equal to the expected sequence number, the data frame The data frame to be processed.

结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,在从所述第二PON通道接收数据帧之前,所述方法还包括:如果所述第一缓存不为空,从所述第一缓存中提取数据帧,根据所述帧序号和所述预期序号,判断从所述第一缓存中提取的数据帧是否为待处理的数据帧,如果所述第一缓存为空,从所述第二PON通道接收数据帧。With reference to the fourth possible implementation of the second aspect, in a fifth possible implementation manner of the second aspect, before the receiving the data frame from the second PON channel, the method further includes: if the If the buffer is not empty, the data frame is extracted from the first cache, and according to the frame sequence number and the expected sequence number, it is determined whether the data frame extracted from the first cache is a data frame to be processed, if The first buffer is empty, and the data frame is received from the second PON channel.

结合第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,在判断从第一缓存中提取的数据帧是否为待处理的数据帧之后,所述方法还包括:如果从所述第一缓存中提取的数据帧不是待处理的数据帧,继续从所述第一缓存中提取数据帧,如果从所述第一缓存中提取的所有数据帧均不是待处理的数据帧,从所述第二PON通道接收数据帧。With reference to the fifth possible implementation manner of the second aspect, in a sixth possible implementation manner of the second aspect, after determining whether the data frame extracted from the first buffer is a data frame to be processed, the method The method further includes: if the data frame extracted from the first cache is not a data frame to be processed, continue to extract a data frame from the first cache, if all data frames extracted from the first cache are not to be processed The processed data frame receives a data frame from the second PON channel.

结合第二方面或第二方面的第一种或第二种可能的实现方式中的任一种可能的实现方式,在第二方面的第七种可能的实现方式中,所述判断所述待处理的数据帧是否为分片数据帧具体包括:检测所述待处理的数据帧中是否包含所述分片字段,如果包含所述分片字段,所述待处理的数据帧为分片数据帧。With reference to the second aspect, or any one of the possible implementation manners of the first or the second possible implementation manner of the second aspect, in the seventh possible implementation manner of the second aspect, Whether the processed data frame is a fragmented data frame includes: detecting whether the fragmentation field is included in the to-be-processed data frame, and if the fragmentation field is included, the to-be-processed data frame is a fragmented data frame. .

第三方面,提供一种数据帧的发送设备,所述设备用于无源光网络PON系统中,包括:接收模块,分片模块,标识模块和转发模块,A third aspect provides a data frame sending device, where the device is used in a passive optical network PON system, and includes: a receiving module, a fragmentation module, an identification module, and a forwarding module.

所述接收模块,用于从第一PON通道接收数据帧序列,所述第一PON通道的速率为N个第二PON通道的速率和,将所述数据帧序列发送给所述分片模块,其中,所述数据帧序列包括第一数据帧,N为大于1的正整数;所述分片模块,用于从所述接收模块接收所述数据帧序列,确定所述数据帧序列中的数据帧从M个第二PON通道转发,如果所述第一数据帧的长度超过第一长度,对所述第一数据帧进行分片,得到第一数据帧的多个分片,将所述第一数据帧的多个分片发送给所述标识模块,将所述M个第二PON通道的信息发送给所述转发模块,其中,M为正整数,2≤M≤N;所述标识模块,用于从所述分片模块接收所述第一数据帧的多个分片,在每个分片中插入开销信息,得到多个分片数据帧,将所述多个分片数据帧发送给所述转发模块,其中,所述开销信息包括分片字段和帧序号,所述分片字段用于指示分片数据帧的数目以及相应分片数据帧在所述第一数据帧中的序号,所 述帧序号为所述第一数据帧在所述数据帧序列中的序号;所述转发模块,用于从所述分片模块接收所述M个第二PON通道的信息,从所述标识模块接收所述多个分片数据帧,通过所述M个第二PON通道,将所述多个分片数据帧转发出去。The receiving module is configured to receive a sequence of data frames from a first PON channel, where the rate of the first PON channel is a rate sum of N second PON channels, and send the sequence of data frames to the fragmentation module. The data frame sequence includes a first data frame, where N is a positive integer greater than 1. The fragmentation module is configured to receive the data frame sequence from the receiving module, and determine data in the data frame sequence. The frame is forwarded from the M second PON channels. If the length of the first data frame exceeds the first length, the first data frame is fragmented to obtain multiple fragments of the first data frame. Transmitting, by the identifier module, the information of the M second PON channels to the forwarding module, where M is a positive integer, 2 ≤ M ≤ N; And receiving, by the fragmentation module, a plurality of fragments of the first data frame, inserting overhead information into each fragment, obtaining a plurality of fragmented data frames, and sending the multiple fragmented data frames. Giving the forwarding module, wherein the overhead information includes a fragmentation field and Serial number, field for indicating the slice sliced data frame and the corresponding frame number of sliced data in the first data frame, the The frame number is a sequence number of the first data frame in the data frame sequence; the forwarding module is configured to receive information about the M second PON channels from the fragmentation module, from the identifier module Receiving the plurality of fragment data frames, and forwarding the plurality of fragment data frames through the M second PON channels.

本发明实施例提供的设备采用将巨型帧分片的方式,解决了巨型帧在任一传输通道上传输均会导致延时增加,带宽利用率降低,延时抖动增大,影响业务体验的问题;由于本发明实施例的分片操作是在MAC层以上实现的,与具体的通道绑定数目无关,因此可以兼容所有多通道PON系统。The device provided by the embodiment of the present invention solves the problem that the jumbo frame is fragmented, and the delay of the jumbo frame transmission on any transmission channel is increased, the bandwidth utilization is reduced, the delay jitter is increased, and the service experience is affected. Since the fragmentation operation of the embodiment of the present invention is implemented above the MAC layer, regardless of the specific number of channel bindings, it can be compatible with all multi-channel PON systems.

结合第三方面,在第三方面的第一种可能的实现方式中,所述第一数据帧和所述分片数据帧均为以太网帧,所述分片数据帧包括第一长度类型length/type字段,用于指示所述分片数据帧携带了所述分片字段,所述分片字段与所述第一length/type字段相邻,位于所述第一length/type字段的后面。With reference to the third aspect, in a first possible implementation manner of the third aspect, the first data frame and the fragment data frame are both Ethernet frames, and the fragment data frame includes a first length type length a /type field, configured to indicate that the fragment data frame carries the fragmentation field, where the fragmentation field is adjacent to the first length/type field, and is located after the first length/type field.

结合第三方面,在第三方面的第二种可能的实现方式中,所述第一数据帧和所述分片数据帧均为万兆吉比特无源光网络封装模式XGEM帧,所述XGEM帧包括XGEM帧头,其中,所述分片字段和所述帧序号替换所述XGEM帧头中的选择options字段的全部或部分。With reference to the third aspect, in a second possible implementation manner of the third aspect, the first data frame and the fragment data frame are both a Gigabit Gigabit passive optical network encapsulation mode XGEM frame, and the XGEM The frame includes an XGEM frame header, wherein the slice field and the frame sequence number replace all or part of a selected options field in the XGEM frame header.

结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述options字段包括第一字段,第二字段和第三字段,所述第一字段用于指示所述第一数据帧在所述数据帧序列中的序号,所述第二字段用于指示所述分片数据帧在相应被分片数据帧中的序号,所述第三字段和最后片段指示LF字段共同指示分片的数目。In conjunction with the second possible implementation of the third aspect, in a third possible implementation manner of the third aspect, the options field includes a first field, a second field, and a third field, where the first field is used by And indicating a sequence number of the first data frame in the sequence of data frames, where the second field is used to indicate a sequence number of the fragment data frame in a corresponding fragmented data frame, the third field and the last The fragment indicates that the LF field collectively indicates the number of slices.

结合第三方面或第三方面的第一种或第二种可能的实现方式中的任一种可能的实现方式,在第三方面的第四种可能的实现方式中,所述分片字段包括分片标识和分片序号,所述分片标识为分片的数目,所述分片序号为相应分片数据帧在所述第一数据帧中的序号。本发明实施例可以解决接收端接收到的数据帧出现乱序的问题。With reference to the third aspect, or any one of the possible implementation manners of the first or the second possible implementation manner of the third aspect, in a fourth possible implementation manner of the third aspect, the fragment field includes The fragment identifier and the fragment sequence number, the fragment identifier is the number of fragments, and the fragment sequence number is a sequence number of the corresponding fragment data frame in the first data frame. The embodiment of the invention can solve the problem that the data frames received by the receiving end are out of order.

结合第三方面或第三方面的第一种或第二种可能的实现方式中的任一种可能的实现方式,在第三方面的第五种可能的实现方式中,所述分片 字段包括分片标识和分片序号,所述分片标识用于指示由所述第一数据帧中的最后一个分片形成的分片数据帧;所述分片序号为相应分片数据帧在所述第一数据帧中的序号。With reference to the third aspect, or any one of the possible implementation manners of the first or the second possible implementation manner of the third aspect, in the fifth possible implementation manner of the third aspect, the fragmenting The field includes a slice identifier and a slice sequence number, where the slice identifier is used to indicate a slice data frame formed by a last slice in the first data frame; the slice sequence number is a corresponding slice data frame. The sequence number in the first data frame.

结合第三方面的第五种可能的实现方式,在第三方面的第六种可能的实现方式中,所述分片标识用于指示由所述第一数据帧中的最后一个分片形成的分片数据帧具体包括:在所述分片标识的值为第一值时,所述分片数据帧是由所述第一数据帧的第一个分片形成;在所述分片标识的值为第二值时,所述分片数据帧是由所述第一数据帧的中间分片形成;在所述分片标识的值为第三值时,所述分片数据帧是由所述第一数据帧的最后一个分片形成,其中,第一至第三值为不同的值。In conjunction with the fifth possible implementation of the third aspect, in a sixth possible implementation manner of the third aspect, the fragment identifier is used to indicate that the last fragment in the first data frame is formed. The fragment data frame specifically includes: when the value of the fragment identifier is a first value, the fragment data frame is formed by a first fragment of the first data frame; When the value is the second value, the fragment data frame is formed by the intermediate fragment of the first data frame; when the value of the fragment identifier is the third value, the fragment data frame is The last slice of the first data frame is formed, wherein the first to third values are different values.

结合第三方面的第六种可能的实现方式,在第三方面的第七种可能的实现方式中,所述分片标识由分片头指示字段和分片尾指示字段构成。In conjunction with the sixth possible implementation of the third aspect, in a seventh possible implementation manner of the third aspect, the fragment identifier is configured by a fragment header indication field and a fragment tail indication field.

结合第三方面或第三方面的第一种或第二种可能的实现方式中的任一种可能的实现方式,在第三方面的第八种可能的实现方式中,分片的数目为M。With reference to the third aspect or any one of the possible implementation manners of the first or second possible implementation manner of the third aspect, in the eighth possible implementation manner of the third aspect, the number of fragments is M .

结合第三方面的第八种可能的实现方式,在第三方面的第九种可能的实现方式中,所述分片模块具体用于:根据所述M个第二PON通道的发送队列剩余空间,所述分片的数目和所述第一数据帧的长度,确定每个分片的长度。In conjunction with the eighth possible implementation of the third aspect, in a ninth possible implementation manner of the third aspect, the fragmentation module is specifically configured to: according to the remaining space of the sending queues of the M second PON channels The number of the slices and the length of the first data frame determine the length of each slice.

第四方面,提供一种数据帧的接收设备,所述设备用于无源光网络PON系统,包括:接收模块,识别模块,处理模块和重组模块,A fourth aspect provides a receiving device for a data frame, where the device is used in a passive optical network PON system, including: a receiving module, an identifying module, a processing module, and a recombining module,

所述接收模块,用于从第二PON通道接收数据帧,将所述数据帧发送给所述识别模块,其中,所述数据帧具有帧序号,所述帧序号为所述数据帧在数据帧序列中的序号;The receiving module is configured to receive a data frame from the second PON channel, and send the data frame to the identification module, where the data frame has a frame serial number, and the frame serial number is the data frame in the data frame The serial number in the sequence;

所述识别模块,用于从所述接收模块接收所述数据帧,根据所述帧序号和预期序号,判断所述数据帧是否为待处理的数据帧,如果所述数据帧为待处理的数据帧,将所述待处理的数据帧发送给所述处理模块;The identification module is configured to receive the data frame from the receiving module, determine, according to the frame serial number and the expected sequence number, whether the data frame is a data frame to be processed, if the data frame is data to be processed Sending, to the processing module, the data frame to be processed;

所述处理模块,用于从所述识别模块接收所述待处理的数据帧,判断所述待处理的数据帧是否为分片数据帧,如果所述待处理的数据帧为分片 数据帧,根据所述分片数据帧的分片字段,判断是否已经接收到所有具有相同所述帧序号的分片数据帧,将所述分片数据帧和是否已经接收到所有具有相同所述帧序号的分片数据帧的判断结果发送给所述重组模块,其中,所述分片字段用于指示分片数据帧的数目以及所述分片数据帧在相应被分片数据帧中的序号;The processing module is configured to receive the data frame to be processed from the identification module, and determine whether the data frame to be processed is a fragmented data frame, if the data frame to be processed is fragmented Determining, according to the fragmentation field of the fragment data frame, whether all the fragment data frames having the same frame sequence number have been received, and whether the fragment data frame and all the packets have been received have the same The result of the determination of the fragmented data frame of the frame sequence is sent to the reassembly module, where the fragmentation field is used to indicate the number of fragmented data frames and the sequence number of the fragmented data frame in the corresponding fragmented data frame. ;

所述重组模块,用于从所述处理模块接收所述分片数据帧和所述判断结果,如果已经接收到所有具有相同所述帧序号的分片数据帧,根据所述所有具有相同所述帧序号的分片数据帧的分片字段,对所有具有相同所述帧序号的分片数据帧进行重组,恢复出所述被分片数据帧,所述预期序号加1。The reassembly module is configured to receive, according to the processing module, the fragment data frame and the determination result, if all the fragment data frames having the same frame sequence number have been received, according to the all having the same A fragmentation field of the fragment data frame of the frame number, recombining all the fragment data frames having the same frame number, recovering the fragmented data frame, and adding the expected sequence number to 1.

结合第四方面,在第四方面的第一种可能的实现方式中,所述数据帧和所述分片数据帧均为以太网帧,所述分片数据帧包括第一长度类型length/type字段,用于指示所述分片数据帧携带了所述分片字段,所述分片字段与所述第一length/type字段相邻,位于所述第一length/type字段的后面。With reference to the fourth aspect, in a first possible implementation manner of the fourth aspect, the data frame and the fragment data frame are both Ethernet frames, and the fragment data frame includes a first length type length/type a field, configured to indicate that the fragment data frame carries the fragment field, where the fragment field is adjacent to the first length/type field, and is located after the first length/type field.

结合第四方面,在第四方面的第二种可能的实现方式中,所述数据帧和所述分片数据帧均为万兆吉比特无源光网络封装模式XGEM帧,所述XGEM帧包括XGEM帧头,其中,所述分片字段和所述帧序号替换所述XGEM帧头中选择options字段的全部或部分。With reference to the fourth aspect, in a second possible implementation manner of the fourth aspect, the data frame and the fragment data frame are both a Gigabit Gigabit passive optical network encapsulation mode XGEM frame, and the XGEM frame includes An XGEM frame header, wherein the slice field and the frame sequence number replace all or part of the selection options field in the XGEM frame header.

结合第四方面的第二种可能的实现方式,在第四方面的第三种可能的实现方式中,所述options字段包括第一字段,第二字段和第三字段,所述第一字段用于指示所述数据帧在数据帧序列中的序号,所述第二字段用于指示所述分片数据帧在相应被分片数据帧中的序号,所述第三字段和最后片段指示LF字段共同指示分片的数目。In conjunction with the second possible implementation of the fourth aspect, in a third possible implementation manner of the fourth aspect, the options field includes a first field, a second field, and a third field, where the first field is used by And indicating a sequence number of the data frame in a sequence of data frames, where the second field is used to indicate a sequence number of the fragment data frame in a corresponding fragmented data frame, and the third field and a last segment indicate an LF field. Commonly indicate the number of shards.

结合第四方面或第四方面的第一种或第二种可能的实现方式中任一种可能的实现方式,在第四方面的第四种可能的实现方式中,所述识别模块具体用于:比较所述帧序号和所述预期序号,如果所述帧序号大于所述预期序号,将所述数据帧保存到第一缓存中;如果所述帧序号小于所述预期序号,将所述数据帧丢弃;如果所述帧序号等于所述预期序号,所述数 据帧为待处理的数据帧;所述设备还包括所述第一缓存,用于存储所述帧序号大于所述预期序号的数据帧。With reference to the fourth aspect, or any one of the possible implementation manners of the first or the second possible implementation manner of the fourth aspect, in a fourth possible implementation manner of the fourth aspect, the Comparing the frame sequence number and the expected sequence number, if the frame sequence number is greater than the expected sequence number, saving the data frame to the first cache; if the frame sequence number is smaller than the expected sequence number, the data is Frame discarding; if the frame number is equal to the expected sequence number, the number The frame is a data frame to be processed; the device further includes the first buffer, configured to store the data frame whose frame number is greater than the expected sequence number.

结合第四方面的第四种可能的实现方式,在第四方面的第五种可能的实现方式中,所述接收模块还用于从所述第一缓存中提取数据帧,将提取出来的数据帧发送给所述识别模块,其中,所述接收模块从所述第一缓存提取数据帧的优先级高于从所述第二PON通道接收数据帧。In conjunction with the fourth possible implementation of the fourth aspect, in a fifth possible implementation manner of the fourth aspect, the receiving module is further configured to extract a data frame from the first cache, and extract the data The frame is sent to the identification module, wherein the receiving module extracts a data frame from the first cache with a higher priority than receiving a data frame from the second PON channel.

结合第四方面或第四方面的第一种或第二种可能的实现方式中任一种可能的实现方式,在第四方面的第六种可能的实现方式中,所述处理模块具体用于:检测所述待处理的数据帧中是否包含所述分片字段,如果包含所述分片字段,所述待处理的数据帧为分片数据帧。With reference to the fourth aspect, or any one of the possible implementation manners of the first or the second possible implementation manner of the fourth aspect, in a sixth possible implementation manner of the fourth aspect, And detecting whether the fragmentation field is included in the data frame to be processed, and if the fragmentation field is included, the data frame to be processed is a fragmented data frame.

第五方面,提供一种数据帧的发送和接收系统,所述系统用于无源光网络PON领域,包括:如上述第三方面或者第三方面的任意一种可选方式中所述的设备,以及如上述第四方面或者第四方面的任意一种可选方式中所述的设备。A fifth aspect provides a data frame transmission and reception system, where the system is used in a PON field of a passive optical network, including: the device described in any one of the foregoing third aspect or the third aspect And the apparatus as described in the above fourth aspect or any one of the fourth aspects.

本发明实施例采用将巨型帧分片的方式,解决了巨型帧在任一传输通道上传输均会导致延时增加,带宽利用率降低,延时抖动增大,影响业务体验的问题;由于本发明实施例的分片操作是在MAC层以上实现的,与具体的通道绑定数目无关,因此可以兼容所有多通道PON系统。The embodiment of the present invention solves the problem that the jumbo frame is fragmented, which causes the delay of the jumbo frame transmission on any transmission channel to increase the delay, the bandwidth utilization is reduced, the delay jitter is increased, and the service experience is affected; The fragmentation operation of the embodiment is implemented above the MAC layer, independent of the specific number of channel bindings, and thus is compatible with all multi-channel PON systems.

附图说明DRAWINGS

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the embodiments or the description of the prior art will be briefly described below. Obviously, the drawings in the following description are only It is a certain embodiment of the present invention, and other drawings can be obtained from those skilled in the art without any inventive labor.

图1为一种应用本发明实施例的系统架构图;1 is a system architecture diagram of an embodiment of the present invention;

图2为本发明一种实施例的方法流程图;2 is a flow chart of a method according to an embodiment of the present invention;

图3为XGEM帧的帧头结构图;3 is a block diagram of a frame header of an XGEM frame;

图4为本发明另一种实施例的方法流程图; 4 is a flow chart of a method according to another embodiment of the present invention;

图5(a)为不采用本发明方案的接收延时示意图;Figure 5 (a) is a schematic diagram of reception delay without using the solution of the present invention;

图5(b)为本发明一种实施例的接收延时示意图;FIG. 5(b) is a schematic diagram of a receiving delay according to an embodiment of the present invention;

图6为本发明一种实施例的装置结构图;Figure 6 is a structural diagram of a device according to an embodiment of the present invention;

图7为本发明另一种实施例的装置结构图。Figure 7 is a structural diagram of a device according to another embodiment of the present invention.

具体实施方式detailed description

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明的保护范围。The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is obvious that the described embodiments are a part of the embodiments of the present invention, but not all embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本发明。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。In the following description, for purposes of illustration and description, reference However, it will be apparent to those skilled in the art that the present invention may be practiced in other embodiments without these specific details. In other instances, detailed descriptions of well-known devices, circuits, and methods are omitted so as not to obscure the description of the invention.

当本发明实施例提及“第一”、“第二”等序数词时,除非根据上下文其确实表达顺序之意,否则应当理解为仅仅是起区分之用。When the embodiments of the present invention refer to ordinal numbers such as "first", "second" and the like, unless they are intended to express the order according to the context, it should be understood as merely distinguishing.

众所周知,典型的PON系统主要由3部分构成:光线路终端(Optical Line Terminal,OLT)、光分布网络(Optical Distribution Network,ODN)和光网络单元/光网络终端(Optical Network Units/Terminal,ONU/ONT)。其中,OLT位于局端,负责分配和控制信道的连接,并对整个PON网络进行实时监控、管理及维护;ONU/ONT位于用户端(或者说用户驻地侧),实现用户终端的接入;ODN由无源分光器(Passive Optical Splitter,POS)和光纤线路构成,实现OLT和各ONU之间的网络连接。ONU与ONT的区别在于ONT直接位于用户端,而ONU与用户间还有其它的网络,但在本专利中不做区分,一律用ONU表示。As is known, a typical PON system is mainly composed of three parts: an optical line terminal (OLT), an optical distribution network (ODN), and an optical network unit/Terminal (ONU/ONT). ). The OLT is located at the central office and is responsible for allocating and controlling the connection of the channel, and real-time monitoring, management, and maintenance of the entire PON network; the ONU/ONT is located at the user end (or the user premises side) to implement access of the user terminal; It consists of a Passive Optical Splitter (POS) and an optical fiber line to implement network connection between the OLT and each ONU. The difference between the ONU and the ONT is that the ONT is directly located at the user end, and there are other networks between the ONU and the user, but no distinction is made in this patent, and the ONU is always used.

随着用户对网络接入带宽的需求大幅度增长,可以支持更高速率的100G-EPON,XGPON以及TWDM-PON等系统成为业界关注的重点,上述PON 系统都具有多个传输通道,可支持通道绑定技术,将多个传输通道作为一个逻辑通道实现更高速率的传输,也就是说,将多个第二PON通道绑定在一起,达到第一PON通道的传输速率,其中,第一PON通道的速率为该多个第二PON通道的速率和。然而,在传输以太网业务时,由于以太网帧中包含巨型帧,在通道绑定状态下,巨型帧在任一传输通道上传输,都会导致各传输通道上流量不均衡,导致延时增加,带宽利用率降低,而且,巨型帧出现的频率不固定,会增大延时的抖动,影响业务体验。As users' demand for network access bandwidth increases significantly, they can support higher-speed 100G-EPON, XGPON and TWDM-PON systems, which have become the focus of the industry. The system has multiple transmission channels, which can support channel bonding technology, and realize multiple transmissions by using multiple transmission channels as one logical channel, that is, binding multiple second PON channels together to reach the first The transmission rate of the PON channel, wherein the rate of the first PON channel is the rate sum of the plurality of second PON channels. However, when Ethernet packets are transmitted, because the Ethernet frames contain jumbo frames, in the channel bonding state, jumbo frames are transmitted on any transmission channel, which will cause unbalanced traffic on each transmission channel, resulting in increased delay and bandwidth. The utilization rate is reduced, and the frequency of jumbo frames is not fixed, which increases the delay jitter and affects the service experience.

为了便于本领域技术人员的理解,本发明通过以下实施例对本发明提供的技术方案的具体实现过程进行说明。In order to facilitate the understanding of those skilled in the art, the present invention describes the specific implementation process of the technical solution provided by the present invention through the following embodiments.

在本发明实施例中,提供如图1所示的一种应用本发明实施例提供的方法的系统架构图,该系统中可以包括OLT、ODN以及ONU。其中,通道绑定技术既可以用于下行传输,也可以用于上行传输,也就是说,通道绑定技术可以在OLT中实现,也可以在ONU中实现,本发明实施例对此不做限制。其中,从OLT到ONU称为下行,从ONU到OLT称为上行。In the embodiment of the present invention, a system architecture diagram is provided, which is applicable to the method provided by the embodiment of the present invention, and may include an OLT, an ODN, and an ONU. The channel binding technology can be used for both downlink transmission and uplink transmission. That is to say, the channel binding technology can be implemented in the OLT or in the ONU. . Among them, the OLT to the ONU is called the downlink, and the ONU to the OLT is called the uplink.

下面以100G-EPON系统为例对下行传输进行介绍,在下行链路中,OLT以单发送复制广播(Single Copy Broadcast,SCB)的方式向所有的ONU发送数据帧。通过发现和注册过程(Discovery and Registered Process,DRP),OLT给成功完成注册的ONU分配逻辑链路标识(Logical Link ID,LLID),一个ONU至少支持一个LLID,然后OLT把下行发送的数据帧的目的ONU的LLID放在帧前导符中,其中,LLID即为该帧的流标识。在数据帧到达ONU后,所有ONU都会根据前导符中所含的LLID和自己的LLID进行判断,以决定是否接收该数据帧,可以保证只有目的ONU会正确接收该数据帧。The following describes the downlink transmission using the 100G-EPON system as an example. In the downlink, the OLT sends data frames to all ONUs in a Single Copy Broadcast (SCB) manner. Through the Discovery and Registered Process (DRP), the OLT assigns a Logical Link ID (LLID) to the successfully completed ONU. An ONU supports at least one LLID, and then the OLT transmits the data frame of the downlink. The LLID of the destination ONU is placed in the frame preamble, where LLID is the stream identifier of the frame. After the data frame arrives at the ONU, all ONUs judge according to the LLID and its own LLID contained in the preamble to determine whether to receive the data frame, and ensure that only the destination ONU will correctly receive the data frame.

应理解,本发明实施例不仅适用于100G-EPON系统,还可以用于XGPON,TWDM-PON以及波分复用无源光网络(Wavelength Division Multiplexing Passive Optical Network,WDM-PON)等PON系统,本发明实施例对此不做限定,为方便描述,本发明实施例以下行传输为例进行描述。It should be understood that the embodiments of the present invention are applicable not only to a 100G-EPON system, but also to a PON system such as an XGPON, a TWDM-PON, and a Wavelength Division Multiplexing Passive Optical Network (WDM-PON). The embodiments of the present invention are not limited thereto. For convenience of description, the following embodiments of the present invention are described as an example of transmission.

本发明实施例提供一种数据帧的发送方法,如图2所示,该方法可以 包括:The embodiment of the invention provides a method for sending a data frame, as shown in FIG. 2, the method can include:

201、接收数据帧序列,确定该数据帧序列的可用通道,其中,数据帧序列包括第一数据帧。201. Receive a sequence of data frames, and determine an available channel of the sequence of data frames, where the sequence of data frames includes a first frame of data.

具体的,从第一PON通道接收数据帧序列,该可用通道为实际上可以转发的第二PON通道,第一PON通道的速率为N个第二PON通道的速率和,N为大于1的正整数。Specifically, the data frame sequence is received from the first PON channel, where the available channel is a second PON channel that can be actually forwarded, the rate of the first PON channel is the rate of the N second PON channels, and N is greater than 1 Integer.

确定该数据帧序列的可用通道的方式可以为,根据第一数据帧的流标识查找通道绑定表,得到第一数据帧的转发通道,根据转发通道的发送队列剩余空间,得到第一数据帧的可用通道,即为数据帧序列的可用通道,其中,通道绑定表为预先配置的流标识与转发通道的对应表,可用通道为转发通道中发送队列具有剩余空间的通道。The method for determining the available channel of the data frame sequence may be: searching the channel binding table according to the flow identifier of the first data frame, obtaining a forwarding channel of the first data frame, and obtaining the first data frame according to the remaining space of the sending queue of the forwarding channel The available channel is the available channel of the data frame sequence. The channel binding table is a corresponding table of the pre-configured flow identifier and the forwarding channel, and the available channel is the channel with the remaining space of the sending queue in the forwarding channel.

也就是说,根据第一数据帧的流标识查找通道绑定表,得到第一数据帧理论上可以转发的第二PON通道,再根据第二PON通道的发送队列剩余空间,得到第一数据帧实际上可以转发的第二PON通道,其中,通道绑定表为流标识与第二PON通道的对应表。That is, the channel binding table is searched according to the flow identifier of the first data frame, and the second PON channel that can be forwarded by the first data frame can be obtained, and then the first data frame is obtained according to the remaining space of the sending queue of the second PON channel. The second PON channel that can actually be forwarded, wherein the channel binding table is a correspondence table between the flow identifier and the second PON channel.

具体的,以100G-EPON为例,目的MAC地址与LLID是一一对应的,可以根据数据帧的目的MAC地址确定唯一的LLID,根据LLID查找通道绑定表,得到第一数据帧的可用通道,即可以转发的第二PON通道;而通道绑定表是根据实际情况预先配置的,例如,可以根据100G-EPON系统中目的ONU的处理速度进行配置,如果该目的ONU支持100G速率,则相应的数据帧可以在四个通道同时转发,如果该目的ONU只支持50G速率,则相应的数据帧只能同时从两个通道转发。通道绑定表的具体配置方式,本发明实施例不做限定。Specifically, the 100G-EPON is taken as an example, and the destination MAC address and the LLID are in one-to-one correspondence. The unique LLID can be determined according to the destination MAC address of the data frame, and the channel binding table is searched according to the LLID to obtain an available channel of the first data frame. The second PON channel that can be forwarded; the channel binding table is pre-configured according to actual conditions. For example, it can be configured according to the processing speed of the destination ONU in the 100G-EPON system. If the destination ONU supports the 100G rate, the corresponding The data frame can be forwarded simultaneously in four channels. If the destination ONU only supports 50G rate, the corresponding data frame can only be forwarded from two channels at the same time. The specific configuration of the channel binding table is not limited in the embodiment of the present invention.

202、如果第一数据帧的长度超过第一长度,对第一数据帧进行分片,得到第一数据帧的多个分片,其中,分片的数目由所述可用通道的数目决定,第一数据帧的长度为该帧的完整长度。202. If the length of the first data frame exceeds the first length, the first data frame is fragmented to obtain multiple fragments of the first data frame, where the number of fragments is determined by the number of available channels. The length of a data frame is the full length of the frame.

可选地,作为另一个实施例,在确定该数据帧序列的可用通道之后,所述方法还包括:判断第一数据帧的长度是否超过第一长度,其中,第一数据帧的长度为该帧的完整长度。 Optionally, as another embodiment, after determining an available channel of the data frame sequence, the method further includes: determining whether a length of the first data frame exceeds a first length, where a length of the first data frame is The full length of the frame.

具体的,如果第一数据帧的长度未超过第一长度,不对第一数据帧进行分片,通过所述可用通道,将未分片的第一数据帧转发出去。Specifically, if the length of the first data frame does not exceed the first length, the first data frame is not fragmented, and the unsliced first data frame is forwarded through the available channel.

可选地,如果第一数据帧的长度超过第一长度,所述方法还包括:判断所述可用通道的数目是否大于1,如果所述可用通道的数目大于1,对第一数据帧进行分片。Optionally, if the length of the first data frame exceeds the first length, the method further includes: determining whether the number of the available channels is greater than 1, and if the number of the available channels is greater than 1, dividing the first data frame sheet.

可选地,在步骤202之前,所述方法还包括:确定数据帧序列中的数据帧从M个第二PON通道转发,其中,M为正整数,2≤M≤N。Optionally, before step 202, the method further includes: determining that the data frame in the sequence of data frames is forwarded from the M second PON channels, where M is a positive integer, 2≤M≤N.

需要说明的是,如果所述可用通道的数目等于1,即如果数据帧序列中的数据帧只从一个第二PON通道转发,对第一数据帧分不分片效果是一样的。假设第一数据帧只能从一个通道转发,就算对第一数据帧进行分片,所有的分片也都必须从这一个通道转发,完全利用不到其他通道,无法起到降低延时,减小延时抖动的作用。It should be noted that if the number of available channels is equal to 1, that is, if the data frames in the sequence of data frames are only forwarded from one second PON channel, the effect of splitting the first data frame is the same. Assuming that the first data frame can only be forwarded from one channel, even if the first data frame is fragmented, all the fragments must be forwarded from this channel, and the other channels are completely unused, which cannot reduce the delay and reduce The effect of small delay jitter.

可选地,分片数据帧的数目为所述可用通道数目的整数倍,优选地,分片数据帧的数目等于所述可用通道的数目,也就是说,分片的数目根据该M个第二PON通道的实际情况确定,优选地,分片的数目为M。Optionally, the number of the fragmented data frames is an integer multiple of the number of available channels, and preferably, the number of the fragmented data frames is equal to the number of the available channels, that is, the number of fragments is determined according to the M The actual situation of the two PON channels is determined. Preferably, the number of slices is M.

可选地,根据所述可用通道(该M个第二PON通道)的发送队列剩余空间,分片的数目和第一数据帧的长度,确定每个分片的长度,例如,M为4,可用通道为四个,第一通道的发送队列剩余空间小于第二长度,另外三个通道的发送队列空间充足,则可以先将第一数据帧切下一部分,在切下这部分添加开销信息,得到分片数据帧,该分片数据帧的长度等于第一通道的发送队列剩余空间,剩下的第一数据帧再均分成3片,分别从另外三个通道转发,这样可以充分利用所有可用通道,提高带宽利用率,其中,第二长度为4个分片数据帧长度总和的1/4。Optionally, determining a length of each fragment according to a remaining space of the sending queue of the available channels (the M second PON channels), a number of fragments, and a length of the first data frame, for example, M is 4, The available channels are four. The remaining space of the sending queue of the first channel is smaller than the second length. If the sending queue space of the other three channels is sufficient, the first data frame may be cut off first, and the overhead information is added in the cutting part. A fragmented data frame is obtained, the length of the fragmented data frame is equal to the remaining space of the first channel, and the remaining first data frame is further divided into three pieces and respectively forwarded from the other three channels, so that all available data can be fully utilized. Channel, which improves bandwidth utilization, wherein the second length is 1/4 of the sum of the lengths of 4 fragmented data frames.

需要说明的是,在上行传输中,采用时分复用的接入方式,各ONU根据OLT分配的发送时隙,得到相应的发送窗口(Transmission Window),通过该发送窗口,将数据发送给OLT,故在上行传输时,可以根据该发送窗口的剩余空间,分片的数目和第一数据帧的长度,确定每个分片的长度。除此之外,本发明实施例在上行传输和下行传输时完全一致。It should be noted that, in the uplink transmission, the time division multiplexing access mode is adopted, and each ONU obtains a corresponding transmission window according to the transmission time slot allocated by the OLT, and the data is transmitted to the OLT through the transmission window. Therefore, in the uplink transmission, the length of each fragment can be determined according to the remaining space of the transmission window, the number of fragments, and the length of the first data frame. In addition, the embodiments of the present invention are completely consistent in uplink transmission and downlink transmission.

应理解,确定分片长度的方式可以有很多种,本发明实施例对此不做 限定。It should be understood that there are many ways to determine the length of the slice, and the embodiment of the present invention does not do this. limited.

203、在每个分片中添加开销信息,得到多个分片数据帧,其中,开销信息包括分片字段和帧序号,分片字段用于指示分片数据帧的数目以及相应分片数据帧在所述第一数据帧中的序号,帧序号为第一数据帧在数据帧序列中的序号。203. Adding overhead information to each fragment to obtain multiple fragment data frames, where the overhead information includes a fragmentation field and a frame sequence, and the fragmentation field is used to indicate the number of fragmented data frames and the corresponding fragmented data frame. The sequence number in the first data frame, the frame number is the sequence number of the first data frame in the sequence of data frames.

可选地,作为另一个实施例,第一数据帧和分片数据帧均为以太网帧,分片数据帧包括第一长度类型length/type字段,用于指示所述分片数据帧携带了分片字段,分片字段与第一length/type字段相邻,位于第一length/type字段的后面。Optionally, in another embodiment, the first data frame and the fragmented data frame are both Ethernet frames, and the fragmented data frame includes a first length type length/type field, which is used to indicate that the fragment data frame is carried. A fragmentation field, the fragmentation field being adjacent to the first length/type field, located after the first length/type field.

本发明实施例应用于100G-EPON,WDM-PON等传输以太网帧的PON系统,在将以太网帧进行分片之后,为每一个分片添加开销信息,形成分片以太网帧,分片以太网帧包括分片字段,确保接收端可以正确接收并重组这些分片以太网帧,其中,分片字段和第一length/type字段可以在分片以太网帧的任意位置,本发明实施例对此不做限定。The embodiment of the present invention is applied to a PON system for transmitting an Ethernet frame, such as a 100G-EPON, a WDM-PON, etc., after the Ethernet frame is fragmented, adding overhead information for each fragment to form a fragmented Ethernet frame, and fragmenting The Ethernet frame includes a fragmentation field to ensure that the receiving end can correctly receive and reassemble the fragmented Ethernet frames, where the fragmentation field and the first length/type field can be anywhere in the fragmented Ethernet frame, in the embodiment of the present invention. There is no limit to this.

可选地,作为另一个实施例,第一数据帧和分片数据帧均为万兆吉比特无源光网络封装模式(XGPON Encapsulation Method,XGEM)帧,XGEM帧包括XGEM帧头,其中,分片字段和帧序号替换XGEM帧头中的选择(options)字段的全部或部分。Optionally, in another embodiment, the first data frame and the fragmented data frame are both a Gigabit Gigabit Encapsulation Method (XGEM) frame, and the XGEM frame includes an XGEM frame header, where The slice field and frame sequence number replace all or part of the options field in the XGEM frame header.

可选地,options字段包括第一字段,第二字段和第三字段,第一字段用于指示第一数据帧在数据帧序列中的序号,第二字段用于指示分片数据帧在相应被分片数据帧中的序号,第三字段和最后片段指示(Last Fragment,LF)字段共同指示分片的数目。Optionally, the options field includes a first field, a second field, and a third field, where the first field is used to indicate the sequence number of the first data frame in the data frame sequence, and the second field is used to indicate that the fragment data frame is correspondingly The sequence number in the sliced data frame, the third field and the Last Fragment (LF) field together indicate the number of slices.

本发明实施例应用于XGPON,TWDM-PON等传输XGEM帧的PON系统,在上述PON系统中,单个以太网帧都是封装在单个XGEM中的,因此,XGEM帧也会出现巨型帧,因此,也需要对长度超过第一长度的XGEM帧进行分片。在将XGEM帧进行分片之后,为每一个分片添加开销信息,形成分片XGEM帧。XGEM帧的帧头结构如图3所示,包括14比特的净荷长度指示(Payload length indication,PLI)字段,2比特的密匙索引(Key index)字段,16比特的XGEM端口标识(XGEM port-ID)字段,18比特的options 字段,1比特的LF字段以及13比特的差错校验(Hybrid Error Correction,HEC)字段。The embodiment of the present invention is applied to a PON system for transmitting XGEM frames, such as XGPON, TWDM-PON, etc. In the above PON system, a single Ethernet frame is encapsulated in a single XGEM, and therefore, a JGEM frame also has a jumbo frame, therefore, It is also necessary to slice XGEM frames whose length exceeds the first length. After the XGEM frame is fragmented, overhead information is added for each slice to form a fragmented XGEM frame. The frame header structure of the XGEM frame is as shown in FIG. 3, including a 14-bit Payload Length indication (PLI) field, a 2-bit Key Index field, and a 16-bit XGEM port identifier (XGEM port). -ID) field, 18-bit options Field, 1-bit LF field and 13-bit Hybrid Error Correction (HEC) field.

其中,options字段是空闲字段,并没有规定功能,因此,分片字段和帧序号可以替换XGEM帧的options字段中的部分或全部;还可以用LF字段指示是否为最后一个分片形成的分片数据帧;或利用options字段中的第三字段对LF字段进行扩充,让LF字段可以分别表示当前分片数据帧是由第一个分片,中间分片或最后一个分片中的哪种分片形成或者让LF字段表示分片的数目。这样可以在保证分片数据帧正常接收的情况下,减小分片数据帧的开销。The options field is an idle field and has no function. Therefore, the fragment field and the frame number can replace part or all of the options field of the XGEM frame. The LF field can also be used to indicate whether the fragment is formed by the last fragment. Data frame; or use the third field in the options field to augment the LF field, so that the LF field can respectively indicate which segment of the first slice, the middle slice or the last slice is the current slice data frame. The slice is formed or the LF field indicates the number of slices. In this way, the overhead of the fragmented data frame can be reduced while ensuring normal reception of the fragmented data frame.

可选地,作为另一个实施例,分片字段包括分片标识和分片序号,其中,分片标识为分片的数目,分片序号为相应分片数据帧在第一数据帧中的序号。Optionally, in another embodiment, the fragmentation field includes a fragment identifier and a fragment sequence number, where the fragment identifier is the number of fragments, and the fragment sequence number is a sequence number of the corresponding fragment data frame in the first data frame. .

其中,每个分片的分片序号是不同的,例如,第一数据帧分成四片,在四个分片中都将插入开销信息,得到四个分片数据帧,由第一个分片形成的分片数据帧的分片序号即为1,由第二个分片形成的分片数据帧的分片序号即为2,以此类推。The fragment number of each fragment is different. For example, the first data frame is divided into four pieces, and the overhead information is inserted in the four fragments to obtain four fragment data frames, and the first fragment is obtained. The fragment number of the formed fragment data frame is 1, and the fragment sequence number of the fragment data frame formed by the second fragment is 2, and so on.

在100G-EPON系统中,当发送100G数据帧序列时,需要从四个25G速率的通道同时发送,四个通道的物理层对通道上的数据帧序列的处理并不是完全同步的,可能导致接收端接收的数据帧出现乱序的问题。具体的,假设依次进入四个通道的分片数据帧的分片序号为分别为1、2、3和4,接收端可能依次接收到分片序号为1、3、2和4的分片数据帧,也就是说,第二个分片数据帧所在的通道可能处理时间较长,虽然第二个分片数据帧比第三个分片数据帧先进入通道,但接收端却先接收到第三个分片数据帧,导致接收端接收的分片数据帧出现乱序,这里的四个通道即为四个第二PON通道。In a 100G-EPON system, when transmitting a 100G data frame sequence, it needs to be transmitted simultaneously from four 25G rate channels. The processing of the data frame sequence on the channel by the physical layer of the four channels is not completely synchronized, which may result in reception. The data frame received by the terminal has a problem of out of order. Specifically, it is assumed that the fragment numbers of the fragmented data frames sequentially entering the four channels are 1, 2, 3, and 4, respectively, and the receiving end may sequentially receive the fragment data of the fragment numbers 1, 3, 2, and 4. The frame, that is, the channel in which the second fragmented data frame is located may take a long time to process. Although the second fragmented data frame enters the channel first than the third fragmented data frame, the receiving end receives the first The three fragmented data frames cause the fragmented data frames received by the receiving end to be out of order, and the four channels here are four second PON channels.

因此,分片字段用于指示分片数据帧的数目以及相应分片数据帧在第一数据帧中的序号,可以确定接收端是否接收到所有的分片,还可以保证所有的分片按照正确的顺序进行重组。Therefore, the fragmentation field is used to indicate the number of fragmented data frames and the sequence number of the corresponding fragmented data frame in the first data frame, and it can be determined whether all the fragments are received by the receiving end, and all the fragments can be ensured to be correct. The order is reorganized.

具体的,分片标识的取值大于0,在分片标识等于1时,第一数据帧 为未分片的数据帧,在分片标识取值大于1时,分片标识的值即为分片数据帧的数目。Specifically, the value of the fragment identifier is greater than 0, and when the fragment identifier is equal to 1, the first data frame For an unfragmented data frame, when the value of the fragment identifier is greater than 1, the value of the fragment identifier is the number of fragment data frames.

可选地,作为另一个实施例,分片标识用于指示由第一数据帧的最后一个分片形成的分片数据帧。具体的,在分片标识的值为第一值时,该分片数据帧由第一数据帧的第一个分片形成;在分片标识的值为第二值时,该分片数据帧由第一数据帧的中间分片形成;在分片标识的值为第三值时,该分片数据帧由第一数据帧的最后一个分片形成;在分片标识的值为第四值时,第一数据帧为未分片的数据帧。Optionally, as another embodiment, the slice identifier is used to indicate a slice data frame formed by the last slice of the first data frame. Specifically, when the value of the fragment identifier is the first value, the fragment data frame is formed by the first fragment of the first data frame; and when the value of the fragment identifier is the second value, the fragment data frame is Formed by the intermediate slice of the first data frame; when the value of the slice identifier is the third value, the slice data frame is formed by the last slice of the first data frame; the value of the slice identifier is the fourth value The first data frame is an unfragmented data frame.

其中,根据最后一个分片形成的分片数据帧的分片序号,可以得到分片的数目。第一至第四值是任意四个不同的值,例如,1,2,3和4,本发明实施例对此不做限定。The number of fragments can be obtained according to the fragment sequence number of the fragment data frame formed by the last fragment. The first to fourth values are any four different values, for example, 1, 2, 3, and 4. This embodiment of the present invention does not limit this.

具体的,分片标识可以由分片头指示字段和分片尾指示字段构成,其中,分片头指示字段和分片尾指示字段的取值有很多种,例如,在分片头指示字段取1,分片尾指示字段取0时,分片标识的值为第一值,该分片数据帧由第一数据帧的第一个分片形成;在分片头指示字段和分片尾指示字段都取0时,分片标识的值为第二值,该分片数据帧由第一数据帧的中间分片形成;在分片头指示字段取0,分片尾指示字段取1时,分片标识的值为第三值,该分片数据帧由第一数据帧的最后一个分片形成;在分片头指示字段和分片尾指示字段都取1时,分片标识的值为第四值,第一数据帧为未分片的数据帧。Specifically, the fragmentation identifier may be composed of a fragmentation header indication field and a fragmentation tail indication field, where the fragmentation header indication field and the fragmentation tail indication field have various values, for example, the fragmentation header indication field takes 1 and the fragmentation tail indication When the field is 0, the value of the fragment identifier is the first value, and the fragment data frame is formed by the first fragment of the first data frame; when the fragment header indication field and the fragment tail indication field are both 0, the fragmentation is performed. The value of the identifier is a second value, and the fragment data frame is formed by an intermediate fragment of the first data frame; when the fragmentation header indication field is 0, and the fragmentation tail indication field is 1, the fragmentation identifier value is a third value. The fragment data frame is formed by the last fragment of the first data frame; when both the fragment header indication field and the fragment tail indication field are taken as 1, the fragment identification value is the fourth value, and the first data frame is unfragmented. Data frame.

应理解,本发明实施例提供了几种分片标识的实现形式,给出了分片标识的用途,但对具体的名称,长度以及取值,并不做限定。It should be understood that the embodiment of the present invention provides an implementation form of several fragment identifiers, and the use of the fragment identifiers is given, but the specific names, lengths, and values are not limited.

可选地,作为另一个实施例,分片数据帧和未分片的数据帧中都包括:分片帧标识,用于指示相应数据帧是否为分片数据帧。Optionally, in another embodiment, the fragmented data frame and the unfragmented data frame include: a fragmented frame identifier, configured to indicate whether the corresponding data frame is a fragmented data frame.

例如,如果第一数据帧的长度超过第一长度,对第一数据帧进行分片,每个分片数据帧中包括的分片帧标识的值均为第五值,如果第一数据帧的长度未超过第一长度,分片帧标识的值为第六值。应理解,第五值和第六值可以有很多种取值方式,本发明实施例对此不做限定。For example, if the length of the first data frame exceeds the first length, the first data frame is fragmented, and the value of the fragment frame identifier included in each fragment data frame is the fifth value, if the first data frame is The length does not exceed the first length, and the value of the fragmented frame identifier is the sixth value. It should be understood that the fifth value and the sixth value may have a plurality of values, which are not limited in the embodiment of the present invention.

204、通过所述可用通道,将多个分片数据帧转发出去,其中,所述 可用通道为该M个第二PON通道。204. Forward, by using the available channel, a plurality of fragmented data frames, where The available channels are the M second PON channels.

可选地,作为另一个实施例,在确定数据帧序列中的数据帧从M个第二PON通道转发之后,所述方法还包括:判断第一数据帧的长度是否超过第一长度,其中,第一数据帧的长度为该帧的完整长度。具体的,如果第一数据帧的长度未超过第一长度,不对第一数据帧进行分片,通过该M个第二PON通道,将未分片的第一数据帧转发出去。Optionally, as another embodiment, after determining that the data frame in the data frame sequence is forwarded from the M second PON channels, the method further includes: determining whether the length of the first data frame exceeds the first length, where The length of the first data frame is the full length of the frame. Specifically, if the length of the first data frame does not exceed the first length, the first data frame is not fragmented, and the unfragmented first data frame is forwarded through the M second PON channels.

本发明实施例采用将巨型帧分片的方式,解决了巨型帧在任一传输通道上传输均会导致延时增加,带宽利用率降低,延时抖动增大,影响业务体验的问题;由于本发明实施例的分片操作是在MAC层以上实现的,与具体的通道绑定数目无关,因此可以兼容所有多通道PON系统。The embodiment of the present invention solves the problem that the jumbo frame is fragmented, which causes the delay of the jumbo frame transmission on any transmission channel to increase the delay, the bandwidth utilization is reduced, the delay jitter is increased, and the service experience is affected; The fragmentation operation of the embodiment is implemented above the MAC layer, independent of the specific number of channel bindings, and thus is compatible with all multi-channel PON systems.

本发明另一实施例提供一种数据帧的接收方法,如图4所示,该方法可以包括:Another embodiment of the present invention provides a method for receiving a data frame. As shown in FIG. 4, the method may include:

401、接收数据帧,该数据帧具有帧序号,其中,帧序号为该数据帧在数据帧序列中的序号。401. Receive a data frame, where the data frame has a frame sequence number, where the frame sequence number is a sequence number of the data frame in the data frame sequence.

其中,该数据帧是从第二PON通道接收的。The data frame is received from the second PON channel.

402、根据帧序号和预期序号,判断该数据帧是否为待处理的数据帧,如果该数据帧为待处理的数据帧,判断待处理的数据帧是否为分片数据帧。402. Determine, according to the frame sequence number and the expected sequence number, whether the data frame is a data frame to be processed. If the data frame is a data frame to be processed, determine whether the data frame to be processed is a fragmented data frame.

可选地,判断该数据帧是否为待处理的数据帧的方式为,比较帧序号和预期序号,如果帧序号大于预期序号,将该数据帧保存到第一缓存中,继续接收数据帧;如果帧序号小于所期序号,将该数据帧丢弃,继续接收数据帧;如果帧序号等于预期序号,该数据帧为待处理的数据帧。Optionally, determining whether the data frame is a data frame to be processed is: comparing a frame sequence number and an expected sequence number. If the frame sequence number is greater than an expected sequence number, saving the data frame to the first buffer, and continuing to receive the data frame; The frame number is smaller than the sequence number, the data frame is discarded, and the data frame is continuously received. If the frame number is equal to the expected sequence number, the data frame is the data frame to be processed.

在步骤401之前,如果第一缓存不为空,从第一缓存中提取数据帧,根据帧序号和预期序号,判断从第一缓存中提取的数据帧是否为待处理的数据帧,如果从第一缓存中提取的数据帧不是待处理的数据帧,继续从第一缓存中提取数据帧,如果从第一缓存中提取的所有数据帧均不是待处理的数据帧,继续接收数据帧。如果第一缓存为空,继续接收数据帧。Before the step 401, if the first cache is not empty, the data frame is extracted from the first cache, and according to the frame serial number and the expected sequence number, it is determined whether the data frame extracted from the first cache is a data frame to be processed, if The data frame extracted in a buffer is not a data frame to be processed, and the data frame is continuously extracted from the first buffer. If all data frames extracted from the first buffer are not data frames to be processed, the data frame continues to be received. If the first buffer is empty, continue to receive data frames.

其中,判断该待处理的数据帧是否为分片数据帧的具体方式可以为:(1)检测该待处理的数据帧中的分片帧标识,如果分片帧标识的值为第 五值,该待处理的数据帧为分片数据帧;(2)如果未分片的数据帧中不存在分片字段,则检测该待处理的数据帧中是否包含分片字段,如果包含分片字段,该待处理的数据帧为分片数据帧;(3)如果未分片的数据帧中也存在分片字段,可以根据分片字段的取值来确定该待处理的数据帧是否为分片数据帧。The specific manner of determining whether the data frame to be processed is a fragmented data frame may be: (1) detecting a fragmented frame identifier in the to-be-processed data frame, if the value of the fragmented frame identifier is Five values, the data frame to be processed is a fragmented data frame; (2) if there is no fragmentation field in the unfragmented data frame, detecting whether the fragmented field is included in the data frame to be processed, if the fragment is included a slice field, the data frame to be processed is a fragmented data frame; (3) if there is a fragmentation field in the unfragmented data frame, the data frame to be processed may be determined according to the value of the fragmentation field. Fragmented data frames.

403、如果待处理的数据帧为分片数据帧,根据分片数据帧的分片字段,判断是否已经接收到所有具有相同所述帧序号的分片数据帧,其中,分片字段用于指示分片数据帧的数目和该分片数据帧在相应被分片数据帧中的序号。403. If the data frame to be processed is a fragmented data frame, determine, according to the fragmentation field of the fragmented data frame, whether all the fragmented data frames having the same frame sequence number have been received, where the fragmentation field is used to indicate The number of fragmented data frames and the sequence number of the fragmented data frame in the corresponding fragmented data frame.

其中,如果该待处理的数据帧为未分片的数据帧,预期序号加1;如果未接收到所有具有相同所述帧序号的分片数据帧,继续从第一缓存或第二PON通道接收数据帧。If the data frame to be processed is an unfragmented data frame, the expected sequence number is incremented by one; if all the fragment data frames having the same frame sequence number are not received, the receiving from the first buffer or the second PON channel is continued. Data Frame.

具体的,该数据帧和分片数据帧可以为以太网帧,分片数据帧包括第一length/type字段,用于指示分片数据帧携带了分片字段,分片字段与第一length/type字段相邻,位于第一length/type字段的后面;该数据帧和分片数据帧还可以为XGEM帧,XGEM帧包括XGEM帧头,其中,分片字段和帧序号替换XGEM帧头中的options字段的全部或部分。Specifically, the data frame and the fragmented data frame may be an Ethernet frame, and the fragmented data frame includes a first length/type field, which is used to indicate that the fragmented data frame carries the fragmentation field, and the fragmentation field and the first length/ The type field is adjacent to the first length/type field; the data frame and the fragmented data frame may also be XGEM frames, and the XGEM frame includes an XGEM frame header, where the fragmentation field and the frame sequence number are replaced by the XGEM frame header. All or part of the options field.

其中,options字段包括第一字段,第二字段和第三字段,第一字段用于指示该数据帧在数据帧序列中的序号,第二字段用于指示分片数据帧在相应被分片数据帧中的序号,第三字段和LF字段共同指示分片的数目。The options field includes a first field, a second field, and a third field, where the first field is used to indicate the sequence number of the data frame in the data frame sequence, and the second field is used to indicate that the fragment data frame is in the corresponding fragmented data. The sequence number in the frame, the third field and the LF field together indicate the number of slices.

可选地,作为另一个实施例,分片字段包括分片标识和分片序号,其中,分片标识为分片的数目或用于指示由被分片数据帧中的最后一个分片形成的分片数据帧,分片序号为分片数据帧在相应被分片数据帧中的序号。应理解,根据最后一个分片形成的分片数据帧的分片序号,可以得到分片的数目。分片标识和分片序号的存在多种实现形式,在之前实施例中已经详细描述过,本发明实施例在此不再赘述。Optionally, as another embodiment, the fragmentation field includes a fragment identifier and a fragment sequence number, where the fragment identifier is the number of fragments or is used to indicate that the last fragment in the fragmented data frame is formed. The fragmented data frame, the fragment number is the sequence number of the fragmented data frame in the corresponding fragmented data frame. It should be understood that the number of slices can be obtained according to the slice number of the slice data frame formed by the last slice. The present invention has been described in detail in the foregoing embodiments, and the embodiments of the present invention are not described herein.

404、如果已经接收到所有具有相同所述帧序号的分片数据帧,根据所有具有相同所述帧序号的分片数据帧的分片字段,对所有具有相同所述帧序号的分片数据帧进行重组,恢复出被分片数据帧,预期序号加1。 404. If all the fragment data frames having the same frame sequence number have been received, all the fragment data frames having the same frame sequence number are all according to the fragment field of all the fragment data frames having the same frame sequence number. Reorganize and recover the fragmented data frame, and the expected sequence number is increased by 1.

其中,在对分片数据帧进行重组之前,要将开销信息去掉。The overhead information is removed before the fragment data frame is reorganized.

本发明实施例提供的方法为之前实施例的接收方法,通过将巨型帧分片的方式,解决了巨型帧在任一传输通道上传输均会导致延时增加,带宽利用率降低,延时抖动增大,影响业务体验的问题;由于本发明实施例的分片操作是在MAC层以上实现的,与具体的通道绑定数目无关,因此可以兼容所有多通道PON系统。The method provided by the embodiment of the present invention is the receiving method of the previous embodiment. The method of fragmenting a jumbo frame solves the problem that the jumbo frame transmission on any transmission channel causes an increase in delay, a decrease in bandwidth utilization, and an increase in delay jitter. Large, affecting the problem of the service experience; since the fragmentation operation of the embodiment of the present invention is implemented above the MAC layer, regardless of the specific number of channel bindings, it can be compatible with all multi-channel PON systems.

具体的,在100G-EPON系统中,以该数据帧序列为同一个业务流,四个通道的发送队列均为空,数据帧序列可以从任一个通道转发为例,其中,OLT设备是从100G速率的第一PON接收的数据帧序列,该数据帧序列可以从任意四个25G速率的第二PON通道转发。从图5(a)和图5(b)中可以看出,第二个数据帧为巨型帧,将第二个数据帧进行分片之后,接收端的延时明显降低,由于降低了巨型帧对延时的影响,因此,本发明实施例也可以降低延时抖动。Specifically, in the 100G-EPON system, the data frame sequence is the same service flow, and the transmission queues of the four channels are all empty, and the data frame sequence can be forwarded from any channel as an example, wherein the OLT device is from 100G. A sequence of data frames received by the first PON of the rate, the sequence of data frames being forwardable from any of the four PON channels of the 25G rate. As can be seen from FIG. 5(a) and FIG. 5(b), the second data frame is a jumbo frame. After the second data frame is fragmented, the delay of the receiving end is significantly reduced, because the jumbo frame pair is reduced. The effect of the delay, therefore, the embodiment of the invention can also reduce the delay jitter.

其中,接收端的解码,解映射等操作必须按照顺序依次进行,因为如果不按照顺序依次进行,就无法正确恢复数据信息,影响业务体验。在图5(a)和图5(b)中,100G接收译码指示的数据帧序列为将分片数据帧重组之后,得到的数据帧序列。The operations such as decoding and demapping at the receiving end must be performed in order, because if the data is not sequentially performed in sequence, the data information cannot be correctly recovered and the service experience is affected. In FIG. 5(a) and FIG. 5(b), the data frame sequence of the 100G reception decoding instruction is a sequence of data frames obtained after recombining the fragment data frames.

需要说明的是,由于是将100G速率的数据帧序列通过25G速率的通道转发,因此每个数据帧的传输时间都延长了4倍,而且在这里所举的例子中,每个数据帧在通道空闲的情况下,都优先选择序号小的通道进行转发,这是一种通道选择方式,还可以有很多种选择方式,本发明实施例对此不做限定。It should be noted that since the data frame sequence of the 100G rate is forwarded through the channel of the 25G rate, the transmission time of each data frame is extended by 4 times, and in the example given here, each data frame is in the channel. In the case of the idle state, the channel with a small number is preferentially selected for forwarding. This is a channel selection mode, and there are many options.

本发明另一实施例提供一种数据帧的发送设备,如图6所示,包括:接收模块601,分片模块602,标识模块603和转发模块604,Another embodiment of the present invention provides a data frame sending device, as shown in FIG. 6, including: a receiving module 601, a fragmenting module 602, an identifying module 603, and a forwarding module 604.

接收模块601,用于接收数据帧序列,确定数据帧序列的可用通道,将所述可用通道信息发送给分片模块602和转发模块604,将数据帧序列中的第一数据帧发送给分片模块602。The receiving module 601 is configured to receive a sequence of data frames, determine an available channel of the data frame sequence, send the available channel information to the fragmentation module 602 and the forwarding module 604, and send the first data frame in the data frame sequence to the fragment. Module 602.

可选地,接收模块601,具体用于从第一PON通道接收数据帧序列,其中,第一PON通道的速率为N个第二PON通道的速率和,数据帧序列包 括第一数据帧,N为大于1的正整数。Optionally, the receiving module 601 is specifically configured to receive a data frame sequence from the first PON channel, where the rate of the first PON channel is a rate of the N second PON channels, and the data frame sequence packet Including the first data frame, N is a positive integer greater than one.

分片模块602,用于从接收模块601接收第一数据帧和所述可用通道信息,如果第一数据帧的长度超过第一长度,对第一数据帧进行分片,得到第一数据帧的多个分片,将第一数据帧的多个分片发送给标识模块603,其中,分片数目由所述可用通道的数目决定,第一长度为预先设定的值。The fragmentation module 602 is configured to receive the first data frame and the available channel information from the receiving module 601. If the length of the first data frame exceeds the first length, the first data frame is fragmented to obtain the first data frame. The plurality of fragments send the plurality of fragments of the first data frame to the identification module 603, wherein the number of fragments is determined by the number of available channels, and the first length is a preset value.

可选地,分片模块602还用于,判断所述可用通道的数目是否大于1,如果所述可用通道的数目大于1,且第一数据帧的长度超过第一长度,才对第一数据帧进行分片。Optionally, the fragmentation module 602 is further configured to: determine whether the number of the available channels is greater than 1, and if the number of the available channels is greater than 1, and the length of the first data frame exceeds the first length, the first data is The frame is sliced.

其中,如果所述可用通道的数目等于1,对第一数据帧分不分片效果是一样的。假设第一数据帧只能从一个通道转发,就算对第一数据帧进行分片,所有的分片也都必须从这一个通道转发,完全利用不到其他通道,无法起到降低延时,减小延时抖动的作用。Wherein, if the number of available channels is equal to 1, the effect of splitting the first data frame is the same. Assuming that the first data frame can only be forwarded from one channel, even if the first data frame is fragmented, all the fragments must be forwarded from this channel, and the other channels are completely unused, which cannot reduce the delay and reduce The effect of small delay jitter.

标识模块603,用于从分片模块602接收第一数据帧的多个分片,在每个分片中插入开销信息,得到多个分片数据帧,将多个分片数据帧发送给转发模块604,其中,开销信息包括分片字段和帧序号,分片字段用于指示分片数据帧的数目以及相应分片数据帧在第一数据帧中的序号,帧序号为第一数据帧在数据帧序列中的序号;The identifier module 603 is configured to receive multiple fragments of the first data frame from the fragmentation module 602, insert overhead information into each fragment, obtain multiple fragment data frames, and send multiple fragment data frames to the forwarding. The module 604, where the overhead information includes a fragmentation field and a frame number, where the fragmentation field is used to indicate the number of the fragmented data frames and the sequence number of the corresponding fragmented data frame in the first data frame, and the frame sequence number is the first data frame. The sequence number in the sequence of data frames;

转发模块604,用于从接收模块601接收所述可用通道信息,从标识模块603接收多个分片数据帧,通过所述可用通道,将多个分片数据帧转发出去。The forwarding module 604 is configured to receive the available channel information from the receiving module 601, receive a plurality of fragmented data frames from the identifier module 603, and forward the plurality of fragmented data frames through the available channel.

需要说明的是,在本发明实施例中,所述可用通道为实际上可以转发的第二PON通道。It should be noted that, in the embodiment of the present invention, the available channel is a second PON channel that can be actually forwarded.

本发明实施例提供的设备,采用将巨型帧分片的方式,解决了巨型帧在任一传输通道上传输均会导致延时增加,带宽利用率降低,延时抖动增大,影响业务体验的问题;由于本发明实施例的分片操作是在MAC层以上实现的,与具体的通道绑定数目无关,因此可以兼容所有多通道PON系统。The device provided by the embodiment of the present invention solves the problem that the jumbo frame is fragmented, and the delay of the jumbo frame transmission on any transmission channel is increased, the bandwidth utilization is reduced, the delay jitter is increased, and the service experience is affected. Since the fragmentation operation of the embodiment of the present invention is implemented above the MAC layer, regardless of the specific number of channel bindings, it can be compatible with all multi-channel PON systems.

可选地,作为另一个实施例,分片模块602还用于,判断第一数据帧的长度是否超过第一长度,如果判断出第一数据帧的长度未超过第一长 度,则不对第一数据帧进行分片,将未分片的第一数据帧发送给转发模块604;转发模块604,还用于从分片模块接收未分片的第一数据帧,通过所述可用通道,对未分片的第一数据帧进行转发。Optionally, as another embodiment, the fragmentation module 602 is further configured to: determine whether the length of the first data frame exceeds the first length, if it is determined that the length of the first data frame does not exceed the first length The first data frame is not fragmented, and the unsliced first data frame is sent to the forwarding module 604. The forwarding module 604 is further configured to receive the unfragmented first data frame from the fragmentation module. The available channel is used to forward the first data frame that is not fragmented.

其中,第一数据帧的长度表示第一数据帧的完整长度。The length of the first data frame represents the full length of the first data frame.

优选地,分片模块602还用于,判断所述可用通道的数目是否大于1,如果所述可用通道的数目大于1,且第一数据帧的长度超过第一长度,才对第一数据帧进行分片。Preferably, the fragmentation module 602 is further configured to: determine whether the number of the available channels is greater than 1, and if the number of the available channels is greater than 1, and the length of the first data frame exceeds the first length, the first data frame is Perform the sharding.

其中,如果所述可用通道的数目等于1,对第一数据帧分不分片效果是一样的。假设第一数据帧只能从一个通道转发,就算对第一数据帧进行分片,所有的分片也都必须从这一个通道转发,完全利用不到其他通道,无法起到降低延时,减小延时抖动的作用。Wherein, if the number of available channels is equal to 1, the effect of splitting the first data frame is the same. Assuming that the first data frame can only be forwarded from one channel, even if the first data frame is fragmented, all the fragments must be forwarded from this channel, and the other channels are completely unused, which cannot reduce the delay and reduce The effect of small delay jitter.

可选地,分片数目为所述可用通道数目的整数倍,优选地,分片数目等于所述可用通道的数目,也就是说,分片数目根据该M个第二PON通道的实际情况确定,优选地,分片数目为M。根据该M个第二PON通道的发送队列剩余空间,分片的数目和第一数据帧的长度,确定每个分片的长度。Optionally, the number of fragments is an integer multiple of the number of available channels, and preferably, the number of fragments is equal to the number of available channels, that is, the number of fragments is determined according to actual conditions of the M second PON channels. Preferably, the number of shards is M. The length of each slice is determined according to the remaining space of the transmission queues of the M second PON channels, the number of fragments, and the length of the first data frame.

可选地,根据所述可用通道的发送队列剩余空间,分片的数目和第一数据帧的长度,可以确定每个分片的长度。Optionally, the length of each slice may be determined according to the remaining space of the transmit queue of the available channel, the number of slices, and the length of the first data frame.

具体的,第一数据帧和分片数据帧可以为以太网帧,分片数据帧包括第一length/type字段,用于指示分片数据帧携带了分片字段,分片字段与第一length/type字段相邻,位于第一length/type字段的后面;第一数据帧和分片数据帧还可以为XGEM帧,XGEM帧包括XGEM帧头,其中,分片字段和帧序号替换XGEM帧头中的options字段的全部或部分。Specifically, the first data frame and the fragmented data frame may be an Ethernet frame, and the fragmented data frame includes a first length/type field, configured to indicate that the fragmented data frame carries the fragmentation field, and the fragmented field and the first length The /type field is adjacent to the first length/type field; the first data frame and the fragmented data frame may also be XGEM frames, and the XGEM frame includes an XGEM frame header, wherein the fragment field and the frame sequence number replace the XGEM frame header All or part of the options field in .

其中,options字段包括第一字段,第二字段和第三字段,第一字段用于指示第一数据帧在数据帧序列中的序号,第二字段用于指示分片数据帧在相应被分片数据帧中的序号,第三字段和LF字段共同指示分片的数目。The options field includes a first field, a second field, and a third field, where the first field is used to indicate the sequence number of the first data frame in the data frame sequence, and the second field is used to indicate that the fragment data frame is correspondingly fragmented. The sequence number in the data frame, the third field and the LF field together indicate the number of slices.

可选地,作为另一个实施例,分片字段包括分片标识和分片序号,其中,分片标识为分片的数目或用于指示由被分片数据帧中的最后一个分片形成的分片数据帧,分片序号为分片数据帧在相应被分片数据帧中的序 号。应理解,根据最后一个分片形成的分片数据帧的分片序号,可以得到分片的数目。分片标识和分片序号存在多种实现形式,在之前实施例中已经详细描述过,本发明实施例在此不再赘述。Optionally, as another embodiment, the fragmentation field includes a fragment identifier and a fragment sequence number, where the fragment identifier is the number of fragments or is used to indicate that the last fragment in the fragmented data frame is formed. Fragmented data frame, the fragment sequence number is the sequence of the fragmented data frame in the corresponding fragmented data frame number. It should be understood that the number of slices can be obtained according to the slice number of the slice data frame formed by the last slice. The fragment identification and the fragment sequence number have been implemented in various manners, which have been described in detail in the previous embodiments, and the embodiments of the present invention are not described herein again.

可选地,作为另一个实施例,分片数据帧和未分片的数据帧中都包括:分片帧标识,用于指示相应数据帧是否为分片数据帧。Optionally, in another embodiment, the fragmented data frame and the unfragmented data frame include: a fragmented frame identifier, configured to indicate whether the corresponding data frame is a fragmented data frame.

例如,如果第一数据帧的长度超过第一长度,对第一数据帧进行分片,每个分片数据帧中包括的分片帧标识的值均为第五值;如果第一数据帧的长度未超过第一长度,分片帧标识的值为第六值。应理解,第五值和第六值可以有很多种取值方式,本发明实施例对此不做限定。For example, if the length of the first data frame exceeds the first length, the first data frame is fragmented, and the value of the fragment frame identifier included in each fragment data frame is a fifth value; if the first data frame is The length does not exceed the first length, and the value of the fragmented frame identifier is the sixth value. It should be understood that the fifth value and the sixth value may have a plurality of values, which are not limited in the embodiment of the present invention.

可选地,作为另一个实施例,分片模块602具体用于:根据第一数据帧的流标识查找通道绑定表,得到第一数据帧的转发通道,根据转发通道的发送队列剩余空间,得到第一数据帧的可用通道,即为数据帧序列的可用通道,其中,通道绑定表为预先配置的流标识与转发通道的对应表,转发通道为理论上可以转发的第二PON通道,可用通道为实际上可以转发的第二PON通道。Optionally, as another embodiment, the fragmentation module 602 is specifically configured to: find a channel binding table according to a flow identifier of the first data frame, and obtain a forwarding channel of the first data frame, according to a remaining space of the sending queue of the forwarding channel, Obtaining the available channel of the first data frame, that is, the available channel of the data frame sequence, wherein the channel binding table is a pre-configured correspondence table between the flow identifier and the forwarding channel, and the forwarding channel is a second PON channel that can be forwarded theoretically. The available channel is the second PON channel that can actually be forwarded.

本发明另一实施例提供一种数据帧的接收设备,如图7所示,包括:接收模块701,识别模块702,处理模块703和重组模块704Another embodiment of the present invention provides a receiving device for a data frame. As shown in FIG. 7, the method includes: a receiving module 701, an identifying module 702, a processing module 703, and a reassembly module 704.

接收模块701,用于接收数据帧,将该数据帧发送给识别模块702,其中,该数据帧具有帧序号,帧序号为该数据帧在数据帧序列中的序号;The receiving module 701 is configured to receive a data frame, and send the data frame to the identification module 702, where the data frame has a frame serial number, and the frame serial number is a sequence number of the data frame in the data frame sequence;

其中,接收模块701具体用于,从第二PON通道中提取数据帧。The receiving module 701 is specifically configured to extract a data frame from the second PON channel.

识别模块702,用于从接收模块701接收该数据帧,根据帧序号和预期序号,判断该数据帧是否为待处理的数据帧,如果该数据帧为待处理的数据帧,将该待处理的数据帧发送给处理模块703;The identification module 702 is configured to receive the data frame from the receiving module 701, and determine whether the data frame is a data frame to be processed according to the frame serial number and the expected sequence number. If the data frame is a data frame to be processed, the to-be-processed data frame is to be processed. The data frame is sent to the processing module 703;

可选地,识别模块702具体用于:比较帧序号和预期序号,如果帧序号大于预期序号,将该数据帧保存到第一缓存705中;如果帧序号小于预期序号,将该数据帧丢弃;如果帧序号等于预期序号,该数据帧为待处理的数据帧。Optionally, the identification module 702 is specifically configured to: compare the frame sequence number and the expected sequence number, and save the data frame to the first cache 705 if the frame sequence number is greater than the expected sequence number; and discard the data frame if the frame sequence number is smaller than the expected sequence number; If the frame number is equal to the expected sequence number, the data frame is the data frame to be processed.

其中,所述设备还包括第一缓存705,用于存储帧序号大于预期序号的数据帧;接收模块701还用于从第一缓存705中提取数据帧,将提取出 来的数据帧发送给识别模块702,其中,从第一缓存705提取数据帧的优先级高于从第二PON通道接收数据帧。The device further includes a first cache 705, configured to store a data frame whose frame number is greater than an expected sequence number; the receiving module 701 is further configured to extract a data frame from the first cache 705, and extract the data frame. The incoming data frame is sent to the identification module 702, wherein the data frame extracted from the first cache 705 has a higher priority than the data frame received from the second PON channel.

处理模块703,用于从识别模块702接收该待处理的数据帧,判断该待处理的数据帧是否为分片数据帧,如果该待处理的数据帧为分片数据帧,根据该分片数据帧的分片字段,判断是否已经接收到所有具有相同所述帧序号的分片数据帧,将该分片数据帧和是否已经接收到所有具有相同所述帧序号的分片数据帧的判断结果发送给重组模块704,其中,分片字段用于指示分片数据帧的数目以及分片数据帧在相应被分片数据帧中的序号;The processing module 703 is configured to receive the data frame to be processed from the identification module 702, and determine whether the data frame to be processed is a fragmented data frame. If the data frame to be processed is a fragmented data frame, according to the fragment data. a fragmentation field of the frame, determining whether all the fragment data frames having the same frame number have been received, and determining whether the fragment data frame and all the fragment data frames having the same frame sequence have been received Sending to the reassembly module 704, where the fragmentation field is used to indicate the number of fragmented data frames and the sequence number of the fragmented data frame in the corresponding fragmented data frame;

可选地,处理模块703还用于:如果该待处理的数据帧为未分片的数据帧,预期序号加1。Optionally, the processing module 703 is further configured to: if the data frame to be processed is an unfragmented data frame, increase the expected sequence number by one.

其中,判断该待处理的数据帧是否为分片数据帧的方式可以为:(1)检测该待处理的数据帧中的分片帧标识,如果分片帧标识的值为第五值,该数据帧为分片数据帧;(2)如果未分片的数据帧中不存在分片字段,则检测该待处理的数据帧中是否包含分片字段,如果包含分片字段,该数据帧为分片数据帧;(3)如果未分片的数据帧中也存在分片字段,可以根据分片字段的取值来确定该待处理的数据帧是否为分片数据帧。The method for determining whether the data frame to be processed is a fragmented data frame may be: (1) detecting a fragmented frame identifier in the to-be-processed data frame, and if the value of the fragmented frame identifier is a fifth value, The data frame is a fragmented data frame; (2) if there is no fragmentation field in the unfragmented data frame, detecting whether the data frame to be processed includes a fragmentation field, and if the fragmentation field is included, the data frame is (3) If there is also a fragmentation field in the unfragmented data frame, it may be determined according to the value of the fragmentation field whether the to-be-processed data frame is a fragmented data frame.

重组模块704,用于从处理模块703接收该分片数据帧和该判断结果,如果已经接收到所有具有相同所述帧序号的分片数据帧,根据该所有具有相同所述帧序号的分片字段,对所有具有相同所述帧序号的分片数据帧进行重组,恢复出被分片数据帧,预期序号加1。The reassembly module 704 is configured to receive the fragment data frame and the determination result from the processing module 703, and if all the fragment data frames having the same frame sequence number have been received, according to all the fragments having the same frame sequence number The field reorganizes all the fragmented data frames having the same frame number to recover the fragmented data frame, and the expected sequence number is incremented by one.

需要说明的是,在对分片数据帧进行重组之前,要将开销信息去掉。It should be noted that the overhead information is removed before the fragment data frame is reorganized.

本发明实施例提供的设备,可以保证正确接收分片数据帧,对分片数据帧进行重组,恢复出相应的被分片数据帧。The device provided by the embodiment of the invention can ensure that the fragment data frame is correctly received, reassembles the fragment data frame, and recovers the corresponding fragmented data frame.

具体的,该数据帧和分片数据帧可以为以太网帧,分片数据帧包括第一length/type字段,用于指示分片数据帧携带了分片字段,分片字段与第一length/type字段相邻,位于第一length/type字段的后面;该数据帧和分片数据帧还可以为XGEM帧,XGEM帧包括XGEM帧头,其中,分片字段和帧序号替换XGEM帧头中的options字段的全部或部分。 Specifically, the data frame and the fragmented data frame may be an Ethernet frame, and the fragmented data frame includes a first length/type field, which is used to indicate that the fragmented data frame carries the fragmentation field, and the fragmentation field and the first length/ The type field is adjacent to the first length/type field; the data frame and the fragmented data frame may also be XGEM frames, and the XGEM frame includes an XGEM frame header, where the fragmentation field and the frame sequence number are replaced by the XGEM frame header. All or part of the options field.

其中,options字段包括第一字段,第二字段和第三字段,第一字段用于指示该数据帧在数据帧序列中的序号,第二字段用于指示分片数据帧在相应被分片数据帧中的序号,第三字段和LF字段共同指示分片的数目。The options field includes a first field, a second field, and a third field, where the first field is used to indicate the sequence number of the data frame in the data frame sequence, and the second field is used to indicate that the fragment data frame is in the corresponding fragmented data. The sequence number in the frame, the third field and the LF field together indicate the number of slices.

可选地,作为另一个实施例,分片字段包括分片标识和分片序号,其中,分片标识为分片的数目或用于指示由被分片数据帧中的最后一个分片形成的分片数据帧,分片序号为分片数据帧在相应被分片数据帧中的序号。应理解,根据最后一个分片形成的分片数据帧的分片序号,可以得到分片的数目。分片标识和分片序号存在多种实现形式,在之前实施例中已经详细描述过,本发明实施例在此不再赘述。Optionally, as another embodiment, the fragmentation field includes a fragment identifier and a fragment sequence number, where the fragment identifier is the number of fragments or is used to indicate that the last fragment in the fragmented data frame is formed. The fragmented data frame, the fragment number is the sequence number of the fragmented data frame in the corresponding fragmented data frame. It should be understood that the number of slices can be obtained according to the slice number of the slice data frame formed by the last slice. The fragment identification and the fragment sequence number have been implemented in various manners, which have been described in detail in the previous embodiments, and the embodiments of the present invention are not described herein again.

本发明另一实施例提供一种数据帧的发送和接收系统,包括:如权利要求19到28任一项所述的设备,以及如权利要求29到35任一项所述的设备。A further embodiment of the invention provides a system for transmitting and receiving data frames, comprising: the device according to any one of claims 19 to 28, and the device according to any one of claims 29 to 35.

其中,如权利要求23到34任一项所述的设备,用于接收数据帧序列,确定数据帧序列的可用通道,其中,数据帧序列包括第一数据帧;如果第一数据帧的长度超过第一长度,对所一数据帧进行分片,得到第一数据帧的多个分片,其中,分片的数目由所述可用通道的数目决定;在每个分片中添加开销信息,得到多个分片数据帧,其中,开销信息包括分片字段和帧序号,分片字段用于指示分片数据帧的数目以及相应分片数据帧在所述第一数据帧中的序号,帧序号为第一数据帧在数据帧序列中的序号;通过所述可用通道,将多个分片数据帧转发出去。The apparatus according to any one of claims 23 to 34, configured to receive a sequence of data frames, determine an available channel of a sequence of data frames, wherein the sequence of data frames includes a first data frame; if the length of the first data frame exceeds The first length, the data frame is fragmented to obtain a plurality of fragments of the first data frame, wherein the number of fragments is determined by the number of available channels; adding overhead information in each fragment, a plurality of fragmented data frames, wherein the overhead information includes a fragmentation field and a frame number, and the fragmentation field is used to indicate the number of the fragmented data frames and the sequence number of the corresponding fragmented data frame in the first data frame, the frame serial number a sequence number of the first data frame in the sequence of data frames; and the plurality of slice data frames are forwarded through the available channels.

也就是说,如权利要求23到34任一项所述的设备,用于从第一PON通道接收数据帧序列,第一PON通道的速率为N个第二PON通道的速率和,其中,数据帧序列包括第一数据帧,N为大于1的正整数;确定数据帧序列中的数据帧从M个第二PON通道转发,如果第一数据帧的长度超过第一长度,对所述第一数据帧进行分片,得到第一数据帧的多个分片,其中,M为正整数,2≤M≤N;在每个分片中添加开销信息,得到多个分片数据帧,其中,开销信息包括分片字段和帧序号,分片字段用于指示分片数据帧的数目以及相应分片数据帧在第一数据帧中的序号,帧序号为第一数据帧在数据帧序列中的序号;通过该M个第二PON通道,将多个分片数据帧 转发出去That is, the apparatus according to any one of claims 23 to 34, for receiving a sequence of data frames from a first PON channel, the rate of the first PON channel being a rate of N second PON channels, wherein, the data The sequence of frames includes a first data frame, where N is a positive integer greater than one; determining that data frames in the sequence of data frames are forwarded from the M second PON channels, and if the length of the first data frame exceeds the first length, the first The data frame is fragmented to obtain a plurality of fragments of the first data frame, where M is a positive integer, 2 ≤ M ≤ N; and the overhead information is added to each fragment to obtain a plurality of fragmented data frames, where The overhead information includes a fragmentation field and a frame sequence number, and the fragmentation field is used to indicate the number of the fragmented data frames and the sequence number of the corresponding fragmented data frame in the first data frame, and the frame sequence number is the first data frame in the data frame sequence. Serial number; multiple fragmented data frames through the M second PON channels Forward out

如权利要求23到30任一项所述的设备,用于从第二PON通道接收数据帧,该数据帧具有帧序号,其中,帧序号为该数据帧在数据帧序列中的序号;根据帧序号和预期序号,判断该数据帧是否为待处理的数据帧,如果该数据帧为待处理的数据帧,判断该待处理的数据帧是否为分片数据帧;如果该待处理的数据帧为分片数据帧,根据该分片数据帧的分片字段,判断是否已经接收到所有具有相同所述帧序号的分片数据帧,其中,分片字段用于指示分片数据帧的数目和该分片数据帧在相应被分片数据帧中的序号;如果已经接收到所有具有相同所述帧序号的分片数据帧,根据所有具有相同所述帧序号的分片数据帧的分片字段,对所有具有相同所述帧序号的分片数据帧进行重组,恢复出被分片数据帧,预期序号加1。The apparatus according to any one of claims 23 to 30, configured to receive a data frame from a second PON channel, the data frame having a frame number, wherein the frame number is a sequence number of the data frame in the sequence of data frames; a sequence number and an expected sequence number, determining whether the data frame is a data frame to be processed, and if the data frame is a data frame to be processed, determining whether the data frame to be processed is a fragmented data frame; if the data frame to be processed is Defragmenting a data frame according to the fragmentation field of the fragment data frame, determining whether all the fragment data frames having the same frame sequence number have been received, wherein the fragmentation field is used to indicate the number of fragmented data frames and the fragmentation data frame The sequence number of the fragmented data frame in the corresponding fragmented data frame; if all the fragmented data frames having the same frame number have been received, according to the fragmentation fields of all the fragmented data frames having the same frame number, All the fragmented data frames having the same frame number are reorganized to recover the fragmented data frame, and the expected sequence number is incremented by one.

本发明实施例提供的系统,通过采用将巨型帧分片的方式,解决了巨型帧在任一传输通道上传输均会导致延时增加,带宽利用率降低,延时抖动增大,影响业务体验的问题;由于本发明实施例的分片操作是在MAC层以上实现的,与具体的通道绑定数目无关,因此可以兼容所有多通道PON系统。The system provided by the embodiment of the present invention solves the problem that the transmission of the jumbo frame on any transmission channel causes the delay to increase, the bandwidth utilization decreases, the delay jitter increases, and the service experience is affected by adopting the method of fragmenting the jumbo frame. Problem; since the fragmentation operation of the embodiment of the present invention is implemented above the MAC layer, regardless of the specific number of channel bindings, it can be compatible with all multi-channel PON systems.

应理解,说明书通篇提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。在本发明的各种实施例中,上述各过程的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。It is to be understood that the phrase "one embodiment" or "an embodiment" or "an embodiment" or "an embodiment" means that a particular feature, structure, or characteristic relating to an embodiment is included in at least one embodiment of the invention. Thus, "in one embodiment" or "in an embodiment" or "an" In addition, these particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the various embodiments of the present invention, the sequence numbers of the above processes do not mean the order of execution, and the order of execution of each process should be determined by its function and internal logic, and should not constitute the implementation process of the embodiments of the present invention. Any restrictions.

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实 现不应认为超出本发明的范围。Those of ordinary skill in the art will appreciate that the elements and algorithm steps of the various examples described in connection with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both, for clarity of hardware and software. Interchangeability, the composition and steps of the various examples have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the solution. Professionals can use different methods to implement the described functions for each specific application, but this It should not be considered as far from the scope of the invention.

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。In the several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the device embodiments described above are merely illustrative. For example, the division of the unit is only a logical function division. In actual implementation, there may be another division manner, for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, or an electrical, mechanical or other form of connection.

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the embodiments of the present invention.

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.

总之,以上所述仅为本发明技术方案的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。 In summary, the above description is only a preferred embodiment of the technical solution of the present invention, and is not intended to limit the scope of the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and scope of the present invention are intended to be included within the scope of the present invention.

Claims (36)

一种数据帧的发送方法,其特征在于,所述方法用于无源光网络PON系统中,包括:A method for transmitting a data frame, wherein the method is used in a passive optical network PON system, including: 从第一PON通道接收数据帧序列,所述第一PON通道的速率为N个第二PON通道的速率和,其中,所述数据帧序列包括第一数据帧,N为大于1的正整数;Receiving, by the first PON channel, a sequence of data frames, where the rate of the first PON channel is a rate sum of N second PON channels, where the data frame sequence includes a first data frame, and N is a positive integer greater than one; 确定所述数据帧序列中的数据帧从M个第二PON通道转发,如果所述第一数据帧的长度超过第一长度,对所述第一数据帧进行分片,得到第一数据帧的多个分片,其中,M为正整数,2≤M≤N;Determining that the data frame in the data frame sequence is forwarded from the M second PON channels. If the length of the first data frame exceeds the first length, the first data frame is fragmented to obtain the first data frame. a plurality of fragments, wherein M is a positive integer, 2 ≤ M ≤ N; 在每个分片中添加开销信息,得到多个分片数据帧,其中,所述开销信息包括分片字段和帧序号,所述分片字段用于指示分片数据帧的数目以及相应分片数据帧在所述第一数据帧中的序号,所述帧序号为所述第一数据帧在所述数据帧序列中的序号;The overhead information is added to each fragment to obtain a plurality of fragmented data frames, where the overhead information includes a fragmentation field and a frame serial number, and the fragmentation field is used to indicate the number of fragmented data frames and the corresponding fragmentation. a sequence number of the data frame in the first data frame, where the frame sequence number is a sequence number of the first data frame in the sequence of data frames; 通过所述M个第二PON通道,将所述多个分片数据帧转发出去。And transmitting, by the M second PON channels, the plurality of fragmented data frames. 根据权利要求1所述的方法,其特征在于,所述第一数据帧和所述分片数据帧均为以太网帧,所述分片数据帧包括第一长度类型length/type字段,用于指示所述分片数据帧携带了所述分片字段,所述分片字段与所述第一length/type字段相邻,位于所述第一length/type字段的后面。The method according to claim 1, wherein the first data frame and the fragment data frame are both Ethernet frames, and the fragment data frame includes a first length type length/type field for And indicating that the fragment data frame carries the fragment field, where the fragment field is adjacent to the first length/type field, and is located after the first length/type field. 根据权利要求1所述的方法,其特征在于,所述第一数据帧和所述分片数据帧均为万兆吉比特无源光网络封装模式XGEM帧,所述XGEM帧包括XGEM帧头,其中,所述分片字段和所述帧序号替换所述XGEM帧头中的选择options字段的全部或部分。The method according to claim 1, wherein the first data frame and the fragment data frame are both a Gigabit Gigabit passive optical network encapsulation mode XGEM frame, and the XGEM frame includes an XGEM frame header. The fragment field and the frame sequence number replace all or part of the selection options field in the XGEM frame header. 根据权利要求3所述的方法,其特征在于,所述分片字段替换所述XGEM帧头中选择options字段的全部或部分具体包括:The method according to claim 3, wherein the replacing the all or part of the option field in the XGEM frame header by the fragment field includes: 所述options字段包括第一字段,第二字段和第三字段,所述第一字段用于指示所述第一数据帧在所述数据帧序列中的序号,所述第二字段用于指示所述分片数据帧在相应被分片数据帧中的序号,所述第三字段和最后片段指示LF字段共同指示分片的数目。The options field includes a first field, a second field, and a third field, where the first field is used to indicate a sequence number of the first data frame in the data frame sequence, and the second field is used to indicate The sequence number of the fragmented data frame in the corresponding fragmented data frame, the third field and the last fragment indicating that the LF field together indicate the number of fragments. 根据权利要求1至3任一项所述的方法,其特征在于,所述分片字 段包括分片标识和分片序号,所述分片标识为分片的数目,所述分片序号为相应分片数据帧在所述第一数据帧中的序号。Method according to any one of claims 1 to 3, characterized in that said slice word The segment includes a slice identifier and a slice sequence number, and the slice identifier is a number of fragments, and the slice sequence number is a sequence number of the corresponding slice data frame in the first data frame. 根据权利要求1至3任一项所述的方法,其特征在于,所述分片字段包括分片标识和分片序号,所述分片标识用于指示由所述第一数据帧中的最后一个分片形成的分片数据帧;所述分片序号为相应分片数据帧在所述第一数据帧中的序号。The method according to any one of claims 1 to 3, wherein the fragmentation field comprises a slice identifier and a slice sequence, and the slice identifier is used to indicate the last in the first data frame a sliced data frame formed by a slice; the slice sequence number is a sequence number of the corresponding sliced data frame in the first data frame. 根据权利要求6所述的方法,其特征在于,所述分片标识用于指示由所述第一数据帧中的最后一个分片形成的分片数据帧具体包括:The method according to claim 6, wherein the slice identifier is used to indicate that the slice data frame formed by the last slice in the first data frame comprises: 在所述分片标识的值为第一值时,所述分片数据帧是由所述第一数据帧的第一个分片形成;And when the value of the fragment identifier is a first value, the fragment data frame is formed by a first fragment of the first data frame; 在所述分片标识的值为第二值时,所述分片数据帧是由所述第一数据帧的中间分片形成;When the value of the fragment identifier is a second value, the fragment data frame is formed by an intermediate slice of the first data frame; 在所述分片标识的值为第三值时,所述分片数据帧是由所述第一数据帧的最后一个分片形成,其中,第一至第三值为三个不同的值。When the value of the slice identifier is a third value, the slice data frame is formed by the last slice of the first data frame, wherein the first to third values are three different values. 根据权利要求7所述的方法,其特征在于,所述分片标识由分片头指示字段和分片尾指示字段构成。The method according to claim 7, wherein the slice identifier is composed of a slice header indication field and a slice tail indication field. 根据权利要求1至3任一项所述的方法,其特征在于,分片的数目为M。The method according to any one of claims 1 to 3, characterized in that the number of tiles is M. 根据权利要求9所述的方法,其特征在于,在对所述第一数据帧进行分片之前,所述方法还包括:The method according to claim 9, wherein before the fragmenting the first data frame, the method further comprises: 根据所述M个第二PON通道的发送队列剩余空间,所述分片的数目和所述第一数据帧的长度,可以确定每个分片的长度。The length of each slice may be determined according to the remaining space of the transmission queues of the M second PON channels, the number of the fragments, and the length of the first data frame. 一种数据帧的接收方法,其特征在于,所述方法用于无源光网络PON系统中,包括:A method for receiving a data frame, wherein the method is used in a passive optical network PON system, including: 从第二PON通道接收数据帧,所述数据帧具有帧序号,其中,所述帧序号为所述数据帧在数据帧序列中的序号;Receiving, by the second PON channel, a data frame, where the data frame has a frame sequence number, wherein the frame sequence number is a sequence number of the data frame in a sequence of data frames; 根据所述帧序号和预期序号,判断所述数据帧是否为待处理的数据帧,如果所述数据帧为待处理的数据帧,判断所述待处理的数据帧是否为分片数据帧; Determining, according to the frame sequence number and the expected sequence number, whether the data frame is a data frame to be processed, and if the data frame is a data frame to be processed, determining whether the data frame to be processed is a fragmented data frame; 如果所述待处理的数据帧为分片数据帧,根据所述分片数据帧的分片字段,判断是否已经接收到所有具有相同所述帧序号的分片数据帧,其中,所述分片字段用于指示分片数据帧的数目和所述分片数据帧在相应被分片数据帧中的序号;If the data frame to be processed is a fragmented data frame, determining, according to the fragmentation field of the fragmented data frame, whether all the fragmented data frames having the same frame sequence number have been received, wherein the fragmentation The field is used to indicate the number of the fragmented data frames and the sequence number of the fragmented data frame in the corresponding fragmented data frame; 如果已经接收到所有具有相同所述帧序号的分片数据帧,根据所述所有具有相同所述帧序号的分片数据帧的分片字段,对所有具有相同所述帧序号的分片数据帧进行重组,恢复出所述被分片数据帧,所述预期序号加1。If all the fragmented data frames having the same frame number have been received, all the fragmented data frames having the same frame number are used according to the fragmented fields of all the fragmented data frames having the same frame number. Reorganizing to recover the fragmented data frame, the expected sequence number is incremented by one. 根据权利要求11所述的方法,其特征在于,所述数据帧和所述分片数据帧均为以太网帧,所述分片数据帧包括第一长度类型length/type字段,用于指示所述分片数据帧携带了所述分片字段,所述分片字段与所述第一length/type字段相邻,位于所述第一length/type字段的后面。The method according to claim 11, wherein the data frame and the fragment data frame are both Ethernet frames, and the fragment data frame includes a first length type length/type field for indicating The fragmented data frame carries the fragmentation field, and the fragmentation field is adjacent to the first length/type field, and is located after the first length/type field. 根据权利要求11所述的方法,其特征在于,所述数据帧和所述分片数据帧均为万兆吉比特无源光网络封装模式XGEM帧,所述XGEM帧包括XGEM帧头,其中,所述分片字段和所述帧序号替换所述XGEM帧头中的选择options字段的全部或部分。The method according to claim 11, wherein the data frame and the fragment data frame are both a Gigabit Gigabit passive optical network encapsulation mode XGEM frame, and the XGEM frame includes an XGEM frame header, where The slice field and the frame sequence number replace all or part of the selected options field in the XGEM frame header. 根据权利要求13所述的方法,其特征在于,所述分片字段替换所述XGEM帧头中选择options字段的全部或部分具体包括:The method according to claim 13, wherein the replacing the all or part of the selection of the options field in the XGEM frame header by the fragmentation field comprises: 所述options字段包括第一字段,第二字段和第三字段,所述第一字段用于指示所述数据帧在数据帧序列中的序号,所述第二字段用于指示所述分片数据帧在相应被分片数据帧中的序号,所述第三字段和最后片段指示LF字段共同指示分片的数目。The options field includes a first field, a second field, and a third field, where the first field is used to indicate a sequence number of the data frame in a sequence of data frames, and the second field is used to indicate the fragment data. The sequence number of the frame in the corresponding fragmented data frame, the third field and the last fragment indicating that the LF field collectively indicates the number of slices. 根据权利要求11至13任一项所述的方法,其特征在于,所述判断所述数据帧是否为待处理的数据帧具体包括:The method according to any one of claims 11 to 13, wherein the determining whether the data frame is a data frame to be processed specifically includes: 比较所述帧序号和所述预期序号,如果所述帧序号大于所述预期序号,将所述数据帧保存到第一缓存中,从所述第二PON通道接收数据帧;如果所述帧序号小于所述预期序号,将所述数据帧丢弃,从所述第二PON通道接收数据帧;如果所述帧序号等于所述预期序号,所述数据帧为所述待处理的数据帧。 Comparing the frame sequence number and the expected sequence number, if the frame sequence number is greater than the expected sequence number, saving the data frame to a first buffer, and receiving a data frame from the second PON channel; if the frame sequence number And less than the expected sequence number, discarding the data frame, and receiving a data frame from the second PON channel; if the frame sequence number is equal to the expected sequence number, the data frame is the data frame to be processed. 根据权利要求15所述的方法,其特征在于,在从第二PON通接收数据帧之前,所述方法还包括:The method according to claim 15, wherein before receiving the data frame from the second PON, the method further comprises: 如果所述第一缓存不为空,从所述第一缓存中提取数据帧,根据所述帧序号和所述预期序号,判断从所述第一缓存中提取的数据帧是否为待处理的数据帧;If the first buffer is not empty, extract a data frame from the first cache, and determine, according to the frame serial number and the expected sequence number, whether the data frame extracted from the first cache is data to be processed. frame; 如果所述第一缓存为空,从所述第二PON通接收数据帧。If the first buffer is empty, receiving a data frame from the second PON pass. 根据权利要求16所述的方法,其特征在于,在判断从第一缓存中提取的数据帧是否为待处理的数据帧之后,所述方法还包括:The method according to claim 16, wherein after determining whether the data frame extracted from the first buffer is a data frame to be processed, the method further includes: 如果从所述第一缓存中提取的数据帧不是待处理的数据帧,继续从所述第一缓存中提取数据帧,如果从所述第一缓存中提取的所有数据帧均不是待处理的数据帧,从所述第二PON通接收数据帧。If the data frame extracted from the first cache is not a data frame to be processed, continue to extract data frames from the first cache, if all data frames extracted from the first cache are not pending data a frame that receives a data frame from the second PON pass. 根据权利要求11至13任一项所述的方法,其特征在于,所述判断所述待处理的数据帧是否为分片数据帧具体包括:The method according to any one of claims 11 to 13, wherein the determining whether the data frame to be processed is a fragmented data frame comprises: 检测所述待处理的数据帧中是否包含所述分片字段,如果包含所述分片字段,所述待处理的数据帧为分片数据帧。Detecting whether the fragmentation field is included in the data frame to be processed, and if the fragmentation field is included, the data frame to be processed is a fragmented data frame. 一种数据帧的发送设备,其特征在于,所述设备用于无源光网络PON系统中,包括:接收模块,分片模块,标识模块和转发模块,A device for transmitting a data frame, wherein the device is used in a PON system of a passive optical network, and includes: a receiving module, a fragmentation module, an identification module, and a forwarding module, 所述接收模块,用于从第一PON通道接收数据帧序列,所述第一PON通道的速率为N个第二PON通道的速率和,将所述数据帧序列发送给所述分片模块,其中,所述数据帧序列包括第一数据帧,N为大于1的正整数;The receiving module is configured to receive a sequence of data frames from a first PON channel, where the rate of the first PON channel is a rate sum of N second PON channels, and send the sequence of data frames to the fragmentation module. The data frame sequence includes a first data frame, where N is a positive integer greater than one; 所述分片模块,用于从所述接收模块接收所述数据帧序列,确定所述数据帧序列中的数据帧从M个第二PON通道转发,如果所述第一数据帧的长度超过第一长度,对所述第一数据帧进行分片,得到第一数据帧的多个分片,将所述第一数据帧的多个分片发送给所述标识模块,将所述M个第二PON通道的信息发送给所述转发模块,其中,M为正整数,2≤M≤N;The fragmentation module is configured to receive the data frame sequence from the receiving module, and determine that the data frame in the data frame sequence is forwarded from the M second PON channels, if the length of the first data frame exceeds a length The first data frame is fragmented to obtain a plurality of fragments of the first data frame, and the plurality of fragments of the first data frame are sent to the identifier module, and the M The information of the two PON channels is sent to the forwarding module, where M is a positive integer, 2 ≤ M ≤ N; 所述标识模块,用于从所述分片模块接收所述第一数据帧的多个分片,在每个分片中插入开销信息,得到多个分片数据帧,将所述多个分片数据帧发送给所述转发模块,其中,所述开销信息包括分片字段和帧序号,所述分片字段用于指示分片数据帧的数目以及相应分片数据帧在所述第一数 据帧中的序号,所述帧序号为所述第一数据帧在所述数据帧序列中的序号;The identifier module is configured to receive a plurality of fragments of the first data frame from the fragmentation module, insert overhead information into each fragment, and obtain a plurality of fragment data frames, and divide the plurality of fragments The slice data frame is sent to the forwarding module, where the overhead information includes a fragmentation field and a frame sequence number, where the fragmentation field is used to indicate the number of fragmented data frames and the corresponding fragmented data frame is in the first number. The frame number is a sequence number of the first data frame in the sequence of data frames according to a sequence number in the frame; 所述转发模块,用于从所述分片模块接收所述M个第二PON通道的信息,从所述标识模块接收所述多个分片数据帧,通过所述M个第二PON通道,将所述多个分片数据帧转发出去。The forwarding module is configured to receive information about the M second PON channels from the fragmentation module, and receive the multiple fragment data frames from the identifier module, and pass the M second PON channels. Transmitting the plurality of fragmented data frames. 根据权利要求19所述的设备,其特征在于,所述第一数据帧和所述分片数据帧均为以太网帧,所述分片数据帧包括第一长度类型length/type字段,用于指示所述分片数据帧携带了所述分片字段,所述分片字段与所述第一length/type字段相邻,位于所述第一length/type字段的后面。The device according to claim 19, wherein the first data frame and the fragment data frame are both Ethernet frames, and the fragment data frame includes a first length type length/type field for And indicating that the fragment data frame carries the fragment field, where the fragment field is adjacent to the first length/type field, and is located after the first length/type field. 根据权利要求19所述的设备,其特征在于,所述第一数据帧和所述分片数据帧均为万兆吉比特无源光网络封装模式XGEM帧,所述XGEM帧包括XGEM帧头,其中,所述分片字段和所述帧序号替换所述XGEM帧头中的选择options字段的全部或部分。The device according to claim 19, wherein the first data frame and the fragment data frame are both a Gigabit Gigabit passive optical network encapsulation mode XGEM frame, and the XGEM frame includes an XGEM frame header. The fragment field and the frame sequence number replace all or part of the selection options field in the XGEM frame header. 根据权利要求21所述的设备,其特征在于,所述options字段包括第一字段,第二字段和第三字段,所述第一字段用于指示所述第一数据帧在所述数据帧序列中的序号,所述第二字段用于指示所述分片数据帧在相应被分片数据帧中的序号,所述第三字段和最后片段指示LF字段共同指示分片的数目。The device according to claim 21, wherein the options field comprises a first field, a second field and a third field, wherein the first field is used to indicate that the first data frame is in the data frame sequence The serial number in the second field is used to indicate the sequence number of the fragment data frame in the corresponding fragmented data frame, and the third field and the last fragment indicate that the LF field together indicates the number of fragments. 根据权利要求19至21任一项所述的设备,其特征在于,所述分片字段包括分片标识和分片序号,所述分片标识为分片的数目,所述分片序号为相应分片数据帧在所述第一数据帧中的序号。The device according to any one of claims 19 to 21, wherein the fragmentation field includes a slice identifier and a slice sequence number, and the slice identifier is a number of fragments, and the slice sequence number is corresponding to The sequence number of the fragmented data frame in the first data frame. 根据权利要求19至21任一项所述的设备,其特征在于,所述分片字段包括分片标识和分片序号,所述分片标识用于指示由所述第一数据帧中的最后一个分片形成的分片数据帧;所述分片序号为相应分片数据帧在所述第一数据帧中的序号。The device according to any one of claims 19 to 21, wherein the fragmentation field comprises a slice identifier and a slice sequence, the slice identifier being used to indicate the last in the first data frame a sliced data frame formed by a slice; the slice sequence number is a sequence number of the corresponding sliced data frame in the first data frame. 根据权利要求24所述的设备,其特征在于,所述分片标识用于指示由所述第一数据帧中的最后一个分片形成的分片数据帧具体包括:The apparatus according to claim 24, wherein the fragmentation identifier is used to indicate that the fragmented data frame formed by the last slice in the first data frame comprises: 在所述分片标识的值为第一值时,所述分片数据帧由所述第一数据帧的第一个分片形成; And when the value of the fragment identifier is a first value, the fragment data frame is formed by a first fragment of the first data frame; 在所述分片标识的值为第二值时,所述分片数据帧由所述第一数据帧的中间分片形成;When the value of the slice identifier is a second value, the fragment data frame is formed by an intermediate slice of the first data frame; 在所述分片标识的值为第三值时,所述分片数据帧由所述第一数据帧的最后一个分片形成,其中,第一至第三值为三个不同的值。When the value of the slice identifier is a third value, the slice data frame is formed by the last slice of the first data frame, wherein the first to third values are three different values. 根据权利要求25所述的设备,其特征在于,所述分片标识由分片头指示字段和分片尾指示字段构成。The device according to claim 25, wherein the slice identifier is composed of a slice header indication field and a slice tail indication field. 根据权利要求19至21任一项所述的设备,其特征在于,分片的数目为M。Apparatus according to any one of claims 19 to 21, wherein the number of tiles is M. 根据权利要求27所述的设备,其特征在于,所述分片模块具体用于:The device according to claim 27, wherein the fragmentation module is specifically configured to: 根据所述M个第二PON通道的发送队列剩余空间,所述分片的数目和所述第一数据帧的长度,可以确定每个分片的长度。The length of each slice may be determined according to the remaining space of the transmission queues of the M second PON channels, the number of the fragments, and the length of the first data frame. 一种数据帧的接收设备,其特征在于,所述设备用于无源光网络PON系统,包括:接收模块,识别模块,处理模块和重组模块,A receiving device for a data frame, wherein the device is used in a passive optical network PON system, and includes: a receiving module, an identifying module, a processing module, and a recombining module, 所述接收模块,用于从第二PON通道接收数据帧,将所述数据帧发送给所述识别模块,其中,所述数据帧具有帧序号,所述帧序号为所述数据帧在数据帧序列中的序号;The receiving module is configured to receive a data frame from the second PON channel, and send the data frame to the identification module, where the data frame has a frame serial number, and the frame serial number is the data frame in the data frame The serial number in the sequence; 所述识别模块,用于从所述接收模块接收所述数据帧,根据所述帧序号和预期序号,判断所述数据帧是否为待处理的数据帧,如果所述数据帧为待处理的数据帧,将所述待处理的数据帧发送给所述处理模块;The identification module is configured to receive the data frame from the receiving module, determine, according to the frame serial number and the expected sequence number, whether the data frame is a data frame to be processed, if the data frame is data to be processed Sending, to the processing module, the data frame to be processed; 所述处理模块,用于从所述识别模块接收所述待处理的数据帧,判断所述待处理的数据帧是否为分片数据帧,如果所述待处理的数据帧为分片数据帧,根据所述分片数据帧的分片字段,判断是否已经接收到所有具有相同所述帧序号的分片数据帧,将所述分片数据帧和是否已经接收到所有具有相同所述帧序号的分片数据帧的判断结果发送给所述重组模块,其中,所述分片字段用于指示分片数据帧的数目以及所述分片数据帧在相应被分片数据帧中的序号;The processing module is configured to receive the data frame to be processed from the identification module, and determine whether the data frame to be processed is a fragmented data frame, and if the data frame to be processed is a fragmented data frame, Determining, according to the fragmentation field of the fragment data frame, whether all the fragment data frames having the same frame sequence number have been received, and whether the fragment data frame and all the frame numbers having the same frame number have been received And determining, by the fragmentation data frame, the number of the fragmented data frames and the sequence number of the fragmented data frame in the corresponding fragmented data frame; 所述重组模块,用于从所述处理模块接收所述分片数据帧和所述判断结果,如果已经接收到所有具有相同所述帧序号的分片数据帧,根据所述 所有具有相同所述帧序号的分片数据帧的分片字段,对所有具有相同所述帧序号的分片数据帧进行重组,恢复出所述被分片数据帧,所述预期序号加1。The reassembly module is configured to receive, according to the processing module, the fragment data frame and the determination result, if all fragment data frames having the same frame sequence number have been received, according to the All the fragmented fields of the fragmented data frame having the same frame number are reassembled for all the fragmented data frames having the same frame number, and the fragmented data frame is restored, and the expected sequence number is incremented by one. 根据权利要求29所述的设备,其特征在于,所述数据帧和所述分片数据帧均为以太网帧,所述分片数据帧包括第一长度类型length/type字段,用于指示所述分片数据帧携带了所述分片字段,所述分片字段与所述第一length/type字段相邻,位于所述第一length/type字段的后面。The device according to claim 29, wherein the data frame and the fragment data frame are both Ethernet frames, and the fragment data frame includes a first length type length/type field for indicating The fragmented data frame carries the fragmentation field, and the fragmentation field is adjacent to the first length/type field, and is located after the first length/type field. 根据权利要求29所述的设备,其特征在于,所述数据帧和所述分片数据帧均为万兆吉比特无源光网络封装模式XGEM帧,所述XGEM帧包括XGEM帧头,其中,所述分片字段和所述帧序号替换所述XGEM帧头中选择options字段的全部或部分。The device according to claim 29, wherein the data frame and the fragment data frame are both a Gigabit Gigabit passive optical network encapsulation mode XGEM frame, and the XGEM frame includes an XGEM frame header, where The slice field and the frame sequence number replace all or part of the selection options field in the XGEM frame header. 根据权利要求31所述的设备,其特征在于,所述options字段包括第一字段,第二字段和第三字段,所述第一字段用于指示所述数据帧在数据帧序列中的序号,所述第二字段用于指示所述分片数据帧在相应被分片数据帧中的序号,所述第三字段和最后片段指示LF字段共同指示分片的数目。The device according to claim 31, wherein the options field comprises a first field, a second field and a third field, wherein the first field is used to indicate a sequence number of the data frame in a sequence of data frames. The second field is used to indicate the sequence number of the fragment data frame in the corresponding fragmented data frame, and the third field and the last fragment indicate that the LF field together indicates the number of fragments. 根据权利要求29至31任一项所述的设备,其特征在于,Apparatus according to any one of claims 29 to 31, wherein 所述识别模块具体用于:比较所述帧序号和所述预期序号,如果所述帧序号大于所述预期序号,将所述数据帧保存到第一缓存中;如果所述帧序号小于所述预期序号,将所述数据帧丢弃;如果所述帧序号等于所述预期序号,所述数据帧为待处理的数据帧;The identification module is specifically configured to: compare the frame serial number and the expected sequence number, if the frame sequence number is greater than the expected sequence number, save the data frame to a first cache; if the frame sequence number is smaller than the frame number The sequence number is discarded, and the data frame is discarded; if the frame sequence number is equal to the expected sequence number, the data frame is a data frame to be processed; 所述设备还包括第一缓存,用于存储所述帧序号大于所述预期序号的数据帧。The device further includes a first cache, configured to store the data frame whose frame sequence number is greater than the expected sequence number. 根据权利要求22所述的设备,其特征在于,所述接收模块还用于从所述第一缓存中提取数据帧,将提取出来的数据帧发送给所述识别模块,其中,所述接收模块从所述第一缓存提取数据帧的优先级高于从所述第二PON通道接收数据帧。The device according to claim 22, wherein the receiving module is further configured to: extract a data frame from the first cache, and send the extracted data frame to the identification module, where the receiving module Extracting a data frame from the first cache has a higher priority than receiving a data frame from the second PON channel. 根据权利要求29至31任一项所述的设备,其特征在于,所述处理模块具体用于: The device according to any one of claims 29 to 31, wherein the processing module is specifically configured to: 检测所述待处理的数据帧中是否包含所述分片字段,如果包含所述分片字段,所述待处理的数据帧为分片数据帧。Detecting whether the fragmentation field is included in the data frame to be processed, and if the fragmentation field is included, the data frame to be processed is a fragmented data frame. 一种数据帧的发送和接收系统,其特征在于,所述系统用于无源光网络PON领域,包括:如权利要求19到28任一项所述的设备,以及如权利要求29到35任一项所述的设备。 A system for transmitting and receiving data frames, characterized in that the system is used in the field of passive optical network PON, comprising: the apparatus according to any one of claims 19 to 28, and as claimed in claims 29 to 35 A device as described.
PCT/CN2016/092312 2016-06-01 2016-07-29 Data frame transmitting or receiving method and apparatus Ceased WO2017206306A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CNPCT/CN2016/084409 2016-06-01
CN2016084409 2016-06-01

Publications (1)

Publication Number Publication Date
WO2017206306A1 true WO2017206306A1 (en) 2017-12-07

Family

ID=60478443

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/092312 Ceased WO2017206306A1 (en) 2016-06-01 2016-07-29 Data frame transmitting or receiving method and apparatus

Country Status (1)

Country Link
WO (1) WO2017206306A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019237521A1 (en) * 2018-06-14 2019-12-19 烽火通信科技股份有限公司 Access network olt slicing method and system employing onu granularity
CN113454935A (en) * 2020-09-18 2021-09-28 华为技术有限公司 Line coding method and device
CN114520937A (en) * 2020-11-20 2022-05-20 华为技术有限公司 Data transmission method, device and system in PON
CN114978357A (en) * 2022-05-23 2022-08-30 青岛海讯数字科技有限公司 Instant streaming and interactive processing method of underwater sound data and computing equipment thereof
CN118827834A (en) * 2024-09-19 2024-10-22 四川开物信息技术有限公司 A CAN bus data transmission method and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1794697A (en) * 2005-12-23 2006-06-28 润欣通信技术(上海)有限公司 Method of group transmission Ethernet passive light notwork upgoing chain circuit data
CN1984051A (en) * 2006-04-30 2007-06-20 华为技术有限公司 Method for transmitting service frame in passive light network, optical network unit and optical line circuit
US20100158523A1 (en) * 2008-12-22 2010-06-24 Kyeong-Eun Han Methods of transmitting and receiving multicast or broadcast frame in olt and onu for wdm-pon, wdm-pon system, and olt for wdm-pon
CN102131130A (en) * 2010-09-13 2011-07-20 华为技术有限公司 A signal processing method, device and system for a PON network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1794697A (en) * 2005-12-23 2006-06-28 润欣通信技术(上海)有限公司 Method of group transmission Ethernet passive light notwork upgoing chain circuit data
CN1984051A (en) * 2006-04-30 2007-06-20 华为技术有限公司 Method for transmitting service frame in passive light network, optical network unit and optical line circuit
US20100158523A1 (en) * 2008-12-22 2010-06-24 Kyeong-Eun Han Methods of transmitting and receiving multicast or broadcast frame in olt and onu for wdm-pon, wdm-pon system, and olt for wdm-pon
CN102131130A (en) * 2010-09-13 2011-07-20 华为技术有限公司 A signal processing method, device and system for a PON network

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019237521A1 (en) * 2018-06-14 2019-12-19 烽火通信科技股份有限公司 Access network olt slicing method and system employing onu granularity
CN113454935A (en) * 2020-09-18 2021-09-28 华为技术有限公司 Line coding method and device
CN114520937A (en) * 2020-11-20 2022-05-20 华为技术有限公司 Data transmission method, device and system in PON
CN114520937B (en) * 2020-11-20 2023-05-09 华为技术有限公司 Data transmission method, device and system in PON
CN114978357A (en) * 2022-05-23 2022-08-30 青岛海讯数字科技有限公司 Instant streaming and interactive processing method of underwater sound data and computing equipment thereof
CN114978357B (en) * 2022-05-23 2023-08-22 青岛海讯数字科技有限公司 Instant circulation and interaction processing method for underwater sound data and computing equipment thereof
CN118827834A (en) * 2024-09-19 2024-10-22 四川开物信息技术有限公司 A CAN bus data transmission method and system

Similar Documents

Publication Publication Date Title
US10666376B2 (en) High data rate extension with bonding
JP4169595B2 (en) Point-to-multipoint passive optical network using variable-length packets
WO2017206306A1 (en) Data frame transmitting or receiving method and apparatus
EP2314002B1 (en) Upstream efficiency improvement method for passive optical networks
US20080260385A1 (en) Signal processing apparatus and method for gigabit passive optical network
CN110768742B (en) OAM message transmission method, sending device, receiving device and readable storage medium
US11349595B2 (en) Service multiplexing method, service demultiplexing method, and related device
WO2017177549A1 (en) Passive optical network architecture, method for passive optical network architecture to implement data transmission, and optical network device
EP4322546B1 (en) Data frame fragmentation method, data frame parsing method and related device
CN108023835B (en) Data transmitting and receiving method and device, ONU and OLT
EP3979662B1 (en) Message processing method and device
WO2009155832A1 (en) Point to multi-point optical access system and its data transmission method and device
US10749623B2 (en) Fault-tolerant distributed passive optical network bonding
EP2077637A1 (en) System and method for protecting payload information in radio transmission
JP7189475B2 (en) Communication device and communication method
CN102497603A (en) EPON cell downlink service scheduling optimization method for easing main line communication pressure
US9065761B2 (en) Packet reassembly processing
WO2018098684A1 (en) Communication method and apparatus for passive optical network
CN111224760B (en) Management information transmission method and device
EP3245769A1 (en) Ethernet frames encapsulation within cpri basic frames

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

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

Ref document number: 16903688

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16903688

Country of ref document: EP

Kind code of ref document: A1