WO2020087250A1 - 一种数据发送方法、装置及FlexE交换系统 - Google Patents

一种数据发送方法、装置及FlexE交换系统 Download PDF

Info

Publication number
WO2020087250A1
WO2020087250A1 PCT/CN2018/112555 CN2018112555W WO2020087250A1 WO 2020087250 A1 WO2020087250 A1 WO 2020087250A1 CN 2018112555 W CN2018112555 W CN 2018112555W WO 2020087250 A1 WO2020087250 A1 WO 2020087250A1
Authority
WO
WIPO (PCT)
Prior art keywords
data packet
data
flexe
slice
packet
Prior art date
Application number
PCT/CN2018/112555
Other languages
English (en)
French (fr)
Inventor
杜文华
林涛
陈敏
张锋
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN201880098323.5A priority Critical patent/CN113273149B/zh
Priority to PCT/CN2018/112555 priority patent/WO2020087250A1/zh
Priority to EP18938640.2A priority patent/EP3863249A4/en
Publication of WO2020087250A1 publication Critical patent/WO2020087250A1/zh
Priority to US17/242,929 priority patent/US11799576B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0602Systems characterised by the synchronising information used
    • H04J3/0605Special codes used as synchronising signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0602Systems characterised by the synchronising information used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • H04J3/1605Fixed allocated frame structures
    • H04J3/1652Optical Transport Network [OTN]
    • H04J3/1658Optical Transport Network [OTN] carrying packets or ATM cells
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J2203/00Aspects of optical multiplex systems other than those covered by H04J14/05 and H04J14/07
    • H04J2203/0001Provisions for broadband connections in integrated services digital network using frames of the Optical Transport Network [OTN] or using synchronous transfer mode [STM], e.g. SONET, SDH
    • H04J2203/0073Services, e.g. multimedia, GOS, QOS
    • H04J2203/0082Interaction of SDH with non-ATM protocols
    • H04J2203/0085Support of Ethernet

Definitions

  • This application relates to the field of communication technology, and in particular, to a data transmission method and device, and a FlexE switching system.
  • Flex Ethernet (FlexE) (FlexE for short) is an interface technology for the bearer network to achieve service isolation and network fragmentation. It has developed rapidly in the past two years and has been widely accepted by major standards organizations.
  • the FlexE standard first originated from the Optical Internet Forum (OIF) interface physical layer standard. Because of its flexible bandwidth adjustment, data isolation, and perfect fit for 5G services, it has been recognized by mainstream operators and suppliers worldwide.
  • OFF Optical Internet Forum
  • FlexE technology enhances the Ethernet by adding a FlexEShim layer and a FlexShim layer between the Ethernet MAC (Media Access Control) layer / PHY (Port Physical Layer) physical layer) layer
  • the data of multiple Client interfaces is scheduled and distributed to multiple different sub-channels in a time slot manner.
  • FlexE Shim can be divided into 20 5G sub-channels, and each client-side interface can specify one or more sub-channels to achieve business isolation.
  • a packet switching mechanism based on FlexE service transmission was created to create a flexible packet length cell switching mechanism. After the data packets pass through the cell switching matrix , And then restore the content and rate of the FlexE Client 66B stream. This mechanism can increase the protection and management capabilities of data streams, expand device capacity more flexibly, and make ultra-low service latency possible.
  • an existing solution is to divide the FlexE Client 66B data stream into several data packet slices, and then generate and send slice packets according to the data packet slices, and then set all the received slice packets to be extended. After a fixed period of time, it is restored to the data stream and sent.
  • This method can ensure that there is no interruption between the sliced packets, but the set fixed time is generally based on the longest path delay of sliced packet transmission based on experience. As a result, the data transmission delay based on the FlexE switching system is longer, resulting in a lower transmission efficiency of the FlexE data stream.
  • the present application provides a data transmission method and device and a FlexE switching system to reduce the data transmission delay based on the FlexE switching system and improve the transmission efficiency of the FlexE data code stream.
  • the first aspect of the present application provides a data transmission method, which is applied to a transmission module of a FlexE switching system.
  • the method includes: receiving a plurality of slicing packets; checking whether the number of slicing packets contains a data packet start character and an end character; when When the plurality of slice packets contain the data packet start and end characters of the same data packet, the data packet slices in the plurality of slice packets are immediately restored to the FlexE data stream for transmission, or, when the delay is greater than or equal to the first When a preset period of time is reached, the data packet slices in the plurality of slice packets are restored to the FlexE data stream for transmission; when the number of slice packets contains a data packet start character of a data packet but does not contain a data packet When the end character is reached, when the delay reaches the second preset duration, the data packet fragments in the plurality of slice packets are restored to the FlexE data stream for transmission; the first preset duration is less than the second preset duration.
  • the slice packet received by the transmission module contains the data packet start character and the data packet end character of the same data packet, it indicates that the transmission module receives the complete data packet, and then immediately Sending the data packet fragments, or sending the data packet fragments after the first preset delay time, will not cause the internal flow of the data packet, but also reduce the data transmission delay and improve the transmission efficiency of the FlexE data stream .
  • the slice packet received by the sending module contains a data packet start character but not a data packet end character, it means that the sending module has not received the complete data packet. After the second preset duration longer than the first preset duration, the data packet fragments are sent out.
  • the data transmission method provided by the present application achieves the effects of reducing the data transmission delay of the FlexE switching system and improving the transmission efficiency of the FlexE data code stream.
  • restoring the data packet slices in the plurality of slice packets into a FlexE data stream for transmission specifically includes: when the first When a slice packet containing a data packet start character and a data packet end character of the same data packet is received within the delay, after the delay reaches the first preset duration, the data packet slices in the plurality of slice packets are restored to FlexE data stream transmission; wherein, the first delay is less than the first preset duration; when a slice packet containing a data packet start character and a data packet end character of the same data packet is received within the second delay time Time, the data packet in the plurality of slice packets is restored to the FlexE data stream during the second delay; wherein, the second delay is greater than or equal to the first preset duration, and the The second delay is less than or equal to the second preset duration.
  • This possible implementation manner can significantly shorten the transmission delay of small data packets, and can significantly improve the transmission efficiency of data packets.
  • the first preset duration is 1/4 to 1/3 of the second preset duration.
  • the first preset duration is the average path delay of the slice packet transmitted from the input module of the FlexE switching system to the sending module of the FlexE switching system.
  • the first preset duration is a path delay in which the slice packet is transmitted from the input module of the FlexE switching system to the sending module of the FlexE switching system, and the proportion of the path delay reaches a preset proportion .
  • the length of each data packet is the same or different.
  • the second preset duration is not less than the maximum path delay of the slice packet transmitted from the input module of the FlexE switching system to the sending module of the FlexE switching system; the first preset duration is less than The second preset duration.
  • a second aspect of the present application provides a data sending module, including: a receiving unit for receiving a plurality of slicing packets; a checking unit for checking whether the plurality of slicing packets contain a data packet start character and an end symbol; the first sending The unit is configured to immediately restore the data packet slices in the plurality of slice packets to the FlexE data stream when the plurality of slice packets contain the data packet start and end characters of the same data packet, or When the time is greater than or equal to the first preset duration, restore the data packet slices in the plurality of slice packets to the FlexE data stream and send; the second sending unit is used to include data of one data packet in the plurality of slice packets When the packet start character does not contain the data packet end character of the data packet, when the delay reaches the second preset duration, the data packet fragments in the plurality of slice packets are restored to the FlexE data stream and sent; The first preset duration is less than the second preset duration.
  • the slice packet received by the sending module contains the data packet start character and the data packet end character of the same data packet, it indicates that the sending module has received the complete data packet, and then immediately Send the data packet, or send the data packet after the delay is less than the maximum path delay of the slicing packet, which will not cause the internal flow of the data packet, but also reduce the data transmission delay and improve the FlexE data code stream Transmission efficiency.
  • the slice packet received by the sending module contains a data packet start character but not a data packet end character, it means that the sending module has not received the complete data packet. At least the maximum path delay of the slicing packet will be sent out after the packet is sent out, and there will be no interruption in the data packet.
  • the data transmission method provided by the present application achieves the effects of reducing the data transmission delay of the FlexE switching system and improving the transmission efficiency of the FlexE data code stream, while avoiding the interruption of the internal data packets.
  • the first sending unit specifically includes: when the delay is greater than or equal to the first preset duration, recovering the data packet slices in the plurality of slice packets into FlexE data stream transmission ;
  • the first preset duration is less than the second preset duration.
  • the third aspect of the present application provides a FlexE switching system, including: an input module, a switching module, and a sending module; the input module is used to sequentially divide the received FlexE data code stream into several data packet pieces, and each Inserting a time identifier corresponding to the data packet slice into the data packet slice to generate a plurality of slice packets; the switching module is used to exchange the plurality of slice packets from the input module to the sending module; the sending The module is the data sending module described in any possible implementation manner of the second aspect above.
  • the slice packet received by the sending module contains a data packet start character and a data packet end character, it indicates that the sending module has received a complete data packet, and then the data packet is fragmented When it is sent out, there will be no interruption of the internal flow of the data packet, it will also reduce the delay of data transmission, and improve the transmission efficiency of the FlexE data stream.
  • the slice packet received by the sending module does not contain a data packet end character, it indicates that the sending module has not received the complete data packet. At this time, the data packet is sent after the delay to the maximum path delay of the slice packet. When going out, there will be no interruption within the data packet.
  • the FlexE switching system provided in this application, it is not necessary for all data packet fragments to be delayed to a certain length of time before being sent out.
  • the data packet fragments belonging to the small data packet are sent out after receiving the complete data packet, and the data packet fragments belonging to the large data packet need to be sent out after being delayed to a certain length of time. Therefore, the data transmission method provided by the present application achieves the effects of reducing the data transmission delay of the FlexE switching system and improving the transmission efficiency of the FlexE data code stream, while avoiding the interruption of the internal data packets.
  • the FlexE switching system is a frame-type structure, wherein the frame-type structure includes a line card and a network board, and the line card is provided with the input module and the sending Module, the switching module is provided on the network board.
  • the FlexE switching system is an SOC box structure, and the SOC box structure includes an SOC chip, and the SOC chip is provided with the input module, the switching module, and the sending Module.
  • the input module, the exchange module, and the sending module are respectively disposed on different SOC chips.
  • the slice packet received by the sending module contains the data packet start character and the data packet end character of the same data packet, it indicates that the sending module receives the complete data packet, and immediately sends the data packet piece Going out, or sending the data packet after the first preset delay time, will not cause the internal flow of the data packet, but also reduce the data transmission delay and improve the transmission efficiency of the FlexE data stream.
  • the slice packet received by the sending module contains a data packet start character but not a data packet end character, it means that the sending module has not received the complete data packet. After the second preset duration longer than the first preset duration, the data packet fragments are sent out.
  • the data transmission method provided by the present application achieves the effects of reducing the data transmission delay of the FlexE switching system and improving the transmission efficiency of the FlexE data code stream.
  • Figure 1 is a schematic diagram of the structure of FlexE technology applied to Ethernet
  • Figure 2 is a schematic diagram of the structure of the FlexE switching system
  • FIG. 3 is a flowchart of a method for generating a slice package by an input module provided by an embodiment of this application;
  • FIG. 5 is a schematic structural diagram of a data sending module provided by an embodiment of this application.
  • FIG. 6 is a schematic structural diagram of a FlexE switching system provided by an embodiment of this application.
  • FIG. 9 is another SOC box structure provided by an embodiment of the present application.
  • Ethernet technology has also been further developed.
  • the Optical Internet Forum has proposed FlexE technology that supports multiple Ethernet MAC layer rates.
  • the FlexE technology can be applied to the open communication system interconnection reference model (Open System Interconnection, OSI), and the specific implementation of the FlexE technology can be to add a FlexE Shim layer between the physical layer and the data link layer of the OSI model.
  • OSI Open System Interconnection
  • Figure 1 is a schematic diagram of the structure of FlexE technology applied to Ethernet.
  • the Ethernet structure in FIG. 1 includes a physical layer 101, a FlexE Shim layer 102, a data link layer 103, a network layer 104, a transport layer 105, a session layer 106, a presentation layer 107, and an application layer 108.
  • the FlexE Shim layer 102 is interposed between the physical layer 101 and the data link layer 103.
  • the physical layer 101 is used to convert data into electronic signals that can be transmitted through a physical medium.
  • port physical layer (Port Physical Layer, PHY) is usually used as a device for operating the physical layer 101 of the OSI model, and the PHY connects the device of the data link layer 102 to a physical medium (for example, optical fiber) Or copper cable).
  • PHY connects Media Access Control (MAC) to physical media.
  • MAC Media Access Control
  • the FlexE Shim layer 102 is used to realize flexible and fast transmission of communication data between the physical layer 101 and the data link layer 103 through cell exchange.
  • the Flex layer 102 is based on a time division multiplexing distribution mechanism.
  • the Flex layer 102 can schedule and distribute data of multiple Client interfaces to multiple different sub-channels in a time slot manner.
  • the FlexE Shim layer 102 can be divided into 20 5G sub-channels.
  • Each client-side interface can specify one or more sub-channels to achieve business isolation.
  • the data link layer 103 is used to determine the way to access the network medium. At this layer, data framing is performed and flow control is handled. Moreover, this layer will also specify the topology and provide hardware addressing.
  • the network layer 104 is used for addressing and routing.
  • the transport layer 105 is used to provide a reliable connection from one host terminal to the host terminal on the other side.
  • the session layer 106 is used to establish a session, maintain a session, and manage a session.
  • the presentation layer 107 is used to negotiate the data exchange format. For example, negotiate what data format to use for data processing, or whether to encrypt data.
  • the application layer 108 is used to provide an interface between the user's application program and the network, so as to facilitate communication between different application programs.
  • an existing solution is to divide the FlexE Client66B data stream into several data packet fragments, and then generate a slice packet according to the data packet fragments and send them, and then set the received All sliced packets are restored to a data stream after a fixed time delay and sent.
  • the fixed duration set above is usually not less than the longest path delay of the slice packet transmission. The longest path delay of the slice packet transmission can be based on The experience is summed up.
  • All slicing packets need to be sent after being delayed to a fixed duration, and the fixed duration is at least the longest path delay of the slicing packet transmission.
  • the fixed duration is at least the longest path delay of the slicing packet transmission.
  • not all transmission delays of slice packets require such a long time, and, according to statistics, only a very small percentage (eg, 1%) of the transmission of slice packets will require such a long delay. Therefore, the above method of setting all slicing packets to be sent after a certain time delay is not necessary for most slicing packets, which results in a longer transmission delay for the above data transmission method based on the FlexE switching system. In turn, the transmission efficiency of the FlexE data stream is low.
  • the bearer service of FlexE Shim layer 201 is protocol [802.3] data packets.
  • the data packet is composed of the data packet start character, business data and data packet end character, and the above data packet start character, service data, data packet end character correspond to the S code in the protocol [802.3] Figure 82-5 Block, D code block and T code block.
  • the present application provides a data transmission method applied to a transmission module of a FlexE switching system.
  • the method includes: after receiving a plurality of slice packets, the transmission module of the FlexE switching system checks whether the plurality of slice packets Contains the data packet start character and end character. If two of the slice packets contain the data packet start character and data packet end character of the same data packet, then immediately or when the delay is greater than or equal to the first preset duration, all The data packet slices in the several slice packets are restored to the FlexE data stream and sent. If the slice packet contains a data packet start character of a data packet but does not contain a data packet end character of the data packet, the data packet slices in the plurality of slice packets are restored to the second preset time delay FlexE data stream is sent out;
  • the first preset duration is less than the second preset duration.
  • the slice packet received by the sending module contains the data packet start character and the data packet end character of the same data packet, it indicates that the sending module has received the complete data packet, and the delay is immediately or at the first preset duration After the data packet is sent out, the internal flow of the data packet will not be interrupted, the data transmission delay will be reduced, and the transmission efficiency of the FlexE data code stream will be improved.
  • the slice packet received by the sending module contains a data packet start character but not a data packet end character, it means that the sending module has not received the complete data packet. At least the maximum path delay of the slicing packet will be sent out after the packet is sent out, and there will be no interruption in the data packet.
  • the data transmission method provided by the present application it is not necessary for all data packet fragments to be delayed to the maximum path delay of the slice packet before being sent out.
  • the data packet fragments belonging to small data packets are sent immediately after receiving the complete data packet or after the delay is less than the maximum path delay of the slice packet, and the data packet fragments belonging to the large data packet need to be delayed
  • the maximum path delay to the slicing packet is sent after the delay, so as to achieve the effect of reducing the data transmission delay of the FlexE switching system and improving the transmission efficiency of the FlexE data code stream, while avoiding the internal interruption of the data packet.
  • the FlexE switching system includes:
  • Input module 201 exchange module 202 and sending module 203;
  • the input module 201 is used to sequentially divide the received FlexE data stream into several data packet slices, and insert the time identifier corresponding to the data packet slice into each data packet slice, thereby generating several slice packets and several slice packets Send to exchange module 202.
  • the exchange module 202 is used to exchange several slice packets from the input module 201 to the sending module 203.
  • the sending module 203 is configured to restore the received slice packet into a data code stream and send the data code stream.
  • FIG. 3 is a flowchart of a method for generating a slice packet by an input module provided by an embodiment of the present application.
  • the method for generating slice packages provided in this application may specifically include:
  • the input module 201 receives the FlexE data code stream, and divides the FlexE data code stream to obtain a data packet piece.
  • S301 may be specifically:
  • the input module 201 continuously buffers the serial FlexE data stream.
  • the FlexE switching system will generate a start pulse control signal and an end pulse control signal .
  • the preset length is a preset length of the data packet slice.
  • the length of the data packet slice provided by the embodiment of the present application is not limited to a fixed length, and therefore, the length of each data packet slice may be the same or different. Furthermore, as another embodiment, the length of each data packet is different, and several data packet fragments can be obtained by randomly cutting the data code stream, thereby further increasing the flexibility of information transmission.
  • the input module 201 obtains the time identifier.
  • the time identifier may be the time when the input module 201 of the FlexE switching system cuts and generates the data packet, or the time when the input module 201 receives the data packet start character of the data packet to which the data packet belongs.
  • the input module 201 can also obtain information such as the effective field of the data packet slice, the sequence of the data packet slice, and the link status.
  • the information such as the time identification, the valid field of the data packet, the sequence of the data packet, and the link status are all relevant information for marking the identity of the data packet, therefore, in order to facilitate the quick acquisition of the relevant information for identifying the identity of the data packet, the time
  • the information such as the identification, the effective field of the data packet slice, the sequence of the data packet slice, and the link status are concentrated in the information of the data packet slice.
  • S302 may specifically be: the input module 201 obtains the packet fragment Information, where the data packet fragment information includes time identification, valid field of the data packet fragment, data packet fragment sequence, link status and other information.
  • the input module 201 inserts the time identifier corresponding to each data packet into the data packet to obtain a sliced packet.
  • S303 may specifically be: when the input module 201 has acquired the first data packet slice and the time identifier of the first data packet slice, the input module 201 may insert the time identifier of the first data packet slice into the first Data packet slices, thereby obtaining a slice packet containing the first data packet slice.
  • S303 may be specifically as follows: The information such as the identifier, the effective field of the data packet, the sequence of the data packet, and the link status are concentrated on the information of the data packet; then, the input module 201 inserts the information of the data packet corresponding to each data packet into the data packet to obtain Slice package.
  • the process of slicing packet generation may be cutting a data packet and immediately generating a slicing packet based on the data packet, and then cutting another data packet and generating the corresponding slicing packet, and repeating this process until the input
  • the data stream received by the module 201 generates slice packets and ends.
  • the process of slicing packet generation may also be to cut all data streams into several data packet slices before generating corresponding slicing packets.
  • the embodiments of the present application provide a corresponding data transmission method for the transmission module 203 of the FlexE switching system.
  • FIG. 4 is a flowchart of a data sending method according to an embodiment of the present application.
  • S401 Receive several slice packets.
  • the slice packet after receiving the slice packet, the slice packet may be cached.
  • each slice packet may include a data packet slice and a time identifier corresponding to the data packet slice; the data packet slice is sequentially cut from the FlexE data stream, and the time identifier is cut by the input module of the FlexE switching system to generate the data packet slice. Time or the time when the packet start character of the packet to which the packet belongs is received.
  • S402 Check whether several slice packets contain the data packet start character and end character of the same data packet. If yes, execute S403; if no, execute S404.
  • the first preset duration is less than the second preset duration described later.
  • the second preset duration may be the maximum path delay of the slice packet transmitted from the input module of the FlexE switching system to the sending module of the FlexE switching system.
  • S401 may specifically be:
  • S401a The sending module detects whether the control information of the received slice packet has an error, and if so, issues an alarm message; if not, executes S401b.
  • the detection content of the control information includes: detecting whether consecutive packet headers or continuous packet tails appear in the received several slice packets and detecting whether the length of each slice packet is equal to the preset slice length.
  • the sending module caches the received slicing packets, and records the receiving time of each slicing packet.
  • S401c The sending module parses each slice packet to obtain each data packet slice and corresponding data packet slice information.
  • the sending module performs information detection on the data packet fragments according to the information of the data packet fragments, and when the information After passing the test, S402 will be executed.
  • Information detection includes: packet length detection, packet sequence detection, and link status detection. Moreover, the information test passed means that all the test contents have passed the test.
  • the packet length detection, packet sequence detection, and link state detection will be introduced in turn below.
  • Data packet length detection is used to detect whether the data packet length is equal to the preset length. If it is, the length detection is qualified; if not, the length detection fails, and an alarm signal is sent to facilitate the system to take corresponding measures according to the alarm signal. For example, the system adds specific data to the data packet slice so that the length of the data packet slice is equal to the preset length.
  • Data packet sequence detection used to detect whether the packet sequence conforms to the standard sequence order. If it is, it indicates that there is no packet loss, so the sequence detection is qualified; if not, it indicates that there is packet loss, so the sequence detection fails and an alarm signal is issued, so that the system can take corresponding measures according to the alarm signal.
  • the packet sequence is a predetermined sequence. For example, when the preset packet sequence is 1-8 cycles, then if the packet sequence of the current packet is 2, the packet sequence of the previous packet of the packet is 1, and the The packet sequence of the next packet packet is 3, and so on, and the packet sequence of several data packets is obtained.
  • Link status detection used to detect whether the link status is normal. If it is, the link detection is qualified; if not, the link detection fails and an alarm signal is issued so that the system can take corresponding measures according to the alarm signal.
  • S401b and S401c are indefinite, and S401b may be executed first, and then S401c may be executed; or S401c may be executed first, and then S401b.
  • S402 The specific implementation of S402 is introduced as follows:
  • a certain slice packet usually includes the end of the packet of the previous packet and the start of the packet of the next packet in the adjacent two packets. At this time, since the end of the data packet and the start of the data packet belong to different data packets, the sending module needs to cut them apart and perform delay judgment processing separately.
  • recovering the data packet slices in several slice packets into FlexE data stream transmission which may be specifically as follows: first, the transmission module obtains the data packet slices of each slice packet; then, the transmission module stitches the data packet slices into continuous FlexE code stream; finally, the sending module sends a continuous FlexE code stream.
  • all the data packet pieces may be acquired first and then spliced in sequence, or a data packet piece may be acquired and spliced once until the splicing of all data packet pieces is completed.
  • the sending module may immediately restore the slice packet of the entire data packet received by it to the FlexE data stream after receiving the end of the data packet.
  • the size of the data packet is inconsistent, and the size of the data packet will affect the time that the sending module receives all the slice packets containing the data of the data packet. If the data packet is larger, the sending module needs a longer time to receive all the slices containing the data of the packet; if the data packet is smaller, the sending module needs a shorter time to receive all the slices containing the data of the data packet. Therefore, in order to reduce the time jitter generated when the sending module sends data packets of different sizes, the time for the sending module to send the entire data packet can be adjusted.
  • S403 may specifically include: when the delay is greater than or equal to the first preset duration, recovering the data packet slices in the several slice packets into FlexE data stream transmission.
  • the first preset duration is less than the second preset duration.
  • the delay is the length of time between the current time and the time identifier in the slice packet containing the start of the data packet.
  • the first preset duration may be preset according to the second preset duration, more specifically, the first preset duration may be preset to the first preset duration of 1/4 to 1 of the second preset duration / 3.
  • the first preset duration may also be obtained according to the path delay of a large number of slice packets transmitted from the input module of the FlexE switching system to the sending module of the FlexE switching system.
  • the first preset duration may be the average path delay of the slice packet transmitted from the input module of the FlexE switching system to the sending module of the FlexE switching system.
  • the first preset duration may also be a path delay in which the slice packet is transmitted from the input module of the FlexE switching system to the sending module of the FlexE switching system, and the proportion reaches a preset proportion.
  • the preset ratio is preset.
  • the preset ratio can be set according to actual needs. For example, assume that the preset ratio is set to 50% in advance.
  • the delay is greater than or equal to the first preset duration
  • the data packet slices in several slice packets are restored to the FlexE data stream transmission, there are the following two scenarios:
  • the first scenario A slice packet containing the start of the data packet and the end of the data packet is received within the first delay, where the first delay is less than the first preset duration.
  • the sending module receives a slice packet containing a packet start character and a data packet end character within the first delay
  • receives the slice packet containing the data packet end character in order to reduce the data
  • the time jitter between the packets needs to wait until the delay reaches the first preset duration before recovering the data packet slices in several slice packets into FlexE data stream for transmission. That is, when the delay of the sending module is equal to the first preset duration, the data packet slices in several slice packets are restored to the FlexE data stream for transmission.
  • a slice packet containing a data packet start character and a data packet end character is received within the second delay, wherein the second delay is greater than or equal to the first preset duration, and the second delay is less than or Equal to the second preset duration.
  • the sending module if the sending module receives a slice packet containing a packet start character and a data packet end character within the second delay, the sending module immediately divides several slices when it receives a slice packet containing the data packet end character
  • the data packet fragments in the packet are restored to the FlexE data code stream, that is, when the sending module is greater than the first preset duration, the data packet fragments in several slice packets are restored to the FlexE data code stream for transmission.
  • S403 may specifically be:
  • S403a The sending module acquires the data packet delay.
  • the packet delay can be the time between receiving the slice packet containing the end of the data packet and the time identifier in the slice packet containing the end of the data packet; or the time between receiving the slice packet containing the end of the data packet and The time between the time identifiers in the slice packet containing the start of the data packet; or the time between the time when the sending module obtains the data packet slice containing the end of the data packet and the time identifier in the slice packet containing the end of the data packet Duration; it may also be the duration between the time when the sending module obtains the packet packet containing the end of the data packet and the time identifier in the slice packet containing the start of the data packet.
  • S403b Determine whether the data packet delay is less than the first preset duration, if yes, execute S403c; if no, execute S403d.
  • the sending module receives the end of the data packet After the slicing packet of the symbol, in order to reduce the time jitter between the data packets, it is necessary to wait until the delay reaches the first preset duration before recovering the data packet slices in several slicing packets into the FlexE data stream for transmission.
  • the sending module may receive the slice packet containing the data packet start character and the data packet end character within the second delay, and may also reach the first 2.
  • the slice packet containing the end of the data packet has not been received. Therefore, it can be determined whether the data packet delay is less than the second preset duration.
  • S403c Wait until the delay reaches the first preset duration, restore the data packet slices in several slice packets to the FlexE data stream and send.
  • S403d Determine whether the data packet delay is less than the second preset duration, if yes, execute S403e; if no, execute S404.
  • the FlexE switching system transmits the first data packet of 1500 bytes. If the sending module receives a slice packet containing the start of the first data packet at 1 ⁇ s, and the sending module receives a slice packet containing the end of the first data packet at 12 ⁇ s, at this time, several slice packets can be immediately The data packet is restored into FlexE data stream and sent.
  • the sending module receives a slice packet containing the start of the second data packet at 2 ⁇ s, and the sending module receives a packet containing the end of the second data packet at 8 ⁇ s.
  • Slice package Since 8 ⁇ s is less than 10 ⁇ s, it is necessary to wait until 10 ⁇ s before recovering the data packets in several slice packets into FlexE data stream transmission.
  • the second preset duration is not less than the maximum path delay of the slice packet transmitted from the input module of the FlexE switching system to the sending module of the FlexE switching system.
  • S404 may be specifically: when the sending module receives the The slice packet of the three data packet start character, and the sending module has not received the slice packet containing the third data packet end character at 30 ⁇ s. However, because the delay has reached 30 ⁇ s, it is necessary to restore the data packets in several slice packets into FlexE data stream transmission.
  • the slice packet received by the sending module contains the data packet start character and the data packet end character of the same data packet, it indicates that the sending module receives the complete data packet, and immediately sends out the data packet fragments. Or, after the delay is less than the maximum path delay of the slice packet, the data packet is sent out, which will not interrupt the flow of the data packet, but also reduce the data transmission delay and improve the transmission efficiency of the FlexE data stream.
  • the slice packet received by the sending module contains a data packet start character but not a data packet end character, it means that the sending module has not received the complete data packet. At least the maximum path delay of the slicing packet will be sent out after the packet is sent out, and there will be no interruption in the data packet.
  • the data transmission method provided by the present application achieves the effects of reducing the data transmission delay of the FlexE switching system and improving the transmission efficiency of the FlexE data code stream, while avoiding the interruption of the internal data packets.
  • the data transmission method provided by the embodiment of the present application can significantly shorten the transmission delay of small data packets, and can significantly improve the transmission efficiency of data packets.
  • an embodiment of the present application further provides a data transmission module, which will be explained and explained below with reference to the drawings.
  • FIG. 5 is a schematic structural diagram of a data sending module provided by an embodiment of the present application.
  • the receiving unit 501 is used to receive several slice packets
  • the checking unit 502 is used to check whether several slice packets contain a data packet start character and an end character;
  • the first sending unit 503 is configured to restore the data packet slices in the plurality of slice packets to the FlexE data stream when the slice packet contains the data packet start and end characters;
  • the second sending unit 504 is configured to restore the data packet fragments in the plurality of slice packets to the FlexE data stream when the delay reaches the second preset duration when the number of slice packets does not contain the end of the data packet .
  • the first sending unit 503 specifically includes:
  • the first preset duration is less than the second preset duration.
  • the first sending unit 503 may specifically include:
  • the first sending subunit is configured to, when a slice packet containing a data packet start character and a data packet end character is received within the first delay time, wait for the delay time to reach the first preset duration, The data packet fragments are restored to the FlexE data stream and sent; where the first delay is less than the first preset duration;
  • the second sending subunit is used to recover the data packet slices of the several slice packets during the second delay when the slice packet containing the data packet start character and the data packet end character is received within the second delay time Into a FlexE data stream; where the second delay is greater than or equal to the first preset duration, and the second delay is less than or equal to the second preset duration.
  • the first preset duration is 1/4 to 1/3 of the second preset duration, and may also be a slice packet
  • the average path delay from the input module of the FlexE switching system to the sending module of the FlexE switching system can also be the path delay of the slice packet from the input module of the FlexE switching system to the sending module of the FlexE switching system, accounting for Path delay at a preset ratio.
  • the length of each data packet is the same or different.
  • the slice packet received by the sending module contains the data packet start character and the data packet end character of the same data packet, it indicates that the sending module receives the complete data packet, and immediately sends out the data packet slice, or the delay is less than the slice packet After the maximum path delay, the data packet is sent out, which will not interrupt the flow of the data packet, but also reduce the data transmission delay and improve the transmission efficiency of the FlexE data stream.
  • the slice packet received by the sending module contains a data packet start character but not a data packet end character, it means that the sending module has not received the complete data packet. At least the maximum path delay of the slicing packet will be sent out after the packet is sent out, and there will be no interruption in the data packet.
  • the data transmission method provided by the present application achieves the effects of reducing the data transmission delay of the FlexE switching system and improving the transmission efficiency of the FlexE data code stream, while avoiding the interruption of the internal data packets.
  • an embodiment of the present application further provides a FlexE switching system, which will be explained and explained below with reference to the drawings.
  • FIG. 6 is a schematic structural diagram of a FlexE switching system provided by an embodiment of the present application.
  • the FlexE switching system provided by the embodiment of the present application includes an input module 601, a switching module 602, and a sending module 603;
  • the input module 601 is used to sequentially divide the received FlexE data code stream into several data packet slices, and insert a time identifier corresponding to the data packet slice into each data packet slice, thereby generating several slice packets;
  • the exchange module 602 is used to exchange several slice packets from the input module 601 to the sending module 603;
  • the sending module 603 is any data sending module provided in the above embodiment.
  • the working process of the FlexE switching system can be specifically:
  • the input module 601 receives the FlexE data code stream, and then divides the received data code stream into several data packet slices, and inserts a time identifier into the data packet slices, thereby obtaining several slice packets, so that the input module 601 can send the slice packets To exchange module 602.
  • the exchange module 602 exchanges the received slice packet and sends it to the sending module 603.
  • the sending module 603 caches the received slice packets, and determines whether the cached slice packets include a data packet start character and an end character. If yes, when the current time or the delay reaches the second preset time length, the data packets in the plurality of slice packets are restored to the FlexE data stream for transmission. If not, when the delay reaches the second preset duration, the data packet fragments in the plurality of slice packets are restored to the FlexE data code stream for transmission.
  • the FlexE switching system is a frame-type structure, where the frame-type structure includes a line card and a network board, an input module 601 and a sending module 603 are provided on the line card, and a switching module 602 is provided on the network board.
  • FIG. 6 For ease of explanation and explanation, the frame structure shown in FIG. 6 is taken as an example for description below.
  • FIG. 7 is a frame structure provided by an embodiment of the present application.
  • the frame structure of FIG. 7 includes a first line card 701, a second line card 702, and a network board 703, wherein the first line card 701 is provided with an input module 601, and the second line card 702 is provided with a sending module 603 and a network board 603 is provided with an exchange module 602.
  • the FlexE switching system has an SOC box structure.
  • the SOC box structure includes an SOC chip, and an input module 501, an exchange module 502, and a sending module 503 are provided on the SOC chip.
  • SOC box structure shown in FIG. 8 will be used as an example for description below.
  • FIG. 8 is a SOC box structure provided by an embodiment of the present application.
  • the SOC box structure of FIG. 8 includes an SOC chip 801, wherein the SOC chip 801 is provided with an input module 801a, an exchange module 801b, and a transmission module 801c.
  • the input module 801a, the exchange module 801b, and the transmission module 801c are respectively provided on different SOC chips.
  • the input module 801a, the exchange module 801b, and the sending module 801c respectively perform the functions of the input module 601, the exchange module 602, and the sending module 603.
  • SOC box structure shown in FIG. 8 will be used as an example for description below.
  • FIG. 9 is another SOC box structure provided by an embodiment of the present application.
  • the SOC box structure of FIG. 9 includes a first SOC chip 901, a second SOC chip 902, and a third SOC chip 903, wherein the first SOC chip 901 is provided with an input module 601, and the second SOC chip 902 is provided with an exchange module A transmission module 603 is provided on 602 and the third SOC chip 903.
  • the FlexE switching system includes an input module 601, a switching module 602, and a sending module 603.
  • the slice packet received by the sending module 603 contains a data packet start character and a data packet end character
  • the slice packet received by the sending module 603 does not contain a data packet end character, it indicates that the sending module 603 has not received the complete data packet. At this time, the data packet is delayed after reaching the maximum path delay of the slice packet When the chip is sent out, there will be no interruption in the data packet.
  • the FlexE switching system provided in this application, it is not necessary for all data packet fragments to be delayed to a certain length of time before being sent out.
  • the data packet fragments belonging to the small data packet are sent out after receiving the complete data packet, and the data packet fragments belonging to the large data packet need to be sent out after being delayed to a certain length of time. Therefore, the data transmission method provided by the present application achieves the effects of reducing the data transmission delay of the FlexE switching system and improving the transmission efficiency of the FlexE data code stream, while avoiding the interruption of the internal data packets.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

本申请公开了一种数据发送方法、装置及FlexE交换系统,当发送模块接收到的切片包中含有同一数据包的数据包开始符和数据包结束符,表明发送模块接收到完整数据包,立即将数据包片发送出去,或者在延时第一预设时长后将数据包片发送出去,既不会出现数据包内部的断流,也会降低数据发送延时,提高传输效率。当发送模块接收到的切片包中含有一个数据包的数据包开始符而不含有该数据包的数据包结束符时,表明发送模块还未收到完整数据包,在延时到比第一预设时长大的第二预设时长之后再将数据包片发送出去。因此,本申请提供的数据发送方法通过针对不同大小的数据包设置不同的延时时长,降低数据发送延时,提高FlexE数据码流的传输效率。

Description

一种数据发送方法、装置及FlexE交换系统 技术领域
本申请涉及通信技术领域,尤其涉及一种数据发送方法、装置及FlexE交换系统。
背景技术
灵活以太网技术(Flex Ethernet,简称FlexE)是承载网实现业务隔离承载和网络分片的一种接口技术,近两年发展迅速,被各大标准组织广泛接纳。
FlexE标准最早起源于光互联网论坛(Optical internet forum,OIF)接口物理层标准,因其具有带宽灵活可调、数据隔离、完美契合5G业务等特点,受到全球主流运营商、供应商的认可。
FlexE技术通过对以太网轻量级增强,在以太网MAC(Media Access Control,介质访问控制)层/PHY(Port Physical Layer,端口物理层)层之间的中间层增加FlexE Shim层,Flex Shim层基于时分复用分发机制,将多个Client接口的数据按照时隙方式调度并分发至多个不同的子通道。以100GE管道为例,通过FlexE Shim可以划分为20个5G速率的子通道,每个Client侧接口可指定使用某一个或多个子通道,实现业务隔离。
为了实现其超低延时、网络分片、超大容量等优良属性,通过基于FlexE业务传输的分组交换机制,创建了一种灵活包长的信元交换机制,数据包在经过信元交换矩阵后,再还原成FlexE Client 66B码流的内容和速率。该机制能增加数据流的保护和管理能力,能更灵活地扩充设备容量,并且使超低业务延时成为可能。
为了实现信元交换,现有的一种解决方案是将FlexE Client 66B数据码流分割成若干数据包片,再根据数据包片生成切片包并发送,然后设定接收的所有切片包都在延时一个固定时长后再恢复成数据码流并发送。该方法能够保证切片包之间不发生断流,但是其设定的固定时长一般是依据经验得出的切片包传输的最长路径延时。如此,导致基于FlexE交换系统的数据发送延时较长,导致FlexE数据码流的传输效率较低。
发明内容
有鉴于此,本申请提供了一种数据发送方法、装置及FlexE交换系统,以降低基于FlexE交换系统的数据发送延时,提高FlexE数据码流的传输效率。
为了解决上述技术问题,本申请采用了如下技术方案:
本申请第一方面提供了一种数据发送方法,应用于FlexE交换系统的发送模块,所述方法包括:接收若干切片包;检查所述若干切片包中是否含有数据包开始符和结束符;当所述若干切片包中含有同一数据包的数据包开始符和结束符时,则立即将所述若干切片包中的数据包片恢复成FlexE数据码流发送,或者,在延时大于或等于第一预设时长时,将所述若干切片包中的数据包片恢复成FlexE数据码流发送;当所述若干切片包中含有一个数据包的数据包开始符而不含有该数据包的数据包结束符时,则在延时达到第二预设时长时,将所述若干切片包中的数据包片包恢复成FlexE数据码流发送;所述第一预设时长小于所述第二预设时长。
在本申请第一方面提供的数据发送方法中,当发送模块接收到的切片包中含有同一数据包的数据包开始符和数据包结束符,则表明发送模块接收到了完整数据包,则立即将数据包片发送出去,或者在延时第一预设时长之后将数据包片发送出去,既不会出现数据包内部的断流,也会降低数据发送延时,提高FlexE数据码流的传输效率。当发送模块接收到的切片包中含有一个数据包的数据包开始符而不含有该数据包的数据包结束符时,则表明发送模块还未收到完整数据包,此时,在延时到比第一预设时长大的第二预设时长之后再将数据包片发送出去。因此,利用本申请提供的数据发送方法,并不需要所有数据包片均要延时到统一的较长延时时长之后再发送出去,而是,针对不同大小的数据包设置不同的延时时长,因此,本申请提供的数据发送方法达到了降低FlexE交换系统的数据发送延时,提高FlexE数据码流的传输效率的效果。
在一种可能的实现方式中,所述在延时大于或等于第一预设时长时,将所述若干切片包中的数据包片恢复成FlexE数据码流发送,具体包括:当在第一延时内接收到包含有同一数据包的数据包开始符和数据包结束符的切片包时,则等到延时达到第一预设时长时,将所述若干切片包中的数据包片恢复成FlexE数据码流发送;其中,所述第一延时小于所述第一预设时长;当在第二延时内接收到包含有同一数据包的数据包开始符和数据包结束符的切片包时,则在第二延时时将所述若干切片包中的数据包片恢复成FlexE数据码流发送;其中,所述第二延时大于或等于所述第一预设时长,且所述第二延时小于或等于所述第二预设时长。该可能的实现方式能够明显缩短小数据包的传输延时,能够明显提高数据包的传输效率。
在一种可能的实现方式中,所述第一预设时长为所述第二预设时长的1/4~1/3。
在一种可能的实现方式中,所述第一预设时长为切片包从FlexE交换系统的输入模块传输至FlexE交换系统的发送模块的平均路径时延。
在一种可能的实现方式中,所述第一预设时长为切片包从FlexE交换系统的输入模块传输至FlexE交换系统的发送模块的路径时延中,占比达到预设比例的路径时延。
在一种可能的实现方式中,各个数据包片的长度相同或不同。
在一种可能的实现方式中,所述第二预设时长不小于切片包从FlexE交换系统的输入模块传输至FlexE交换系统的发送模块的最大路径时延;所述第一预设时长小于所述第二预设时长。该可能的实现方式能够避免出现数据包内部的断流。
本申请第二方面提供了一种数据发送模块,包括:接收单元,用于接收若干切片包;检查单元,用于检查所述若干切片包中是否含有数据包开始符和结束符;第一发送单元,用于当所述若干切片包中含有同一数据包的数据包开始符和结束符时,则立即将所述若干切片包中的数据包片恢复成FlexE数据码流发送,或者,在延时大于或等于第一预设时长时,将所述若干切片包中的数据包片恢复成FlexE数据码流发送;第二发送单元,用于当所述若干切片包中含有一个数据包的数据包开始符而不含有该数据包的数据包结束符时,则在延时达到第二预设时长时,将所述若干切片包中的数据包片包恢复成FlexE数据码流发送;所述第一预设时长小于所述第二预设时长。
基于本申请的第二方面提供的数据发送模块,当发送模块接收到的切片包中含有同一数据包的数据包开始符和数据包结束符,则表明发送模块接收到了完整数据包,则立即将 数据包片发送出去,或者在延时小于切片包的最大路径时延之后将数据包片发送出去,既不会出现数据包内部的断流,也会降低数据发送延时,提高FlexE数据码流的传输效率。当发送模块接收到的切片包中含有一个数据包的数据包开始符而不含有该数据包的数据包结束符时,则表明发送模块还未收到完整数据包,此时,在延时到至少切片包的最大路径时延之后再将数据包片发送出去,也不会出现数据包内部的断流。因此,利用本申请提供的数据发送模块,并不需要所有数据包片均要延时到切片包的最大路径时延之后再发送出去。因此,本申请提供的数据发送方法达到了在避免数据包内部的断流的前提下,降低FlexE交换系统的数据发送延时,提高FlexE数据码流的传输效率的效果。
在一种可能的实现方式中,所述第一发送单元,具体包括:在延时大于或等于第一预设时长时,将所述若干切片包中的数据包片恢复成FlexE数据码流发送;所述第一预设时长小于所述第二预设时长。
本申请第三方面提供了一种FlexE交换系统,包括:输入模块、交换模块和发送模块;所述输入模块用于将接收到的FlexE数据码流依次分割成若干数据包片,并在每个所述数据包片中插入该数据包片对应的时间标识,从而生成若干切片包;所述交换模块用于将来自所述输入模块的所述若干切片包交换到所述发送模块;所述发送模块为上述第二方面任一可能的实现方式所述的数据发送模块。
基于本申请的第三方面提供的FlexE交换系统,当发送模块接收到的切片包中含有数据包开始符和数据包结束符,则表明发送模块接收到了完整数据包,则此时将数据包片发送出去,既不会出现数据包内部的断流,也会降低数据发送延时,提高FlexE数据码流的传输效率。当发送模块接收到的切片包中不含有数据包结束符时,则表明发送模块还未收到完整数据包,此时,在延时到切片包的最大路径时延之后再将数据包片发送出去,也不会出现数据包内部的断流。因此,利用本申请提供的FlexE交换系统,并不需要所有数据包片均要延时到一定时长之后再发送出去。其中,针对属于小数据包的数据包片则在收到完整数据包之后即发送出去,针对属于大数据包的数据包片则需要在延时到一定时长后再发送出去。因此,本申请提供的数据发送方法达到了在避免数据包内部的断流的前提下,降低FlexE交换系统的数据发送延时,提高FlexE数据码流的传输效率的效果。
在一种可能的实现方式中,所述FlexE交换系统为机框式结构,其中,所述机框式结构包括线卡和网板,所述线卡上设置有所述输入模块和所述发送模块,所述网板上设置有所述交换模块。
在一种可能的实现方式中,所述FlexE交换系统为SOC盒式结构,所述SOC盒式结构包括SOC芯片,所述SOC芯片上设置有所述输入模块、所述交换模块和所述发送模块。
在一种可能的实现方式中,所述SOC芯片为多个,所述输入模块、所述交换模块和所述发送模块分别设置在不同的SOC芯片上。
相较于现有技术,本申请具有以下有益效果:
基于本申请提供的数据发送方法,当发送模块接收到的切片包中含有同一数据包的数据包开始符和数据包结束符,则表明发送模块接收到了完整数据包,则立即将数据包片发送出去,或者在延时第一预设时长之后将数据包片发送出去,既不会出现数据包内部的断流,也会降低数据发送延时,提高FlexE数据码流的传输效率。当发送模块接收到的切片 包中含有一个数据包的数据包开始符而不含有该数据包的数据包结束符时,则表明发送模块还未收到完整数据包,此时,在延时到比第一预设时长大的第二预设时长之后再将数据包片发送出去。
因此,利用本申请提供的数据发送方法,并不需要所有数据包片均要延时到统一的较长延时时长之后再发送出去,而是,针对不同大小的数据包设置不同的延时时长,因此,本申请提供的数据发送方法达到了降低FlexE交换系统的数据发送延时,提高FlexE数据码流的传输效率的效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为FlexE技术应用于以太网的结构示意图;
图2为FlexE交换系统的结构示意图;
图3为本申请实施例提供的输入模块生成切片包的方法流程图;
图4为本申请实施例提供的一种数据发送方法的流程图;
图5为本申请实施例提供的数据发送模块的结构示意图;
图6为本申请实施例提供的FlexE交换系统的结构示意图;
图7为本申请实施例提供的一种机框式结构;
图8为本申请实施例提供的一种SOC盒式结构;
图9为本申请实施例提供的另外一种SOC盒式结构。
具体实施方式
随着网络通信的发展,以太网技术也得到进一步发展。尤其,光互联网论坛提出了支持多种以太网MAC层速率的FlexE技术。其中,FlexE技术可以应用于开放式通信系统互联参考模型(Open System Interconnection,OSI),而且,FlexE技术具体实现可以是在OSI模型的物理层和数据链路层之间增加FlexE Shim层。
为了便于理解和解释,下面将结合图1详细介绍增加FlexE Shim层的OSI模型。
参见图1,该图为FlexE技术应用于以太网的结构示意图。
图1的以太网结构,包括:物理层101、FlexE Shim层102、数据链路层103、网络层104、传输层105、会话层106、表示层107和应用层108。其中,FlexE Shim层102介于物理层101和数据链路层103之间。
其中,物理层101,用于将数据转换为可通过物理介质传送的电子信号。
需要说明的是,在实际应用中,通常使用端口物理层(Port Physical Layer,PHY)作为操作OSI模型物理层101的设备,而且PHY将数据链路层102的设备连接到物理媒介(例如,光纤或铜缆线)。例如,PHY将介质访问控制(Media Access Control,MAC)连接到物理媒介。
FlexE Shim层102,用于通过信元交换,实现灵活快速的传输物理层101和数据链路层103之间的通信数据。
需要说明的是,为了提高通信的灵活性,Flex Shim层102是基于时分复用分发机制。在传输数据流的过程中,Flex Shim层102可以将多个Client接口的数据按照时隙方式调度并分发至多个不同的子通道。以100GE管道为例,通过FlexE Shim层102可以划分为20个5G速率的子通道,每个Client侧接口可指定使用某一个或多个子通道,实现业务隔离。
数据链路层103,用于决定访问网络介质的方式。在该层将进行数据分帧,并处理流控制。而且,该层还将指定拓扑结构,并提供硬件寻址。
网络层104,用于寻址和路由选择。
传输层105,用于提供一个主机终端到另一侧主机终端的可靠连接。
会话层106,用于建立会话、维护会话和管理会话。
表示层107,用于协商数据交换格式。例如,协商采用何种数据格式进行数据处理,或协商是否对数据进行加密等。
应用层108,用于提供用户的应用程序和网络之间的接口,以便于不同应用程序间进行通信。
然而,为了实现FlexE shim层102的信元交换,现有的一种解决方案是将FlexE Client66B数据码流分割成若干数据包片,再根据数据包片生成切片包并发送,然后设定接收的所有切片包都在延时一个固定时长后再恢复成数据码流并发送。通常情况下,为了防止数据包内部的断流,进而出现丢包现象,上述设定的固定时长通常不小于切片包传输的最长路径延时,该切片包传输的最长路径延时可以依据经验总结得出。
虽然,上述方法能够保证切片包之间不发生断流,不出现丢包现象。但是,该方法还存在如下的问题:
所有切片包均需在延时到固定时长之后再发送出去,且该固定时长至少为切片包传输的最长路径延时。然而,并不是所有切片包的传输路径延时均需要这么长时间,而且,据统计,只有很少比例(例如1%)的切片包的传输才会需要如此长的延时。因而,上述设定所有切片包均需在延时一定时长后再发送出去的方法,针对大部分切片包是没有必要的,如此导致上述基于FlexE交换系统的数据发送方法的发送延时较长,进而导致FlexE数据码流的传输效率较低。
为了解决上述方法存在的问题,发明人经过研究发现:
FlexE Shim层201的承载业务是协议[802.3]数据包。其中,数据包是由数据包开始符、业务数据和数据包结束符组成,而且,上述的数据包开始符、业务数据、数据包结束符分别对应协议[802.3]图82-5中的S码块,D码块和T码块。
因而,为了提高FlexE数据码流的传输效率,可以通过检测是否接收到包含同一数据包的数据包开始符的切片包和包含数据包结束符的切片包,确定是否已接收到包含该数据包所有数据的切片包。如果接收到包含一个数据包的所有数据的切片包,则可以立即或者在延时小于切片包的最大路径时延时,将包含该数据包数据的所有切片包恢复成数据码流并将该完整的数据包的数据码流进行发送,不必延时到切片包的最大路径时延时之后再进行发送。如此,既能够保证切片包之间不发生断流,还可以提高小数据包的发送效率,进 而提高FlexE数据码流的传输效率。
基于上述研究发现,本申请提供了一种应用于FlexE交换系统的发送模块的数据发送方法,该方法包括:FlexE交换系统的发送模块在接收若干个切片包之后,检查该若干个切片包中是否含有数据包开始符和结束符,若其中的两个切片包中含有同一数据包的数据包开始符和数据包结束符,则立即或在延时大于或等于第一预设时长时,将所述若干切片包中的数据包片恢复成FlexE数据码流发送。若其中的切片包中含有一个数据包的数据包开始符而不含有该数据包的数据包结束符,则延时到第二预设时长后再将该若干切片包中的数据包片恢复成FlexE数据码流发送出去;
所述第一预设时长小于所述第二预设时长。
在该方法中,当发送模块接收到的切片包中含有同一数据包的数据包开始符和数据包结束符,则表明发送模块接收到了完整数据包,则立即或在延时第一预设时长后,将数据包片发送出去,既不会出现数据包内部的断流,也会降低数据发送延时,提高FlexE数据码流的传输效率。当发送模块接收到的切片包中含有一个数据包的数据包开始符而不含有该数据包的数据包结束符时,则表明发送模块还未收到完整数据包,此时,在延时到至少切片包的最大路径时延之后再将数据包片发送出去,也不会出现数据包内部的断流。
因此,利用本申请提供的数据发送方法,并不需要所有数据包片均要延时到切片包的最大路径时延之后再发送出去。其中,针对属于小数据包的数据包片则在收到完整数据包之后,立即或者延时小于切片包的最大路径时延之后发送出去,针对属于大数据包的数据包片则需要在延时到切片包的最大路径时延后再发送出去,从而达到在避免数据包内部的断流的前提下,降低FlexE交换系统的数据发送延时,提高FlexE数据码流的传输效率的效果。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
下面首先介绍一下实现数据发送的FlexE交换系统。如图2所示,该FlexE交换系统包括:
输入模块201、交换模块202和发送模块203;
输入模块201,用于将接收到的FlexE数据码流依次分割成若干数据包片,并在每个数据包片中插入该数据包片对应的时间标识,从而生成若干切片包并将若干切片包发送至交换模块202。
交换模块202,用于将来自输入模块201的若干切片包交换到发送模块203。
发送模块203,用于将接收到的切片包恢复成数据码流并将数据码流进行发送。
为了便于理解和解释,下面将结合图3详细介绍输入模块201生成切片包的过程。
参见图3,该图为本申请实施例提供的输入模块生成切片包的方法流程图。
本申请提供的切片包的生成方法,可以具体包括:
S301:输入模块201接收FlexE数据码流,并将FlexE数据码流进行分割,得到数据包片。
作为示例,S301可以具体为:
S301a:输入模块201持续缓存串行的FlexE数据码流,当输入模块201缓存的FlexE数据码流的字节数累积到预设长度后,FlexE交换系统将生成开始脉冲控制信号和结束脉冲控制信号。其中,预设长度是预先设定的数据包片的长度。
S301b:当输入模块201接收到开始脉冲控制信号后,将开始从已缓存的FlexE数据码流中逐个字节读取数据码流,而且,当输入模块201接收到结束脉冲控制信号后,则停止读取数据码流。此时,输入模块201在开始脉冲控制信号与结束脉冲控制信号之间读取的数据码流,构成一个数据包片。
本申请实施例提供的数据包片的长度不限定为固定长度,因而,各个数据包片的长度可以相同也可以不同。进而,作为另一种实施方式,各个数据包片的长度不同,可以通过随机切割数据码流而获得若干数据包片,从而进一步增加了信息传输的灵活性。
S302:输入模块201获取时间标识。
时间标识可以是FlexE交换系统的输入模块201切割生成该数据包片的时间,还可以是输入模块201接收到该数据包片所属数据包的数据包开始符的时间。
为了提高FlexE数据码流的传输效率和传输准确率,输入模块201还可以获取数据包片的有效字段、数据包片序列、链路状态等信息。
由于时间标识、数据包片的有效字段、数据包片序列、链路状态等信息均是标记数据包片身份的相关信息,因而,为了便于快速获取标记数据包片身份的相关信息,可以将时间标识、数据包片的有效字段、数据包片序列、链路状态等信息集中放于数据包片信息中。
作为一种实施方式,当将时间标识、数据包片的有效字段、数据包片序列、链路状态等信息集中放于数据包片信息时,则S302可以具体为:输入模块201获取数据包片信息,其中,数据包片信息包括时间标识、数据包片的有效字段、数据包片序列、链路状态等信息。
作为另一种实施方式,为了精确的获取时间标识,在输入模块201接收FlexE数据码流之前,还需要先调整输入模块201的时间和发送模块203的时间,使得输入模块201的时间与发送模块203的时间达到同步,从而,提高了时间标识的准确性和可信性。
S303:输入模块201将每个数据包片对应的时间标识插入数据包片,得到切片包。
作为一种实施方式,S303可以具体为:当输入模块201已获取第一数据包片和第一数据包片的时间标识时,输入模块201可以将第一数据包片的时间标识插入到第一数据包片,从而得到包含第一数据包片的切片包。
作为另一种实施方式,如果输入模块201已获取数据包片的时间标识、数据包片的有效字段、数据包片序列、链路状态等信息时,则S303可以具体为:输入模块201将时间标识、数据包片的有效字段、数据包片序列、链路状态等信息集中放于数据包片信息;然后,输入模块201将每个数据包片对应的数据包片信息插入数据包片,得到切片包。
需要说明的是,切片包生成的过程可以是切割一个数据包片就立刻根据该数据包片生成切片包,然后再切割另一个数据包片并生成相应的切片包,如此重复执行,直到将输入模块201接收的数据码流均生成切片包结束。切片包生成的过程也可以是先将所有数据码流切割成若干数据包片,然后再生成相应的切片包。
以上是输入模块201的相关内容。
为了提高FlexE数据码流的传输效率,降低数据延时,本申请实施例针对FlexE交换系统的发送模块203提供了相应的数据发送方法。
下面将介绍本申请实施例提供的应用于FlexE交换系统的发送模块203的数据发送方法。
参见图4,该图为本申请实施例提供的一种数据发送方法的流程图。
本申请实施例提供的数据发送方法,包括:
S401:接收若干切片包。
需要说明,在本申请实施例中,在接收到切片包之后,可以缓存该切片包。
此外,每个切片包中可以包括数据包片和数据包片对应的时间标识;数据包片由FlexE数据码流依次切割而成,时间标识为FlexE交换系统的输入模块切割生成该数据包片的时间或者接收到该数据包片所属数据包的数据包开始符的时间。
S402:检查若干切片包中是否含有同一数据包的数据包开始符和结束符。若是,则执行S403;若否,则执行S404。
S403:立即或者在延时大于或等于第一预设时长时,将若干切片包中的数据包片恢复成FlexE数据码流发送。
需要说明,第一预设时长小于后续所述的第二预设时长。
S404:在延时达到第二预设时长时,将若干切片包中的数据包片包恢复成FlexE数据码流发送。
其中,为了避免数据包内部之间发生断流,第二预设时长可以为切片包从FlexE交换系统的输入模块传输至FlexE交换系统的发送模块的最大路径时延。
为了对该方法中每个步骤进行更加清楚、完整的阐述,下面对该方法的每个步骤的具体实现方式进行一一说明。
S401的具体实施方式介绍如下:
作为一种实施方式,S401可以具体为:
S401a:发送模块检测接收到的切片包的控制信息是否发生错误,若是,则发出报警信息;若否,则执行S401b。
控制信息的检测内容包括:检测接收到的若干切片包是否出现连续包头或连续包尾以及检测每个切片包的长度是否等于预设切片长度。其中,预设切片长度可以是预先设定的,而且,预设切片长度=数据包片长度+数据包片信息长度。
S401b:发送模块缓存接收到的切片包,并记录每个切片包的接收时间。
S401c:发送模块解析每个切片包,从而获得每个数据包片以及对应的数据包片信息。
作为另一种实施方式,为了保证发送模块发送的数据码流的完整性以及准确性,在S401c后还可以包括,发送模块根据数据包片信息,对数据包片进行信息检测,而且,当信息检测合格后将执行S402。
信息检测包括:数据包片长度检测、数据包片序列检测和链路状态检测等。而且,信息检测合格是指所有检测内容均达到合格。
下面将依次介绍数据包片长度检测、数据包片序列检测和链路状态检测。
数据包片长度检测,用于检测数据包片长度是否等于预设长度,若是,则长度检测合格;若否,则长度检测失败,发送报警信号,以便于系统根据报警信号采取相应的措施。例如,系统向数据包片添加特定的数据,使得数据包片的长度与预设长度相等。
数据包片序列检测,用于检测包片序列是否符合标准序列顺序。若是,则表明不存在丢包现象,因而序列检测合格;若否,则表明存在丢包现象,因而序列检测失败,发出报警信号,以便于系统根据报警信号采取相应的措施。
其中,包片序列是预先设定的序列。例如,当预设设定包片序列为1~8循环时,则如果当前数据包片的包片序列是2,则该数据包片的前一个数据包片的包片序列是1,且该数据包片的后一个数据包片的包片序列是3,依次类推,得到若干数据包片的包片序列。
链路状态检测,用于检测链路状态是否正常。若是,则链路检测合格;若否,则链路检测失败,发出报警信号,以便于系统根据报警信号采取相应的措施。
需要说明的是,S401b与S401c的执行顺序不定,可以先执行S401b,再执行S401c;也可以先执行S401c,再执行S401b。
以上是S401的具体实施方式。
S402的具体实施方式介绍如下:
如果在发送模块接收的若干切片包中,包括同一数据包的数据包开始符和数据包结束符,则表示这些切片包中已经包含该数据包的所有数据,表明发送模块已经接收到完整数据包,此时,若发送模块发送这些切片包,将不存在数据包断流的问题。因而,可以执行S403。
如果在发送模块接收的若干切片包中,缺少一个数据包的数据包开始符和数据包结束符中的至少一个时,则表示这些切片包中包含该数据包的部分数据,表明发送模块未接收到完整数据包,此时,若发送模块发送这些切片包,将可能出现数据包断流的问题。因而,为了尽量避免数据包断流的问题,可以执行S404。
需要说明,当数据包片的长度为固定长度时,某一个切片包中通常会包括相邻两个数据包中的上一个数据包的数据包结束符和下一个数据包的数据包开始符。此时,因该数据包结束符和数据包开始符分属于不同的数据包,所以,发送模块需要切割开它们,分别做延时判断处理。
以上是S402的具体实施方式。下面介绍S403的具体实现方式。
S403的具体实施方式介绍如下:
作为示例,将若干切片包中的数据包片恢复成FlexE数据码流发送,可以具体为:首先,发送模块获取每个切片包的数据包片;然后,发送模块将数据包片拼接成连续的FlexE码流;最后,发送模块将连续的FlexE码流发送。
需要说明的是,上述示例可以是先获取所有数据包片再依次进行拼接,也可以是获取一个数据包片,进行一次拼接直到完成所有数据包片的拼接。
作为S403的一种实现方式,发送模块可以在接收到数据包结束符之后,立即将该其接收到的整个数据包的切片包恢复成FlexE数据码流发送出去。
需要说明的是,由于数据包的大小不一致,而且数据包的大小将影响发送模块接收完 包含该数据包数据的所有切片包的时间。若数据包越大,则发送模块需要较长的时间接收完包含该数据包数据的所有切片;若数据包越小,则发送模块需要较短的时间接收完包含该数据包数据的所有切片。因而,为了减小发送模块发送不同大小的数据包时产生的时间抖动,可以调整发送模块发送整个数据包的时间。
因此,作为S403的另一种实施方式,S403可以具体包括:在延时大于或等于第一预设时长时,将若干切片包中的数据包片恢复成FlexE数据码流发送。其中,第一预设时长小于第二预设时长。
其中,延时为当前时间与包含有数据包开始符的切片包内的时间标识之间的时长。
另外,第一预设时长的获取方式较多。
作为一示例,第一预设时长可以根据第二预设时长预先设定,更具体地,第一预设时长可以预先设定第一预设时长为第二预设时长的1/4~1/3。
作为另一示例,第一预设时长还可以根据大量切片包从FlexE交换系统的输入模块传输至FlexE交换系统的发送模块的路径时延获取。
例如,作为一具体示例,第一预设时长第一预设时长可以是切片包从FlexE交换系统的输入模块传输至FlexE交换系统的发送模块的平均路径时延。
作为另一具体示例,第一预设时长也可以是切片包从FlexE交换系统的输入模块传输至FlexE交换系统的发送模块的路径时延中,占比达到预设比例的路径时延。预设比例是预先设定的。预设比例可以根据实际需要进行设定。例如,假设预先设定预设比例为50%。
举例说明:设定FlexE交换系统的输入模块将100个切片包分别传输至发送模块,其中,70个切片包经过第一路径时延到达发送模块,10个切片包经过第二路径时延到达发送模块,20个切片包经过第三路径时延到达发送模块,此时,第一路径时延所占的比例为70%,第二路径时延所占的比例为10%,第三路径时延所占的比例为20%。由于70%大于预设比例,因而,可以将第一路径时延作为第一预设时长。
在上述在延时大于或等于第一预设时长时,将若干切片包中的数据包片恢复成FlexE数据码流发送的实施方式中,存在以下两种情景:
第一种情景:在第一延时内接收到包含有数据包开始符和数据包结束符的切片包,其中,第一延时小于第一预设时长。
作为示例,如果发送模块在第一延时内接收到包含有数据包开始符和数据包结束符的切片包时,则发送模块在接收到包含数据包结束符的切片包之后,为了减小数据包之间的时间抖动,需要等到延时达到第一预设时长时,才能将若干切片包中的数据包片恢复成FlexE数据码流发送。即,发送模块延时等于第一预设时长时,将若干切片包中的数据包片恢复成FlexE数据码流发送。
第二种情景:在第二延时内接收到包含有数据包开始符和数据包结束符的切片包,其中,第二延时大于或等于第一预设时长,且第二延时小于或等于第二预设时长。
作为示例,如果发送模块在第二延时内接收到包含有数据包开始符和数据包结束符的切片包时,则发送模块在接收到包含数据包结束符的切片包时,立即将若干切片包中的数据包片恢复成FlexE数据码流发送,即发送模块在大于第一预设时长时,将若干切片包中的数据包片恢复成FlexE数据码流发送。
为了便于理解和解释,下面将介绍上述两种情景下的具体实施方式。
作为一示例,S403的可以具体为:
S403a:发送模块获取数据包延时。
数据包延时可以是接收包含数据包结束符的切片包的时间与包含数据包结束符的切片包内的时间标识之间的时长;也可以是接收包含数据包结束符的切片包的时间与包含数据包开始符的切片包内的时间标识之间的时长;还可以是发送模块获得包含数据包结束符的数据包片的时间与包含数据包结束符的切片包内的时间标识之间的时长;也可以是发送模块获得包含数据包结束符的数据包片的时间与包含数据包开始符的切片包内的时间标识之间的时长。
S403b:判断数据包延时是否小于第一预设时长,若是,则执行S403c;若否,则执行S403d。
如果数据包延时小于第一预设时长,则表明发送模块在第一延时内接收到包含有数据包开始符和数据包结束符的切片包,因而,发送模块在接收到包含数据包结束符的切片包之后,为了减小数据包之间的时间抖动,需要等到延时达到第一预设时长时,才能将若干切片包中的数据包片恢复成FlexE数据码流发送。
如果数据包延时大于等于第一预设时长,则表明发送模块可能将在第二延时内接收到包含有数据包开始符和数据包结束符的切片包,还可能将在延时达到第二预设时长时仍未接收到包含数据包结束符的切片包。因而,则可以先判断数据包延时是否小于第二预设时长。
S403c:等到延时达到第一预设时长时,将若干切片包中的数据包片恢复成FlexE数据码流发送。
S403d:判断数据包延时是否小于第二预设时长,若是,则执行S403e;若否,则执行S404。
S403e:在当前时刻,将若干切片包中的数据包片恢复成FlexE数据码流发送。
为了更清楚地理解S403的另一种实现方式。下面举例说明。
假设第二预设时长是30μs,第一预设时长为10μs,FlexE交换系统传输1500字节的第一数据包。若发送模块在1μs时,接收到包含第一数据包开始符的切片包,而且发送模块在12μs时,接收到包含第一数据包结束符的切片包,此时,可以立即将若干切片包中的数据包片恢复成FlexE数据码流发送。
若FlexE交换系统传输64字节的第二数据包,发送模块在2μs时,接收到包含第二数据包开始符的切片包,而且发送模块在8μs时,接收到包含第二数据包结束符的切片包。由于8μs小于10μs,因而,需要等到10μs时,才可以将若干切片包中的数据包片恢复成FlexE数据码流发送。
以上是S403的具体实施方式。
S404的具体实施方式介绍如下:
需要说明,第二预设时长不小于切片包从FlexE交换系统的输入模块传输至FlexE交换系统的发送模块的最大路径时延。
举例说明:假设第二预设时长是30μs,第一预设时长为10μs,且FlexE交换系统传 输9600字节的第三数据包,则S404可以具体为:发送模块在1μs时,接收到包含第三数据包开始符的切片包,而且发送模块在30μs时,仍未接收到包含第三数据包结束符的切片包。但是,由于延时已经达到30μs,因而,需要将若干切片包中的数据包片恢复成FlexE数据码流发送。
以上是S404的具体实施方式。
以上为本申请实施例提供的数据发送方法的具体实现方式。在该具体实现方式中,当发送模块接收到的切片包中含有同一数据包的数据包开始符和数据包结束符,则表明发送模块接收到了完整数据包,则立即将数据包片发送出去,或者在延时小于切片包的最大路径时延之后将数据包片发送出去,既不会出现数据包内部的断流,也会降低数据发送延时,提高FlexE数据码流的传输效率。当发送模块接收到的切片包中含有一个数据包的数据包开始符而不含有该数据包的数据包结束符时,则表明发送模块还未收到完整数据包,此时,在延时到至少切片包的最大路径时延之后再将数据包片发送出去,也不会出现数据包内部的断流。
因此,利用本申请提供的数据发送方法,并不需要所有数据包片均要延时到切片包的最大路径时延之后再发送出去。因此,本申请提供的数据发送方法达到了在避免数据包内部的断流的前提下,降低FlexE交换系统的数据发送延时,提高FlexE数据码流的传输效率的效果。
更具体地,利用本申请实施例提供的数据发送方法能够明显缩短小数据包的传输延时,能够明显提高数据包的传输效率。
基于上述提供的一种数据发送方法,本申请实施例还提供了一种数据发送模块,下面将结合附图进行解释和说明。
参见图5,该图为本申请实施例提供的数据发送模块的结构示意图。
本申请实施例提供的数据发送模块,包括:
接收单元501,用于接收若干切片包;
检查单元502,用于检查若干切片包中是否含有数据包开始符和结束符;
第一发送单元503,用于当若干切片包中含有数据包开始符和结束符时,则将若干切片包中的数据包片恢复成FlexE数据码流发送;
第二发送单元504,用于当若干切片包中不含有数据包结束符时,则在延时达到第二预设时长时,将若干切片包中的数据包片包恢复成FlexE数据码流发送。
作为另一种实施方式,为了减小发送模块发送不同大小的数据包时产生的时间抖动,第一发送单元503,具体包括:
在延时大于或等于第一预设时长时,将若干切片包中的数据包片恢复成FlexE数据码流发送;
第一预设时长小于第二预设时长。
作为示例,第一发送单元503,可以具体包括:
第一发送子单元,用于当在第一延时内接收到包含有数据包开始符和数据包结束符的切片包时,则等到延时达到第一预设时长时,将若干切片包中的数据包片恢复成FlexE数据码流发送;其中,第一延时小于第一预设时长;
第二发送子单元,用于当在第二延时内接收到包含有数据包开始符和数据包结束符的切片包时,则在第二延时时将若干切片包中的数据包片恢复成FlexE数据码流发送;其中,第二延时大于或等于第一预设时长,且第二延时小于或等于第二预设时长。
作为另一种实施方式,为了进一步减小发送模块发送不同大小的数据包时产生的时间抖动,第一预设时长为第二预设时长的1/4~1/3,也可以为切片包从FlexE交换系统的输入模块传输至FlexE交换系统的发送模块的平均路径时延,还可以为切片包从FlexE交换系统的输入模块传输至FlexE交换系统的发送模块的路径时延中,占比达到预设比例的路径时延。
作为再一种实施方式,为了提高FlexE交换系统传输数据码流的灵活性,各个数据包片的长度相同或不同。
以上为本申请实施例提供的数据发送模块的具体实现方式。当发送模块接收到的切片包中含有同一数据包的数据包开始符和数据包结束符,则表明发送模块接收到了完整数据包,则立即将数据包片发送出去,或者在延时小于切片包的最大路径时延之后将数据包片发送出去,既不会出现数据包内部的断流,也会降低数据发送延时,提高FlexE数据码流的传输效率。当发送模块接收到的切片包中含有一个数据包的数据包开始符而不含有该数据包的数据包结束符时,则表明发送模块还未收到完整数据包,此时,在延时到至少切片包的最大路径时延之后再将数据包片发送出去,也不会出现数据包内部的断流。
因此,利用本申请提供的数据发送模块,并不需要所有数据包片均要延时到切片包的最大路径时延之后再发送出去。因此,本申请提供的数据发送方法达到了在避免数据包内部的断流的前提下,降低FlexE交换系统的数据发送延时,提高FlexE数据码流的传输效率的效果。
基于上述提供的一种数据发送方法以及一种数据发送模块,本申请实施例还提供了一种FlexE交换系统,下面将结合附图进行解释和说明。
参见图6,该图为本申请实施例提供的FlexE交换系统的结构示意图。
本申请实施例提供的FlexE交换系统,包括输入模块601、交换模块602和发送模块603;
输入模块601用于将接收到的FlexE数据码流依次分割成若干数据包片,并在每个数据包片中插入该数据包片对应的时间标识,从而生成若干切片包;
交换模块602用于将来自输入模块601的若干切片包交换到发送模块603;
发送模块603为以上实施例提供的任一种数据发送模块。
FlexE交换系统的工作过程,可以具体为:
首先,输入模块601接收FlexE数据码流,再将接收到的数据码流分割为若干数据包片,并向数据包片插入时间标识,从而得到若干切片包,以便于输入模块601将切片包发送至交换模块602。
然后,交换模块602将接收到的切片包进行交换,并发送至发送模块603。
其次,发送模块603将接收到的切片包进行缓存,并判断已缓存的若干切片包是否包含数据包开始符和结束符。若是,则在当前时间或延时达到第二预设时间长时,将若干切 片包中的数据包片恢复成FlexE数据码流发送。若否,则在延时达到第二预设时长时,将若干切片包中的数据包片包恢复成FlexE数据码流发送。
作为一种实施方式,FlexE交换系统为机框式结构,其中,机框式结构包括线卡和网板,线卡上设置有输入模块601和发送模块603,网板上设置有交换模块602。
为了便于解释和说明,下面将以图6所示的机框式结构为例进行说明。
参见图7,该图为本申请实施例提供的一种机框式结构。
图7的机框式结构包括第一线卡701、第二线卡702和网板703,其中,第一线卡701上设置有输入模块601,第二线卡702上设置有发送模块603以及网板603设置有交换模块602。
作为另一种实施方式,FlexE交换系统为SOC盒式结构,SOC盒式结构包括SOC芯片,SOC芯片上设置有输入模块501、交换模块502和发送模块503。
为了便于解释和说明,下面将以图8所示的SOC盒式结构为例进行说明。
参见图8,该图为本申请实施例提供的一种SOC盒式结构。
图8的SOC盒式结构包括SOC芯片801,其中,SOC芯片801上设置有输入模块801a、交换模块801b和发送模块801c。
作为再一种实施方式,SOC芯片为多个,输入模块801a、交换模块801b和发送模块801c分别设置在不同的SOC芯片上。
其中,输入模块801a、交换模块801b、发送模块801c分别执行输入模块601、交换模块602、发送模块603的功能。
为了便于解释和说明,下面将以图8所示的SOC盒式结构为例进行说明。
参见图9,该图为本申请实施例提供的另外一种SOC盒式结构。
图9的SOC盒式结构包括第一SOC芯片901、第二SOC芯片902和第三SOC芯片903,其中,第一SOC芯片901上设置有输入模块601,第二SOC芯片902上设置有交换模块602以及第三SOC芯片903上设置有发送模块603。
本申请实施例提供的FlexE交换系统,包括输入模块601、交换模块602和发送模块603,在该系统中,当发送模块603接收到的切片包中含有数据包开始符和数据包结束符,则表明发送模块603接收到了完整数据包,则此时将数据包片发送出去,既不会出现数据包内部的断流,也会降低数据发送延时,提高FlexE数据码流的传输效率。当发送模块603接收到的切片包中不含有数据包结束符时,则表明发送模块603还未收到完整数据包,此时,在延时到切片包的最大路径时延之后再将数据包片发送出去,也不会出现数据包内部的断流。
因此,利用本申请提供的FlexE交换系统,并不需要所有数据包片均要延时到一定时长之后再发送出去。其中,针对属于小数据包的数据包片则在收到完整数据包之后即发送出去,针对属于大数据包的数据包片则需要在延时到一定时长后再发送出去。因此,本申请提供的数据发送方法达到了在避免数据包内部的断流的前提下,降低FlexE交换系统的数据发送延时,提高FlexE数据码流的传输效率的效果。

Claims (13)

  1. 一种数据发送方法,其特征在于,应用于FlexE交换系统的发送模块,所述方法包括:
    接收若干切片包;
    检查所述若干切片包中是否含有数据包开始符和结束符;
    当所述若干切片包中含有同一数据包的数据包开始符和结束符时,则立即将所述若干切片包中的数据包片恢复成FlexE数据码流发送,或者,在延时大于或等于第一预设时长时,将所述若干切片包中的数据包片恢复成FlexE数据码流发送;
    当所述若干切片包中含有一个数据包的数据包开始符而不含有该数据包的数据包结束符时,则在延时达到第二预设时长时,将所述若干切片包中的数据包片包恢复成FlexE数据码流发送;
    所述第一预设时长小于所述第二预设时长。
  2. 根据权利要求1所述的方法,其特征在于,所述在延时大于或等于第一预设时长时,将所述若干切片包中的数据包片恢复成FlexE数据码流发送,具体包括:
    当在第一延时内接收到包含有同一数据包的数据包开始符和数据包结束符的切片包时,则等到延时达到第一预设时长时,将所述若干切片包中的数据包片恢复成FlexE数据码流发送;其中,所述第一延时小于所述第一预设时长;
    当在第二延时内接收到包含有同一数据包的数据包开始符和数据包结束符的切片包时,则在第二延时时将所述若干切片包中的数据包片恢复成FlexE数据码流发送;其中,所述第二延时大于或等于所述第一预设时长,且所述第二延时小于或等于所述第二预设时长。
  3. 根据权利要求1-2任一项所述的方法,其特征在于,所述第一预设时长为所述第二预设时长的1/4~1/3。
  4. 根据权利要求1-2任一项所述的方法,其特征在于,所述第一预设时长为切片包从FlexE交换系统的输入模块传输至FlexE交换系统的发送模块的平均路径时延。
  5. 根据权利要求1-2任一项所述的方法,其特征在于,所述第一预设时长为切片包从FlexE交换系统的输入模块传输至FlexE交换系统的发送模块的路径时延中,占比达到预设比例的路径时延。
  6. 根据权利要求1-5任一项所述的方法,其特征在于,各个数据包片的长度相同或不同。
  7. 根据权利要求1-6任一项所述的方法,其特征在于,所述第二预设时长不小于切片包从FlexE交换系统的输入模块传输至FlexE交换系统的发送模块的最大路径时延。
  8. 一种数据发送模块,其特征在于,包括:
    接收单元,用于接收若干切片包;
    检查单元,用于检查所述若干切片包中是否含有数据包开始符和结束符;
    第一发送单元,用于当所述若干切片包中含有同一数据包的数据包开始符和结束符时,则立即将所述若干切片包中的数据包片恢复成FlexE数据码流发送,或者,在延时大于或 等于第一预设时长时,将所述若干切片包中的数据包片恢复成FlexE数据码流发送;
    第二发送单元,用于当所述若干切片包中含有一个数据包的数据包开始符而不含有该数据包的数据包结束符时,则在延时达到第二预设时长时,将所述若干切片包中的数据包片包恢复成FlexE数据码流发送;
    所述第一预设时长小于所述第二预设时长。
  9. 根据权利要求8所述的数据发送模块,其特征在于,所述第一发送单元,具体包括:
    在延时大于或等于第一预设时长时,将所述若干切片包中的数据包片恢复成FlexE数据码流发送;
    所述第一预设时长小于所述第二预设时长。
  10. 一种FlexE交换系统,其特征在于,包括:输入模块、交换模块和发送模块;
    所述输入模块用于将接收到的FlexE数据码流依次分割成若干数据包片,并在每个所述数据包片中插入该数据包片对应的时间标识,从而生成若干切片包;
    所述交换模块用于将来自所述输入模块的所述若干切片包交换到所述发送模块;
    所述发送模块为权利要求8-9任一项所述的数据发送模块。
  11. 根据权利要求10所述的FlexE交换系统,其特征在于,所述FlexE交换系统为机框式结构,其中,所述机框式结构包括线卡和网板,所述线卡上设置有所述输入模块和所述发送模块,所述网板上设置有所述交换模块。
  12. 根据权利要求10所述的FlexE交换系统,其特征在于,所述FlexE交换系统为SOC盒式结构,所述SOC盒式结构包括SOC芯片,所述SOC芯片上设置有所述输入模块、所述交换模块和所述发送模块。
  13. 根据权利要求12所述的FlexE交换系统,其特征在于,所述SOC芯片为多个,所述输入模块、所述交换模块和所述发送模块分别设置在不同的SOC芯片上。
PCT/CN2018/112555 2018-10-30 2018-10-30 一种数据发送方法、装置及FlexE交换系统 WO2020087250A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201880098323.5A CN113273149B (zh) 2018-10-30 2018-10-30 一种数据发送方法、装置及FlexE交换系统
PCT/CN2018/112555 WO2020087250A1 (zh) 2018-10-30 2018-10-30 一种数据发送方法、装置及FlexE交换系统
EP18938640.2A EP3863249A4 (en) 2018-10-30 2018-10-30 DATA SEND METHOD AND DEVICE AND FLEXE TRANSFER SYSTEM
US17/242,929 US11799576B2 (en) 2018-10-30 2021-04-28 Data sending method and apparatus, and FlexE switching system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/112555 WO2020087250A1 (zh) 2018-10-30 2018-10-30 一种数据发送方法、装置及FlexE交换系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/242,929 Continuation US11799576B2 (en) 2018-10-30 2021-04-28 Data sending method and apparatus, and FlexE switching system

Publications (1)

Publication Number Publication Date
WO2020087250A1 true WO2020087250A1 (zh) 2020-05-07

Family

ID=70463297

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/112555 WO2020087250A1 (zh) 2018-10-30 2018-10-30 一种数据发送方法、装置及FlexE交换系统

Country Status (4)

Country Link
US (1) US11799576B2 (zh)
EP (1) EP3863249A4 (zh)
CN (1) CN113273149B (zh)
WO (1) WO2020087250A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114124950A (zh) * 2021-10-09 2022-03-01 上海联适导航技术股份有限公司 一种数据转发方法、装置、设备及计算机可读存储介质
CN114885360A (zh) * 2022-06-09 2022-08-09 中国联合网络通信集团有限公司 时延可靠性确定方法、接入网设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080310453A1 (en) * 2007-06-15 2008-12-18 Michele Bargauan Communications System to Feed Multiple Single Frequency Networks with Multiple Content
CN106612203A (zh) * 2015-10-27 2017-05-03 中兴通讯股份有限公司 一种处理灵活以太网客户端数据流的方法及装置
CN108092924A (zh) * 2017-12-25 2018-05-29 烽火通信科技股份有限公司 基于FlexE业务的信元交换方法及系统
CN108462646A (zh) * 2017-02-17 2018-08-28 华为技术有限公司 一种报文处理方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081576A (en) * 1998-08-25 2000-06-27 General Electric Company Scalable data acquisition system
WO2016031590A1 (ja) * 2014-08-29 2016-03-03 ソニー株式会社 受信装置、及び、受信方法
US9800361B2 (en) 2015-06-30 2017-10-24 Ciena Corporation Flexible ethernet switching systems and methods
EP3113502B1 (en) * 2015-06-30 2018-08-15 Ciena Corporation Flexible ethernet systems and methods for switching, oam, multi-service, chip-to-chip interface, time transfer, and encryption
CN108092739B (zh) * 2016-11-23 2020-10-16 华为技术有限公司 业务的传输方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080310453A1 (en) * 2007-06-15 2008-12-18 Michele Bargauan Communications System to Feed Multiple Single Frequency Networks with Multiple Content
CN106612203A (zh) * 2015-10-27 2017-05-03 中兴通讯股份有限公司 一种处理灵活以太网客户端数据流的方法及装置
CN108462646A (zh) * 2017-02-17 2018-08-28 华为技术有限公司 一种报文处理方法及装置
CN108092924A (zh) * 2017-12-25 2018-05-29 烽火通信科技股份有限公司 基于FlexE业务的信元交换方法及系统

Also Published As

Publication number Publication date
CN113273149B (zh) 2022-09-23
CN113273149A (zh) 2021-08-17
US11799576B2 (en) 2023-10-24
US20210250112A1 (en) 2021-08-12
EP3863249A1 (en) 2021-08-11
EP3863249A4 (en) 2021-10-20

Similar Documents

Publication Publication Date Title
US7813271B2 (en) Aggregated link traffic protection
US20200358886A1 (en) Data Transmission Method, Apparatus, And System
TW453066B (en) Method and apparatus for reliable and efficient data communications
US10313768B2 (en) Data scheduling and switching method, apparatus, system
US6321269B1 (en) Optimized performance for transaction-oriented communications using stream-based network protocols
US11552721B2 (en) Clock synchronization method and apparatus
US7899045B2 (en) TCP multicast system and method
EP3322255B1 (en) Methods and network apparatus for receivingf cpri data stream via ethernet frames.
CN113595934A (zh) 基于灵活以太网的业务流传输方法、装置和通信系统
CA2694997A1 (en) Method and apparatus for transmission of circuit switched voice over packet switched networks
WO2019128287A1 (zh) 基于FlexE业务的信元交换方法及系统
KR102633193B1 (ko) 메시지 처리 방법 및 관련 장치
US11799576B2 (en) Data sending method and apparatus, and FlexE switching system
CN108521343A (zh) 一种oam报文的处理方法及装置
CN107404446A (zh) 一种处理分片报文的方法及装置
CN101854286A (zh) 基于用户数据报协议的数据流发送、接收方法及装置
CN110417687B (zh) 一种报文发送与接收方法及装置
WO2010025628A1 (zh) 一种物理层数据传输的方法、装置及系统
WO2014101644A1 (zh) 传输数据的方法、设备和系统
CN110233856A (zh) 报文处理方法、装置及计算机可读存储介质
WO2013078873A1 (zh) 识别应答报文的方法及设备
CN115442000A (zh) 一种适用于低带宽、易损耗自组网络下的传输保障方法
WO2019015487A1 (zh) 一种数据重传处理方法、rlc实体和mac实体
CN105323160B (zh) 报文收发方法及装置、通道单元及通信设备
WO2021073570A1 (zh) 通信方法、装置及系统

Legal Events

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

Ref document number: 18938640

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018938640

Country of ref document: EP

Effective date: 20210506