WO2021208694A1 - 一种数据传输方法及网络设备 - Google Patents

一种数据传输方法及网络设备 Download PDF

Info

Publication number
WO2021208694A1
WO2021208694A1 PCT/CN2021/082882 CN2021082882W WO2021208694A1 WO 2021208694 A1 WO2021208694 A1 WO 2021208694A1 CN 2021082882 W CN2021082882 W CN 2021082882W WO 2021208694 A1 WO2021208694 A1 WO 2021208694A1
Authority
WO
WIPO (PCT)
Prior art keywords
field
subframe
network device
data
frame
Prior art date
Application number
PCT/CN2021/082882
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 EP21789545.7A priority Critical patent/EP4131817A4/en
Publication of WO2021208694A1 publication Critical patent/WO2021208694A1/zh
Priority to US17/965,916 priority patent/US20230034209A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1642Formats specially adapted for sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0079Formats for control data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/321Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Definitions

  • This application relates to the field of communications, and in particular to a data transmission method and network equipment.
  • FEC forward error correction
  • the combined payload data and check data packets are called FEC data blocks, and the ratio of the number of payload data packets and check data packets is fixed.
  • the sender sends the FEC data block, and after the receiver receives the FEC data block, it recovers the lost or erroneous data packet by checking the data packet and the payload data packet.
  • the embodiments of the present application provide a data transmission method and network device.
  • the transmission method is applied to an Ethernet communication system.
  • the Ethernet communication system includes a source network device and a target network device. Both the source network device and the target network device have Ethernet
  • network interface devices such as switches, routers, servers, or personal computers (personal computers, PCs)
  • the source network device and the target network device are in communication connection.
  • an automatic repeat-request (ARQ) mechanism is introduced into the Ethernet architecture to effectively reduce the link error rate through the retransmission mechanism.
  • ARQ automatic repeat-request
  • an embodiment of the present application provides a data transmission method, which is applied to a source network device.
  • the specific steps include: acquiring a first MAC message to be transmitted, the first MAC message including a first field and a second field. Field; the first data control subframe obtained by using the field space of the first field, and the first target data subframe obtained based on the second field, the first data control subframe is used for retransmission control, the first target data
  • the subframe is used to carry valid data to be transmitted, and generates a first frame, the first frame includes a first data control subframe and a first target data subframe; the first data control subframe includes a sequence of the first target data subframe Number; the source network device sends the first frame to the target network device; when the target network device fails to receive the first frame, the target network device feeds back the sequence number of the first target data subframe to the source network device, the source network The device retransmits the first frame to reduce the link error rate; in this application, the source network device uses the first
  • the first field includes a preamble field and a delimiter field
  • generating the first frame may include: modifying the first MAC message by using the two preamble field and the delimiter field. Part or all of the space of the field generates the first data control subframe, and generates the first target data subframe according to the second field; then, encapsulates the first data control subframe and the first target data subframe to obtain the first frame;
  • the first data control subframe is generated by using or the entire space of the two fields of the preamble field and the delimiter field in the MAC message without adding additional overhead.
  • the first byte to the Nth byte of the two fields of the first preamble field and the delimiter field in the first MAC message are used as the second preamble field, Where N is an integer greater than or equal to 1 and less than 8, for example, N is 1 or 2, the first data control subframe is generated using the field space in the first field except the second preamble field; then, encapsulation The second preamble field, the first data control subframe, and the first target data subframe are used to obtain the first frame; in this embodiment, the first preamble field and the delimiter field in the first MAC message Part of the field space in the two fields generates the first data control subframe, and the first N bytes in the first preamble field in the first MAC message are used as the second preamble field in the first frame.
  • the value of the second preamble field can be used to restore the value of the first preamble field in the first MAC message.
  • the second field in the first MAC message includes a destination MAC address field, a source MAC address field, a type or length field, a payload field, and a frame check sequence field.
  • the first target data subframe further includes a first check field
  • the first data control subframe includes a second check field
  • the second check field may be a cyclic redundancy check (cyclic redundancy check).
  • the second check field is a check sequence field (frame check sequence, FCS);
  • the value of the first check field is used by the target network device to verify whether the first MAC message has errors
  • the value of the second check field is used by the target network device to verify whether the first data control subframe has errors; in this embodiment, the first check field and the second check field can be used by the target network device to determine whether the reception is successful In the first frame, when there is no error in the first data control subframe and the first MAC message, it can be determined that the first frame is successfully received, which enhances the accuracy of verifying whether the first frame is successfully received.
  • the target network device may further include the following steps: receiving a second frame sent by the target network device, the second frame including the first frame for retransmission control Two data control subframes, the second data control subframe includes a type field and a load field; the second data control subframe is parsed to obtain the data in the second data control subframe, and the value of the type field in the second data control subframe is identified And the value of the load field; if the value of the type field of the second data control subframe is a non-confirmation identifier, and the load field of the second data control subframe carries the sequence number of the first target data subframe corresponding to the non-confirmation identifier, then The sequence number of the first target data subframe corresponding to the unconfirmed identifier calls the first frame in the retransmission buffer; the source network device resends the first frame to the target network device to reduce the bit error rate; or, if the second data The
  • the second frame includes a second data control subframe.
  • the second data control subframe can be used to determine the reception of the first target data subframe. Feedback, if the value of the type field of the second data control subframe is a non-acknowledgement flag, it indicates that the target network device has not successfully received the first frame, and the source network device resends the first frame to the target network device to reduce the bit error rate .
  • the second frame further includes a second target data subframe
  • the format of the second target data subframe is the same as the format of the first target data subframe
  • the second target data subframe includes the target data subframe.
  • the source network device can learn the reception of the first frame by the target network device through the second data control subframe, and at the same time, can recover the received second target data subframe,
  • the frame format of the MAC layer replace the second data control subframe and the second preamble in the second frame with the first preamble field and the delimiter field to obtain the MAC message; transmit the MAC message to the MAC layer for processing Processing:
  • the second data control subframe used for retransmission control is added in this embodiment, it will not affect the transmission of valid data between the source network device and the target network device, nor will it increase additional overhead.
  • the second frame includes a second target data subframe
  • the second data control subframe carries a sequence number corresponding to the second target data subframe through a load field; the second target data subframe corresponds to The sequence number is used for if the source network device does not successfully receive the second frame, the target network device retransmits the second frame according to the sequence number.
  • the second data control subframe further includes a header field; the header field of the second data control subframe is used to indicate whether the source network device needs to feed back the second target data subframe to the target network device.
  • QoS Quality of Service
  • This header field can be used to indicate that the peer does not need to feed back the second target data The reception of subframes effectively reduces the probability of retransmission to save transmission resources.
  • the first data control subframe further includes a header field; the header field of the first data control subframe is used to indicate whether the target network device needs to feed back the first target data subframe to the source network device ’S reception.
  • retransmission control is performed based on the transmission level of the data, the data with high priority has high QoS requirements, and the data with low priority has low QoS requirements. Whether the transmitted data is retransmitted according to the requirements of QoS To distinguish, if the transmission level of the first target data subframe is low priority, it is determined that the header field of the first data control subframe carries the first identifier; the first identifier is used to indicate that the target network device does not need to send the source network device to the Feedback the reception of the first target data subframe; if the transmission level of the first target data subframe is high priority, it is determined that the header field of the first data control subframe carries the second identifier; the second identifier is used to indicate the target The network device needs to feed back the reception of the first target data subframe to the source network device; in this embodiment, for Ethernet data, not all data needs to be transmitted losslessly, so it is not necessary to perform ARQ retransmission on all data Control, only need to control the
  • an embodiment of the present application provides a data transmission method, which is applied to a target network device.
  • the specific method includes: receiving a first frame sent by a source network device, the first frame including a first data control subframe and The first target data subframe; the first data control subframe is generated using the field space of the first field of the first MAC message obtained from the upper layer, and the first target data subframe is the second based on the first MAC message Field; the first data control subframe carries the sequence number corresponding to the first target data subframe; in the embodiment of this application, the first data control subframe is obtained by using the first field space of the MAC message, and the first target Data subframe The data subframe is obtained by using the second field space of the first MAC message.
  • the structures of the first data control subframe and the first target data subframe are compatible with the Ethernet architecture, and the first data control subframe is not Additional overhead will be introduced.
  • the first data control subframe includes the sequence number of the first target data subframe; the first frame sent by the source network device is received, and when the target network device does not successfully receive the first frame, the target network device sends The source network device feeds back the sequence number of the data subframe of the first target data subframe, and the source network device retransmits the first frame to reduce the link error rate; in this application, the source network device uses the first
  • the first field space of the MAC message generates the first data control subframe for retransmission control, without adding additional overhead, and without modifying the structure of each layer in the Ethernet architecture. In the case of compatibility with the Ethernet standard, pass The retransmission mechanism effectively reduces the link error rate.
  • the method may further include: generating a second frame, the second frame also includes a second data control subframe for retransmission control; if not After successfully receiving the first frame, the second data control subframe carries the non-acknowledgement identifier through the type field and carries the sequence number of the first target data subframe corresponding to the non-acknowledgement identifier through the load field; if the first frame is successfully received, the second data control subframe The data control subframe carries the confirmation identifier through the type field and the sequence number of the first target data subframe corresponding to the confirmation identifier through the load field; sends the second frame to the source network device; in this embodiment, the target network device through the second frame The second data control subframe in the feed back the reception situation of the first target data subframe.
  • the second frame further includes a second target data subframe, and the second data control subframe carries the sequence number of the second target data subframe through the load field; the second target data subframe corresponds to The sequence number is used for if the source network device does not successfully receive the second frame, the target network device retransmits the second frame according to the sequence number.
  • the second frame further includes a second target data subframe
  • generating the second frame may specifically include: obtaining the second MAC message from the MAC layer, modifying the second MAC message, and
  • the MAC message includes a first field and a second field; uses part or all of the field space of the first field to generate a second data control subframe; and generates a second target data subframe according to the second field; encapsulates the second data control subframe And the second target data subframe to obtain the second frame; in this embodiment, using the preamble field and the delimiter field in the MAC message or the entire space of the two fields to generate the second data control subframe does not Increase additional overhead.
  • the first field includes a preamble field and a delimiter field; using the first byte of the first preamble field and the delimiter field in the second MAC message
  • the Nth byte is used as the second preamble field, where N is an integer greater than or equal to 1 and less than 8, and the second data control element is generated using the field space in the first field except the second preamble field Frame; then, encapsulate the second preamble field, the second data control subframe, and the second target data subframe to obtain the second frame;
  • the first preamble field in the second MAC message and Part of the field space in the two fields of the delimiter field generates the second data control subframe, and uses the first N bytes in the first preamble field in the second MAC message as the second preamble in the second frame Code field, the value of the second preamble field can be used to restore the value of the first preamble field in the second MAC message without additional overhead.
  • the second field includes a destination MAC address field, a source MAC address field, a type or length field, a payload field, and a frame check sequence field.
  • the first target data subframe includes a first check field; the first data control subframe includes a second check field, and the method may further include: verifying the first MAC through the first check field Whether the message has an error code; verify whether the first data control subframe has an error code through the second check field; if the first MAC message has an error code or the first data control subframe has an error code, it is determined that it is not successfully received To the first frame; if it is determined that the first MAC message has an error code and the first data control subframe has no error code, it is determined that the first frame is successfully received.
  • the second frame includes a second target data subframe, the second target data subframe includes a first check field, and the second data control subframe includes a second check field; the first check The value of the field is used by the source network device to verify whether the second MAC message has an error, and the value of the second check field is used by the source network device to verify whether the second data control subframe has an error; if the second data control subframe If there is no error in the frame and the second MAC message, the source network device determines that the second frame is successfully received; if there is an error in the second data control subframe or the second MAC message has an error, the source network device determines that it has not The second frame was successfully received.
  • the first data control subframe further includes a header field, and the value of the header field of the first data control subframe is used to indicate whether the target network device needs to feed back the first target data to the source network device.
  • the receiving situation of the subframe; the method may further include: parsing the data in the first data control subframe to obtain the value of the header field; if the value of the header field of the first data control subframe is the first identifier, the first The identifier is used to indicate that the target network device does not need to feed back the reception of the first target data subframe to the source network device, and the type field of the second data control subframe is set to a preset value, for example, the preset value is all "0" Or the preset value is all "1", that is, the type field of the second data control subframe does not need to carry the confirmation or non-confirmation identifier; if the value of the header field of the first data control subframe is the second identifier, The first identifier is used to indicate that the target network
  • the method further includes: further determining whether the first frame is successfully received; if the first frame is successfully received, then 2.
  • the type field of the second data control subframe carries an acknowledgement identifier. If the first frame is not successfully received, the type field of the second data control subframe carries a non-acknowledgement identifier.
  • the second data control subframe further includes a header field; the value of the header field of the second data control subframe is used to indicate whether the source network device needs to feed back the second target data to the target network device The reception of the subframe.
  • the following steps may be further included: performing error correction processing on the first frame through forward error correction FEC; if the bit error rate of the first frame is higher than the threshold, Then the second frame is generated for retransmission control; in this embodiment, after FEC error correction, retransmission control is performed under the condition of a lower bit error rate, and retransmission control is performed after FEC, ensuring the retransmission control logic
  • FEC error correction retransmission control is performed under the condition of a lower bit error rate
  • retransmission control is performed after FEC, ensuring the retransmission control logic
  • the input error rate is maintained at a low level, which can effectively reduce the probability of retransmission, ensure the effective utilization of the link, and reduce the delay introduced by the retransmission to an extremely low level.
  • the embodiments of the present application provide a network device, which has the function of implementing the function performed by the source network device in the above method, or the function performed by the target network device in the above method; the function can be achieved by Hardware implementation can also be implemented by hardware executing corresponding software; the hardware or software includes one or more modules corresponding to the above-mentioned functions.
  • an embodiment of the present application provides a network device, a processor, a memory, and an Ethernet interface.
  • the processor, the memory and the Ethernet interface are connected by a bus.
  • the memory is used to store program instructions. When the program or instruction is processed When the device is executed, the network device is caused to execute the method of any one of the above-mentioned first aspect or the second aspect.
  • the embodiments of the present application provide a computer-readable medium for storing a computer program or instruction.
  • the computer program or instruction When executed, the computer executes the method in any one of the first aspect or the second aspect.
  • the present application provides a chip system including a processor for supporting network devices to implement the functions involved in the above aspects, for example, sending or processing data and/or data involved in the above methods information.
  • the chip system also includes a memory, and a memory is used to store the necessary program instructions and data of the network device.
  • the chip system can be composed of chips, and can also include chips and other discrete devices.
  • FIG. 1 is a schematic diagram of a scenario of an Ethernet communication system in an embodiment of the application
  • FIG. 2 is a schematic diagram of the location of the data link control layer in an embodiment of the application.
  • FIG. 3 is a schematic diagram of the structure of a MAC message in an embodiment of the application.
  • FIG. 4 is a schematic structural diagram of an example of a data control subframe in an embodiment of the application.
  • FIG. 5 is a schematic flowchart of steps of an embodiment of a data transmission method in an embodiment of this application.
  • FIG. 6 is a schematic flowchart of an embodiment of retransmission processing in an embodiment of the application.
  • FIG. 7 is a schematic diagram of a data control subframe and a target data subframe corresponding to a MAC message in an embodiment of the application;
  • FIG. 8 is a schematic structural diagram of another example of a data control subframe in an embodiment of the application.
  • Fig. 9 is a schematic diagram of a scenario of priority-by-priority retransmission control in an embodiment of the application.
  • FIG. 10 is a schematic flowchart of another embodiment of retransmission processing in an embodiment of this application.
  • FIG. 11 is a schematic diagram of performance simulation based on a combination of forward error correction and retransmission mechanisms in an embodiment of the application
  • FIG. 12 is a schematic structural diagram of an embodiment of a network device in an embodiment of this application.
  • FIG. 13 is a schematic structural diagram of another embodiment of a network device in an embodiment of this application.
  • the embodiment of the application provides a data transmission method, which can be applied to an Ethernet communication system.
  • the Ethernet communication system includes a source network device and a target network device. Both the source network device and the target network device have Ethernet
  • the device of the interface, the source network device and the target network device are connected by a cable, wherein, in an optional embodiment of the present application, the source network device can be understood as the sender (or the sender device), and the target network device can also understand the receiver End (or receiving end device).
  • the sender obtains the transmitted media access control (MAC) message, and then modifies the MAC message to generate the first frame.
  • the MAC message includes a first field and a second field.
  • the receiving end uses the field space of the first field to generate a first data control subframe for retransmission control, and generates a data control subframe for retransmission control based on the second field.
  • a first target data subframe carrying a payload where the first data control subframe includes the sequence number of the first target data subframe; the source network device sends the first frame to the target network device.
  • the target network device receives the first frame, and if the target network device does not successfully receive the first target data subframe, the target network device feeds back the sequence number of the first target data subframe to the source network device, and the source network The device resends the first frame to the target network device.
  • the sender uses the first field space of the MAC message obtained from the upper layer to generate the first data control subframe, which does not increase additional overhead, and does not need to modify the structure of each layer in the Ethernet architecture, which is compatible with Ethernet
  • the link error rate can be effectively reduced through the retransmission mechanism.
  • the source network device and the target network device involved in the embodiments of the present application may be various network communication devices with Ethernet interfaces, such as switches, routers, servers, or personal computers (PC). Etc., these network communication devices may also be other hardware with network communication functions (for example, including processors, memories, and various peripheral circuits). In addition to network communication functions, these communication devices also perform other functions.
  • the source network device 101 and the target network device 102 are both switches, the target network device 101 is connected to multiple end stations (such as a PC), and the target network device 102 is connected Multiple end stations (such as: PC).
  • FIG. 1 is only an exemplary scenario and is not a limitation. Of course, the embodiments of the present application can also be applied to other Ethernet scenarios.
  • the source network device may be a switch, and the target network device may be a PC, etc. Other application scenarios.
  • Data link control layer used for ARQ retransmission control. Please refer to Figure 2.
  • the data link control layer (DLC) is introduced between the MAC layer and the RS layer, and related operations for retransmission control All are completed on this floor.
  • MAC message includes preamble field (7 bytes), delimiter field (start frame delimiter, SFD) (1 byte) , Destination address field (destination address, DA) (6 bytes), source address field (source address, SA) (6 bytes), type or length field (length/type) (2 bytes), payload field (payload ), the frame check sequence field (frame check sequence, FCS) (4 bytes) and the frame gap field (interframe gap, IFG) (12 bytes).
  • preamble field (7 bytes), delimiter field (start frame delimiter, SFD) (1 byte) , Destination address field (destination address, DA) (6 bytes), source address field (source address, SA) (6 bytes), type or length field (length/type) (2 bytes), payload field (payload ), the frame check sequence field (frame check sequence, FCS) (4 bytes) and the frame gap field (interframe gap, IFG) (12 bytes).
  • Preamble field used to determine the arrival time of a frame, and determine the amount of time between coded bits (called clock recovery), used to synchronize timing between the receiving end and the transmitting end
  • delimiter field Used to indicate the start of the frame
  • destination address field the MAC address of the destination node that receives the data frame (also called the destination MAC address)
  • source address field the MAC address of the source node that sends the data frame (also called the source MAC address); type Or length field: it can indicate the length of the data field or the type of the upper layer protocol; payload field: valid data field; frame check sequence field: check whether the MAC message has errors; frame gap field: two adjacent frames The time gap between.
  • Data control subframe a data frame used for retransmission control generated at the data link control layer.
  • the data control subframe may include a payload field (for example, 3 bytes), and optionally, may also include a header field (for example, 1 byte), and a type field (for example, 1 byte). At least one of a byte) and a check field (also referred to as a second check field in this application) (such as 1 byte).
  • the role of each field is as follows:
  • Load field can be used to indicate the sequence number corresponding to the target data subframe.
  • the load field is also used to indicate the sequence number corresponding to the confirmed or non-confirmed identifier
  • Header field can be used to indicate whether the peer device needs to feed back the reception of the target data subframe
  • Check field can be used to check whether the data control subframe has errors
  • Type field can be used to carry acknowledgement (Ack) or non-acknowledgement (Nak).
  • Target data subframe a data frame generated at the data link control layer for transmitting payload.
  • each target data subframe has a sequence number, and the sequence number is used to distinguish the target data subframes according to the sending order of the target data subframes.
  • the sequence number can be 1, 2, 3, 4, etc.
  • Each time a target data subframe is sent the corresponding sequence number is accumulated by 1.
  • the sequence number of the first target data subframe sent is 1, and the second The sequence number of each target data subframe is 2, and the sequence number of the third target data subframe is 3.
  • sequence number can be 1, 3, 5, 7, etc., that is, every time a target data subframe is sent, The corresponding sequence number is accumulated by 2, etc.; or, the sequence number can also be defined by the amount of data, for example, the size of the first target data subframe is 10 bits, the sequence number of the first target data subframe is 10, and the second The size of each target data subframe is 10 bits, and the data amount is accumulated, and the sequence number of the second data subframe is 20, etc. It should be noted that the specific numbering manner of the sequence number is not limited, as long as the sequence of the transmission target data subframes can be distinguished.
  • Step 501 The source network device obtains a first MAC message to be transmitted, where the first MAC message includes a first field and a second field.
  • the first MAC message to be transmitted is received from the MAC layer.
  • the first field includes a preamble field and a delimiter field
  • the second field includes a destination address field, a source address field, type or length field,
  • Step 502 The source network device generates a first frame, where the first frame includes a first data control subframe.
  • the MAC message in order to distinguish the preamble field in the MAC message from the preamble field in the data frame (such as the first frame) generated by the data link control layer, the MAC message
  • the preamble field in is also referred to as the first preamble field
  • the preamble field in the data frame generated by the data link control layer is referred to as the second preamble field.
  • the first byte to the Nth byte of the two fields of the first preamble field and the delimiter field are used as the second preamble field, and N is an integer greater than or equal to 1 and less than 8.
  • the first data control subframe is generated by using the field space in the first field except the second preamble field; then, the second preamble field, the first data control subframe and the first target data subframe are encapsulated, Get the first frame.
  • the first preamble field in the first MAC message is 7 bytes
  • the delimiter field is 1 byte
  • the first field has a total of 8 bytes
  • the second preamble field is 1 byte, that is, the first MAC is reserved.
  • the first byte of the original first preamble field of the message is used as the second preamble field of the first frame
  • the field space from the second byte to the eighth byte is used as the first data control subframe Generate space.
  • the N can be 2, 3, etc.
  • the first preamble field in the embodiment of the present application indicates the 7-byte preamble field in the MAC message
  • the second preamble field The code field represents a new preamble field generated at the data link control layer.
  • the number of bytes of the new preamble field is less than 7, and the number of bytes of the second preamble field in this embodiment of the application is 1 byte
  • the description is given as an example and is not limited.
  • the first data control subframe includes a check field, and the payload field includes a sequence number of the first target data subframe.
  • the first data control subframe includes a second check field, and the second check field may be a cyclic redundancy check (CRC) field, and the value of the second check field is used for
  • CRC cyclic redundancy check
  • the target network device verifies whether there is an error in the first data control subframe.
  • the first data control subframe further includes a header field; the header field of the first data control subframe is used to indicate whether the target network device needs to feed back the reception status of the first target data subframe to the source network device.
  • a retransmission buffer (buffer) is provided at the data link control layer, and the transmitted data frame (for example, the first frame) is buffered in the retransmission buffer.
  • Step 503 The source network device sends the first frame to the target network device.
  • the first frame is sent down to the RS layer, after being processed by the RS layer, sent to the physical layer, and then sent to the target network device through the transmission medium (such as cable, optical fiber).
  • the transmission medium such as cable, optical fiber
  • Step 504 The target network device receives the first frame, and parses the data in the first frame.
  • the data link control layer receives the first frame from the RS layer, first identifies the second preamble field, and then after the second preamble, analyzes the data in the first frame to obtain the first data control subframe and the first target Data subframe.
  • the target network device may determine whether the first frame is successfully received according to the first data control subframe including the second check field and the first check field in the first target data subframe, specifically:
  • the target network device verifies whether there is an error in the first data control subframe according to the value of the CRC check field in the first data control subframe; uses 7 bytes for the positions of the first data control subframe and the second preamble field The first preamble field and the 1-byte delimiter field are replaced, and the value of the first preamble field is restored according to the value of the second preamble field; the first target data subframe is restored to the first MAC report Then, the target network device verifies whether the first MAC message has errors according to the FCS field of the first target data subframe.
  • the first MAC message is sent to the MAC layer for processing.
  • Step 505 The target network device generates a second frame, where the second frame includes a second data control subframe.
  • the second data control subframe includes a load field and a type field.
  • the type field of the second data control subframe carries the non-confirmation identifier, and the payload field carries the sequence number of the first target data subframe corresponding to the non-confirmation identifier; if the first frame is successfully received, the type field The field carries the confirmation identifier, and the payload field carries the sequence number of the first target data subframe corresponding to the confirmation identifier.
  • Step 506 The target network device sends the second frame.
  • the second data control subframe is sent down to the RS layer, processed by the RS layer, sent to the physical layer, and then sent to the source network device through the transmission medium (such as cable and optical fiber).
  • the transmission medium such as cable and optical fiber
  • Step 507 The source network device receives the second data control subframe, and parses the data in the second data control subframe.
  • the source network device identifies the load field and the type field in the second data control subframe.
  • the type field carries the confirmation identifier, it indicates that the target network device has successfully received the first frame, and the load field carries the sequence number of the first target data subframe corresponding to the confirmation identifier, and the source network device does not need to resend the first frame to the target network device. frame.
  • the type field carries a non-confirmed identifier
  • the payload field carries the sequence number of the first target data subframe corresponding to the non-confirmed identifier, indicating that the target network device has not successfully received the first frame
  • the first target corresponding to the non-confirmed identifier The sequence number of the data subframe recalls the first frame in the retransmission buffer; execute step 508;
  • Step 508 The source network device resends the first frame to the target network device.
  • the source network device sends a first frame to the target network device, and the first target data subframe includes the destination Internet protocol (IP) address of the target network device, and the source When the network device sends to the destination host for the first time, it should send the address resolution protocol (ARP) before then.
  • IP Internet protocol
  • ARP address resolution protocol
  • the source network device determines the MAC address of the destination host according to the destination IP address, so as to send and receive data later. To provide convenience, the source network device sets the serial number of the sent data frame according to the destination IP address of the destination host.
  • a data link control layer is introduced between the MAC layer and the RS layer in the existing Ethernet architecture, and operations related to retransmission control are completed at this layer, and the data link control layer is used for retransmission.
  • the transmission control data control subframe reduces the bit error rate through the retransmission mechanism; on the sender side, the sender modifies the first MAC message of the MAC layer, using the first preamble field and setting of the first MAC message Part of the space between the two fields of the delimiter generates the first data control subframe. It is also understandable that the generated first data control subframe is inserted into the first preamble field and the delimiter in the first MAC message.
  • the overhead can also take into account the structure of each layer in the Ethernet architecture; on the receiving end side, a second data control subframe can also be generated, and the second data control subframe can be used to feed back the reception status of the first target data subframe,
  • the second data control subframe carries the confirmation or non-confirmation identifier, and the sequence number corresponding to the confirmation or non-confirmation identifier (that is, the sequence number of the successfully received data frame or the sequence number of the unsuccessfully received data frame), and it is sent The end can retransmit the data frame that the receiving end has not successfully received, thereby reducing the bit error rate of the link.
  • step 505 the target network device generates the second frame including two situations:
  • the target network device does not send data to the source network device, and the target network device generates a second data control subframe, that is, the second frame only includes the second data control subframe.
  • the second case: the target network device also has data sent to the source network device, that is, the second frame contains the second data control subframe and the second target data subframe, then generating the second frame may also specifically include:
  • the second MAC message includes a first field and a second field; the first field includes a preamble field and a delimiter field; the second field includes a destination address field and a source address field. , Type or length field, payload field, frame check sequence field and frame gap field.
  • the second preamble field, the second data control subframe and the second target data subframe are encapsulated to obtain the second frame.
  • the load field of the second data control subframe also carries the sequence number of the second target data subframe.
  • the first data control subframe generated by the source network device may further include a header field, which is used to indicate whether the target network device is The reception of the first target data subframe needs to be fed back.
  • the header field carries a first identifier (such as: 00000000)
  • the first identifier is used to indicate that the target network device does not need to feed back the reception of the first target data subframe to the source network device; if this The header field carries a second identifier (eg, 00010000), and the second identifier is used to indicate that the target network device needs to feed back the reception status of the first target data subframe to the source network device.
  • the target network device receives the first frame, parses the first data control subframe, and identifies the header field in the first data control subframe.
  • the target network device When the target network device recognizes that the header field is the first identifier, the following two situations are included:
  • the target network device needs to send data to the source network device.
  • the second frame generated by the target network device includes a second data control subframe and a second target data subframe.
  • the second data control The subframe includes a type field and a load field.
  • the type field does not carry a confirmation or non-confirmation identifier, that is, the value of the type field is a preset value, and the preset value can be all "0" or other values (for example, all " 1”), the payload field only carries the sequence number of the second target data subframe.
  • the target network device does not need to send data to the source network device, so steps 505 to 508 are optional steps and may not be executed.
  • the target network device When the target network device recognizes that the header field is the second identifier, the following two situations are included:
  • the target network device needs to send a data frame to the source network device.
  • the second frame generated by the target network device includes a second data control subframe and a second target data subframe.
  • the second data control The subframe includes a type field and a load field.
  • the type field carries a confirmation identifier or a non-confirmation identifier
  • the load field carries the sequence number of the first target data subframe and the sequence number of the second target data subframe corresponding to the confirmation or non-confirmation identifier. .
  • the target network device does not need to send a data frame to the source network device.
  • the second frame generated by the target network device only includes the second data control subframe, and the type field carries the confirmation identifier or the non-confirmation identifier.
  • the payload field carries the sequence number of the first target data subframe corresponding to the confirmation identifier or the non-confirmation identifier. Because there is no data frame to be sent, the payload field does not need to carry the sequence number of the target data subframe.
  • the second identifier may include a first sub-identifier (e.g., 00010001) and a second sub-identity (e.g., 00010010), and the first sub-identity and the second sub-identity can be used to identify the Whether to include the first target data subframe, where, if the header identifier carries the first sub identifier, the first sub identifier indicates that the first frame includes the first data control subframe and the first target data subframe, that is, the first data control subframe After the frame is connected to the first target data subframe, the receiving end needs to restore the first target data subframe to the first MAC message according to the MAC layer frame format, and transport the first MAC message to the MAC layer for processing;
  • the part field carries the second sub-identification, and the second sub-identification indicates that the first frame only contains the first data control subframe, that is, there is no target data subframe after the first data control subframe, and the receiving end does not need to send the corresponding data to the MAC layer.
  • the value of the header field of the first data control subframe is described in this embodiment.
  • the value of the header field of the second data control subframe in the embodiment of this application please refer to the value of the first data control subframe in this embodiment.
  • the value of the data control subframe is understood, and will not be described in detail later.
  • retransmission control can be performed based on the transmission level of the data in this embodiment.
  • Data with high priority has high QoS requirements, and data with low priority has low QoS requirements.
  • QoS distinguish whether the transmitted data is retransmitted, that is, per queue automatic repeat-request (PQ-ARQ).
  • PQ-ARQ per queue automatic repeat-request
  • data frames are divided into two types.
  • the first type is The low priority data that does not need to be retransmitted, this part of the data occupies most of the link bandwidth; the second part is the high priority data frame that requires lossless transmission, this part of the data needs to be retransmitted to ensure that the part of the data frame Lossless transmission, this part of the data frame occupies a small link bandwidth.
  • data is transmitted from port A to port B, and the interface rate is R (for example, R is 100Gbps).
  • R for example, R is 100Gbps.
  • R ⁇ a part of the data (for example, a is 0.001) is the priority High data requires lossless transmission.
  • the sending end may determine the identifier carried in the header field according to the transmission level of the first target data subframe.
  • the transmission level of the first target data subframe is low priority, it is determined that the header field of the first data control subframe carries the first identifier, and the first identifier is used to indicate that the target network device does not need to feed back the first identifier to the source network device.
  • the reception of the target data subframe if the transmission level of the first target data subframe is high priority, it is determined that the header field of the first data control subframe carries the second identifier, which is used to indicate that the target network device needs Feed back the reception status of the first target data subframe to the source network device.
  • the Ethernet interface belongs to the full-duplex mode, and the data receiving and sending coexist, that is, the source network device is the sending end device and the receiving end Device; the target network device is the receiving end device and also the sending end device.
  • the receiving end and the sending end are relative concepts. Therefore, the format of the first data control subframe generated by the source network device and the second data control subframe generated by the target network device are the same. Both the first data control subframe and the second data control subframe include header fields and types. Field, load field and CRC check field.
  • the source network device receives the third frame sent by the target network device.
  • the third frame includes a third data control subframe and a third target data subframe, the third data control subframe and the second data control subframe (or the first data control subframe) have the same format, and the third target The format of the data subframe and the first target data subframe are the same.
  • the specific generation method of the third data control subframe and the third target data subframe in the third frame refer to the source network device generating the first frame in step 502 of the above embodiment. The method steps are not repeated here.
  • step 502 the source network device generates a first frame.
  • the first data control subframe includes a header field, a type field, a load field, and a CRC check field.
  • Header field indicates whether the target network device feeds back the reception of the first target data subframe to the source network device.
  • the source network device determines whether there is an error in the third data control subframe by checking the CRC check field in the third data control subframe.
  • the source network device uses the first preamble field and the delimiter field according to the frame format of the MAC layer. Replace the third data control subframe and the second preamble to obtain the MAC message, and then use the FCS field in the MAC message to determine whether the MAC message has errors; if the third data control subframe or MAC message has When there is an error, it is determined that the third frame is not successfully received; when there is no error in the third data control subframe and the MAC message, it is determined that the third frame is successfully received. If the third frame is successfully received, further, the MAC message is sent to the MAC layer for processing.
  • the value of this type field indicates whether the third frame sent by the target network device is successfully received before the first moment.
  • the type field carries an acknowledgment identifier; if the source network device does not successfully receive the third frame, it carries a non-acknowledgement identifier; the load field of the first data control subframe includes acknowledgment or non-acknowledgement.
  • the confirmation identifier corresponds to the sequence number of the third target data subframe and the sequence number of the first target data subframe.
  • the method further includes the following steps: the target network device stores the retransmission buffer according to the sequence number of the third target data subframe corresponding to the unconfirmed identifier Call the third frame in the middle; the target network device resends the third frame to the source network device.
  • the source network device If the source network device successfully receives the third frame, the source network device replaces the second data control subframe and the second preamble field with the first preamble field and the delimiter field according to the frame format of the MAC layer to obtain the MAC Message; then, the MAC message is transmitted to the MAC layer for processing.
  • the source network device sends the first frame to the target network device (receiving end), and this first frame carries the first frame sent to the target network device at the first moment.
  • the reception situation of the third frame received before the first moment is fed back through the first data control subframe.
  • the second data control subframe in the step of generating the second frame by the target network device, includes a header field, a type field, a load field, and a CRC check field.
  • the header field indicates whether the source network device feeds back the reception situation of the second target data subframe.
  • the target network device determines whether there is an error in the first data control subframe by checking the CRC check field in the first data control subframe; the target network device replaces the first preamble and delimiter with the first preamble and delimiter according to the frame format of the MAC layer.
  • a data control subframe and a second preamble are used to obtain the first MAC message, and the FCS field in the first MAC message is used to determine whether the first MAC message has an error code; if the first data control subframe or the first MAC message is When a MAC message has an error, it is determined that the first frame is not successfully received; when there is no error in the first data control subframe and the first MAC message, it is determined that the first frame is successfully received. If the first frame is successfully received, further, the first MAC message is sent to the MAC layer for processing.
  • the type field indicates the reception status of the first target data subframe. If the first frame is not successfully received, the type field of the second data control subframe carries the non-confirmation identifier, and the payload field carries the first target corresponding to the non-confirmation identifier.
  • the target network device sends a second frame to the source network device (receiving end), and this second frame carries the first frame sent to the source network device at the second time.
  • the second data control subframe is used to feed back the reception of the first frame received before the second time, and the retransmission mechanism is used to reduce the bit error rate.
  • the second time is later than the first time.
  • the retransmission mechanism can be combined with other error correction methods.
  • the retransmission mechanism can be combined with FEC, and after FEC error correction Retransmission control is performed under the condition of lower bit error rate.
  • FEC error correction Retransmission control
  • RS Reed Solomon
  • RS RS (544,514) FEC is used to cope with single link When the loss rate is equal to or greater than 100Gbps, there is a certain risk.
  • the method further includes:
  • step 502 is executed.
  • Combining ARQ with FEC can effectively reduce the equivalent output error rate of FEC.
  • the principle of FEC is mainly to realize online real-time error correction from the algorithm level by adding a certain check bit in the physical layer coding stage, reduce the error rate of the link, and realize reliable link transmission.
  • retransmission control Completed at the data link control layer FEC will not affect the method steps in step 501 to step 508 in the method embodiment of this application.
  • ARQ retransmission control is performed after FEC to ensure that the input error rate of the ARQ control logic is maintained at a relatively high level.
  • a low level can effectively reduce the probability of retransmission, and while ensuring effective link utilization, it can also reduce the delay introduced by retransmission to an extremely low level.
  • FIG. 12 is a schematic structural diagram of an embodiment of a network device 1200.
  • the device is configured to execute the method steps performed by the source network device in the foregoing method embodiment, and the network device includes: an acquisition module 1201, a processing module 1202, a sending module 1203, and a receiving module 1204;
  • the acquiring module 1201 is used to perform step 501 in the method embodiment corresponding to FIG. 5, and the processing module 1202 is used to perform the steps of parsing the data in the second data control subframe in step 502 and step 507; the sending module 1203 is used to perform Steps 503 and 508:
  • the receiving module 1204 is configured to perform the step of receiving the second data control subframe in step 507.
  • the obtaining module 1201 obtains a first MAC message to be transmitted, where the first MAC message includes a first field and a second field;
  • the processing module 1202 generates a first frame.
  • the first frame includes a first data control subframe obtained by using the field space of the first field obtained by the obtaining module 1201 and a first data control subframe obtained based on the second field.
  • the sending module 1203 sends the first frame generated by the generating module to the target network device.
  • the first field includes a preamble field and a delimiter field
  • the processing module 1202 is further specifically configured to: use the two fields of the preamble field and the delimiter field. Generate the first data control subframe, and generate the first target data subframe according to the second field; encapsulate the first data control subframe and the first target data subframe , To get the first frame.
  • the second field includes a destination address field, a source address field, a type or length field, a payload field, and a frame check sequence field.
  • the first target data subframe further includes a first check field
  • the first data control subframe includes a second check field
  • the value of the first check field is used The target network device verifies whether the first MAC message has an error code
  • the value of the second check field is used by the target network device to verify whether the first data control subframe has an error code.
  • the receiving module 1204 is configured to receive a second frame sent by the target network device, the second frame including a second data control subframe, and the second data control subframe Including type field and load field;
  • the processing module 1202 is further configured to parse the second data control subframe received by the receiving module 1204, and identify the value of the type field and the value of the load field; the value of the type field of the second data control subframe Is a non-confirmed identifier, the load field of the second data control subframe carries the sequence number of the first target data subframe corresponding to the non-confirmed identifier, then the first target corresponding to the non-confirmed identifier Calling the first frame in the retransmission buffer by the sequence number of the data subframe;
  • the sending module 1203 is further configured to resend the first frame to the target network device;
  • the load field of the second data control subframe carries the sequence number of the second target data subframe corresponding to the confirmation identifier, and The confirmation identifier indicates that the target network device has successfully received the first frame.
  • the second frame further includes a second target data subframe, and the format of the second target data subframe is the same as the format of the first target data subframe;
  • the processing module 1202 is further configured to replace the second data control subframe in the second frame with a preamble field and a delimiter field according to the frame format of the MAC layer to obtain a MAC message;
  • the obtaining module 1201 is configured to transmit the MAC message obtained by the processing module 1202 to the MAC layer for processing.
  • the second frame includes a second target data subframe
  • the second data control subframe carries a sequence number corresponding to the second target data subframe through a load field.
  • the second data control subframe further includes a header field; the header field of the second data control subframe is used to indicate whether the source network device needs to report to the target network The device feeds back the reception situation of the second target data subframe.
  • the first data control subframe further includes a header field; the header field of the first data control subframe is used to indicate whether the target network device needs to report to the source network The device feeds back the reception situation of the first target data subframe.
  • the processing module 1202 is further configured to: when the transmission level of the first target data subframe is low priority, determine that the header field of the first data control subframe carries The first identifier; the first identifier is used to indicate that the target network device does not need to feed back the reception of the first target data subframe to the source network device; when the transmission level of the first target data subframe When the priority is high, it is determined that the header field of the first data control subframe carries a second identifier; the second identifier is used to indicate that the target network device needs to feed back the first target to the source network device The reception of data subframes.
  • the network device can also be used to perform the method steps performed by the target network device in the foregoing method embodiment, where the receiving module 1204 is also used to perform step 504 in the embodiment corresponding to FIG. 5
  • the processing module 1202 is also used to perform step 505, and the sending module 1203 is also used to perform step 506.
  • the receiving module 1204 is configured to receive a first frame sent by a source network device, where the first frame includes a first data control subframe and a first target data subframe; the first data control subframe is a slave Generated by the field space of the first field of the first MAC message obtained by the upper layer, the first target data subframe is generated based on the second field of the first MAC message; the first data control subframe Carry the sequence number corresponding to the first target data subframe.
  • the processing module 1202 is configured to generate a second frame, the second frame including a second data control subframe; if the first frame is not successfully received, the second data control subframe carries a non- The confirmation identifier and the load field carries the sequence number of the first target data subframe corresponding to the non-confirmation identifier; if the first frame is successfully received, the second data control subframe carries the confirmation identifier through the type field And carrying the sequence number of the first target data subframe corresponding to the confirmation identifier through the load field;
  • the sending module 1203 is configured to send the second frame generated by the processing module 1202 to the source network device.
  • the second frame further includes a second target data subframe, and the second data control subframe carries the sequence number of the second target data subframe through the load field.
  • the obtaining module 1201 is configured to obtain a second MAC message from the MAC layer, and the second MAC message includes the first field and the second field;
  • the processing module 1202 is configured to generate the second data control subframe by using part of the field space of the first field received by the obtaining module 1201; and generate a second target data subframe according to the second field; Encapsulating the second data control subframe and the second target data subframe to obtain the second frame.
  • the first field includes a preamble field and a delimiter field.
  • the second field includes a destination MAC address field, a source MAC address field, a type or length field, a payload field, and a frame check sequence field.
  • the network device further includes a processing module 1202, the first target data subframe includes a first check field; the first data control subframe includes a second check field;
  • the processing module 1202 is used to:
  • the first MAC message has an error code or the first data control subframe has an error code, it is determined that the first frame is not successfully received.
  • the second frame includes a second target data subframe, the second target data subframe includes a first check field, and the second data control subframe includes a second check field.
  • Field the value of the first check field is used by the source network device to verify whether the second MAC message has errors, and the value of the second check field is used by the source network device to verify the The second data controls whether there are errors in the subframe.
  • the first data control subframe further includes a header field, and the value of the header field of the first data control subframe is used to indicate whether the target network device needs to report to the The source network device feeds back the reception situation of the first target data subframe;
  • the network device further includes a processing module 1202, and the processing module 1202 is configured to:
  • the value of the header field of the first data control subframe is the second identifier, it is determined whether the first frame is successfully received.
  • the second data control subframe further includes a header field; the value of the header field of the second data control subframe is used to indicate whether the source network device needs to report to the The target network device feeds back the reception situation of the second target data subframe.
  • the processing module 1202 is further configured to: perform error correction processing on the first frame through forward error correction FEC; if the bit error rate of the first frame is higher than a threshold, Then perform the step of generating the second frame.
  • the network equipment in FIG. 12 is presented in the form of functional modules.
  • the “module” here can refer to application-specific integrated circuits (ASIC), circuits, processors and memories that execute one or more software or firmware programs, integrated logic circuits, and/or other functions that can provide the above-mentioned functions Of the device.
  • ASIC application-specific integrated circuits
  • the network device in FIG. 12 may adopt the form shown in FIG. 13.
  • Each module can be implemented by the processor 1301, the Ethernet interface 1302, and the memory 1303 in FIG. 13.
  • the memory 1303, the processor 1301, and the Ethernet interface 1302 are connected by a bus 1304; wherein, the processing 1301 may be a general-purpose central processing unit (CPU), a microprocessor, or an integrated circuit with certain functions.
  • the Ethernet interface 1302 is used to receive and send Ethernet data.
  • the memory 1303 can be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, random access memory (RAM), or other types that can store information and instructions Dynamic storage device.
  • the processor 1301 is configured to execute instructions in the memory 1303, so that the network device executes the method steps executed by the source network device in the foregoing method embodiment, or causes the network device to execute the method executed by the target network device in the foregoing method embodiment step.
  • the chip when the device is a chip in a terminal, the chip includes a processing unit and a communication unit.
  • the processing unit may be, for example, a processor, and the communication unit may be, for example, an input/output interface, Pins or circuits, etc.
  • the processing unit can execute the computer-executable instructions stored in the storage unit, so that the chip in the terminal executes the wireless communication method of any one of the above-mentioned first aspects.
  • the storage unit is a storage unit in the chip, such as a register, a cache, etc., and the storage unit may also be a storage unit in the terminal located outside the chip, such as a read-only memory (read-only memory). -only memory, ROM) or other types of static storage devices that can store static information and instructions, random access memory (RAM), etc.
  • the processor mentioned in any of the above can be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more for controlling the above
  • the first aspect is an integrated circuit for program execution of the wireless communication method.
  • the disclosed system, device, and method can be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or It can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of the present application essentially or the part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , Including several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disks or optical disks and other media that can store program codes. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)

Abstract

一种数据传输方法及网络设备。该方法包括:获取待传输的第一MAC报文,利用第一MAC报文的第一字段的字段空间得到第一数据控制子帧,基于第一MAC报文的第二字段得到第一目标数据子帧,第一数据控制子帧包括第一目标数据子帧的序列号;向目标网络设备发送包括第一数据控制子帧和第一目标数据子帧的第一帧。源网络设备利用第一字段空间生成用于重传控制的第一数据控制子帧,不会增加额外开销;当目标网络设备未成功接收到第一帧时,目标网络设备向源网络设备反馈第一目标数据子帧的序列号,源网络设备重传第一帧,以降低链路误码率。

Description

一种数据传输方法及网络设备
本申请要求于2020年4月15日提交中国专利局、申请号为“202010294665.3”、申请名称为“一种数据传输方法及网络设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信领域,尤其涉及一种数据传输方法及网络设备。
背景技术
随着以太网标准的演进,链路速率不断提升,在400吉比特以太网(gigabit ethernet,GE)、800吉比特以太网(gigabit ethernet,GE)、以及未来的1.6太比特以太网(terabit ethernet,TE)时代,单链路的速率将提升到100Gbps+,随之引入的链路损耗也将进一步增大。现有的100GE、400GE以太网标准中,采用前向纠错(forward error correction,FEC)降低链路误码率,FEC是一种通过增加冗余数据对丢失的数据包进行恢复的信道编码算法,由发送端对有效载荷数据进行FEC编码,生成校验数据包,有效载荷数据和校验数据包合并称作FEC数据块,有效载荷数据包和校验数据包的数量比例是固定的。发送端发送FEC数据块,接收端接收到FEC数据块后,通过校验数据包和有效载荷数据包来恢复出丢失或者出错的数据包。
但当链路速率进一步提升时,现有的FEC方案将会面临增益能力不足的风险。针对这种风险,可以通过增加校验数据包的数量来提升FEC的纠错能力,而这必然要增加链路开销和计算复杂度。
在高速以太网时代,在不增加链路开销和计算复杂度的情况下,有效降低链路误码率成为亟待解决的问题。
发明内容
本申请实施例提供了一种数据传输方法及网络设备,该传输方法应用于以太网通信系统,该以太网通信系统包括源网络设备和目标网络设备,源网络设备和目标网络设备均为具有以太网接口的设备,例如,如交换机、路由器、服务器或个人计算机(personal computer,PC)等,源网络设备和目标网络设备通信连接。本申请中在以太网架构中引入自动重传请求(automatic repeat-request,ARQ)机制,通过重传机制有效的降低链路误码率。
第一方面,本申请实施例提供了一种数据传输方法,该方法应用于源网络设备,具体步骤包括:获取待传输的第一MAC报文,第一MAC报文包括第一字段和第二字段;利用第一字段的字段空间得到的第一数据控制子帧,且基于第二字段得到的第一目标数据子帧,该第一数据控制子帧用于重传控制,该第一目标数据子帧用于承载待传输的有效数据,生成第一帧,该第一帧包括第一数据控制子帧和第一目标数据子帧;第一数据控制子帧包括第一目标数据子帧的序列号;源网络设备向目标网络设备发送第一帧;当目标网络设备未成功接收到第一帧时,目标网络设备向源网络设备反馈第一目标数据子帧数据子帧的序列号,源网络设备重传该第一帧,以降低链路误码率;本申请中,源网络设备利用从上层获 取到的第一MAC报文的第一字段空间生成用于重传控制的第一数据控制子帧,不会增加额外开销,而且不需要修改以太网架构中各个层的结构,兼容以太网标准的情况下,通过重传机制有效的降低链路误码率。
在一个可选的实施例中,第一字段包括前导码字段和定界符字段,生成第一帧可以包括:对第一MAC报文进行修改,利用前导码字段和定界符字段这两个字段的部分或全部空间生成第一数据控制子帧,且根据第二字段生成第一目标数据子帧;然后,封装第一数据控制子帧和第一目标数据子帧,得到第一帧;本实施例中,利用MAC报文中的前导码字段和定界符字段这两个字段的或全部空间生成第一数据控制子帧,不会增加额外开销。
在一个可选的实施例中,利用第一MAC报文中的第一前导码字段和定界符字段这两个字段的第一个字节至第N个字节作为第二前导码字段,其中,N为大于或者等于1,且小于8的整数,例如,N为1或者2,利用第一字段中除了第二前导码字段之外的字段空间生成第一数据控制子帧;然后,封装第二前导码字段、第一数据控制子帧和第一目标数据子帧,得到该第一帧;本实施例中,利用第一MAC报文中的第一前导码字段和定界符字段这两个字段中的部分字段空间生成第一数据控制子帧,利用第一MAC报文中的第一前导码字段中的前N个字节作为第一帧中的第二前导码字段,该第二前导码字段的值可以用于恢复第一MAC报文中的第一前导码字段的值。
在一个可选的实施例中,第一MAC报文中的第二字段包括目的MAC地址字段、源MAC地址字段、类型或长度字段、载荷字段和帧校验序列字段。
在一个可选的实施例中,第一目标数据子帧还包括第一校验字段,第一数据控制子帧包括第二校验字段,第二校验字段可以为循环冗余校验(cyclic redundancy check,CRC)字段,该第二校验字段为校验序列字段(frame check sequence,FCS);第一校验字段的值用于目标网络设备验证第一MAC报文是否有误码,而第二校验字段的值用于目标网络设备验证第一数据控制子帧是否有误码;本实施例中,第一校验字段和第二校验字段可以用于目标网络设备判定是否成功接收该第一帧,当第一数据控制子帧和第一MAC报文都没有误码时,可以判定成功接收第一帧,增强了验证第一帧是否被成功接收的准确性。
在一个可选的实施例中,其特征在于,向目标网络设备发送第一帧之后,还可以包括如下步骤:接收目标网络设备发送的第二帧,第二帧包括用于重传控制的第二数据控制子帧,第二数据控制子帧包括类型字段和负载字段;解析第二数据控制子帧,得到第二数据控制子帧中的数据,识别第二数据控制子帧中类型字段的值和负载字段的值;若第二数据控制子帧的类型字段的值为非确认标识,第二数据控制子帧的负载字段携带非确认标识对应的第一目标数据子帧的序列号,则根据非确认标识对应的第一目标数据子帧的序列号调取重传缓存中的第一帧;源网络设备向目标网络设备重新发送第一帧,以降低误码率;或者,若第二数据控制子帧的类型字段的值为确认标识,第二数据控制子帧的负载字段携带确认标识对应的第一目标数据子帧的序列号,确认标识指示目标网络设备已成功接收到第一帧;本实施例中,源网络设备接收目标网络设备发送的第二帧,该第二帧包括第二数据控制子帧,该第二数据控制子帧可以用于对第一目标数据子帧接收情况的反馈,若第二数据控制子帧的类型字段的值为非确认标识,表明目标网络设备未成功接收到该第一帧,源 网络设备向目标网络设备重新发送第一帧,以降低误码率。
在一个可选的实施例中,第二帧还包括第二目标数据子帧,第二目标数据子帧的格式与第一目标数据子帧的格式相同,第二目标数据子帧中包括为目标网络设备向源网络设备发送的有效数据,源网络设备可以通过第二数据控制子帧获知目标网络设备对第一帧的接收情况,同时,可以将接收到的第二目标数据子帧进行恢复,根据MAC层的帧格式,利用第一前导码字段和定界符字段替换第二帧中的第二数据控制子帧和第二前导码,得到MAC报文;将MAC报文传输至MAC层进行处理;本实施例中虽然增加了用于重传控制的第二数据控制子帧,但是并不会影响源网络设备和目标网络设备之间有效数据的传输,也不会增加额外开销。
在一个可选的实施例中,第二帧包括第二目标数据子帧,第二数据控制子帧通过负载字段携带第二目标数据子帧对应的序列号;该第二目标数据子帧对应的序列号用于若源网络设备未成功接收到该第二帧,则目标网络设备根据该序列号对第二帧进行重传。
在一个可选的实施例中,第二数据控制子帧还包括头部字段;第二数据控制子帧的头部字段用于指示源网络设备是否需要向目标网络设备反馈第二目标数据子帧的接收情况;在某些场景中,有些数据对接口服务质量(Quality of Service,QoS)要求低,不需要进行重传处理,可以通过该头部字段来指示对端不需要反馈第二目标数据子帧的接收情况,有效降低重传概率,以节省传输资源。
在一个可选的实施例中,第一数据控制子帧还包括头部字段;第一数据控制子帧的头部字段用于指示目标网络设备是否需要向源网络设备反馈第一目标数据子帧的接收情况。
在一个可选的实施例中,基于数据的传输级别进行重传控制,优先级高的数据对QoS要求高,优先级低的数据对QoS要求低,按照QoS的需求对传输的数据是否重传进行区分,若第一目标数据子帧的传输级别为低优先级,则确定第一数据控制子帧的头部字段携带第一标识;第一标识用于指示目标网络设备不需要向源网络设备反馈第一目标数据子帧的接收情况;若第一目标数据子帧的传输级别为高优先级,则确定第一数据控制子帧的头部字段携带第二标识;第二标识用于指示目标网络设备需要向源网络设备反馈第一目标数据子帧的接收情况;本实施例中,对于以太网数据而言,并非所有的数据都需要无损传输,因此可以不用对所有的数据进行ARQ重传控制,只需对优先级高的数据进行重传控制,这样可以有效降低重传概率,而且不需要对所有报文进行缓存,只需对优先级高的数据进行缓存即可,这样可以极大的减小数据缓存的存储容量,以降低芯片面积压力。
第二方面,本申请实施例提供了一种数据传输方法,该方法应用于目标网络设备,具体的方法包括:接收源网络设备发送的第一帧,第一帧包括第一数据控制子帧和第一目标数据子帧;第一数据控制子帧为利用从上层获取的第一MAC报文的第一字段的字段空间生成的,第一目标数据子帧为基于第一MAC报文的第二字段生成的;第一数据控制子帧携带第一目标数据子帧对应的序列号;本申请实施例中,第一数据控制子帧是利用MAC报文的第一字段空间得到,而第一目标数据子帧数据子帧是利用第一MAC报文的第二字段空间得到的,第一数据控制子帧和第一目标数据子帧的结构兼容以太网架构,且该第一数据控制子帧不会引入额外开销,该第一数据控制子帧包括第一目标数据子帧的序列号; 接收源网络设备发送的第一帧,当目标网络设备未成功接收到第一帧时,目标网络设备向源网络设备反馈第一目标数据子帧数据子帧的序列号,源网络设备重传该第一帧,以降低链路误码率;本申请中,源网络设备利用从上层获取到的第一MAC报文的第一字段空间生成用于重传控制的第一数据控制子帧,不会增加额外开销,而且不需要修改以太网架构中各个层的结构,兼容以太网标准的情况下,通过重传机制有效的降低链路误码率。
在一个可选的实施例中,接收源网络设备发送的第一帧之后,方法还可以包括:生成第二帧,第二帧也包括用于重传控制的第二数据控制子帧;若未成功接收到第一帧,第二数据控制子帧通过类型字段携带非确认标识及通过负载字段携带非确认标识对应的第一目标数据子帧的序列号;若成功接收到第一帧,第二数据控制子帧通过类型字段携带确认标识及通过负载字段携带确认标识对应的第一目标数据子帧的序列号;向源网络设备发送第二帧;本实施例中,目标网络设备通过第二帧中的第二数据控制子帧反馈第一目标数据子帧的接收情况。
在一个可选的实施例中,第二帧还包括第二目标数据子帧,第二数据控制子帧通过负载字段携带第二目标数据子帧的序列号;该第二目标数据子帧对应的序列号用于若源网络设备未成功接收到该第二帧,则目标网络设备根据该序列号对第二帧进行重传。
在一个可选的实施例中,第二帧还包括第二目标数据子帧,生成第二帧可以具体包括:从MAC层获取第二MAC报文,对第二MAC报文进行修改,第二MAC报文包括第一字段和第二字段;利用第一字段的部分或全部字段空间生成第二数据控制子帧;且根据第二字段生成第二目标数据子帧;封装第二数据控制子帧和第二目标数据子帧,得到第二帧;本实施例中,利用MAC报文中的前导码字段和定界符字段这两个字段的或全部空间生成第二数据控制子帧,不会增加额外开销。
在一个可选的实施例中,第一字段包括前导码字段和定界符字段;利用第二MAC报文中的第一前导码字段和定界符字段这两个字段的第一个字节至第N个字节作为第二前导码字段,其中,N为大于或者等于1,且小于8的整数,利用第一字段中除了第二前导码字段之外的字段空间生成第二数据控制子帧;然后,封装第二前导码字段、第二数据控制子帧和第二目标数据子帧,得到该第二帧;本实施例中,利用第二MAC报文中的第一前导码字段和定界符字段这两个字段中的部分字段空间生成第二数据控制子帧,利用第二MAC报文中的第一前导码字段中的前N个字节作为第二帧中的第二前导码字段,该第二前导码字段的值可以用于恢复第二MAC报文中的第一前导码字段中的值,不会增加额外开销。
在一个可选的实施例中,第二字段包括目的MAC地址字段、源MAC地址字段、类型或长度字段、载荷字段和帧校验序列字段。
在一个可选的实施例中,第一目标数据子帧包括第一校验字段;第一数据控制子帧包括第二校验字段,方法还可以包括:通过第一校验字段验证第一MAC报文是否有误码;通过第二校验字段验证第一数据控制子帧是否有误码;若第一MAC报文有误码或者第一数据控制子帧有误码,则确定未成功接收到第一帧;若判定第一MAC报文有误码和第一数据控制子帧均没有误码,则确定成功接收到第一帧。
在一个可选的实施例中,第二帧包括第二目标数据子帧,第二目标数据子帧包括第一校验字段,第二数据控制子帧包括第二校验字段;第一校验字段的值用于源网络设备验证第二MAC报文是否有误码,第二校验字段的值用于源网络设备验证第二数据控制子帧是否有误码;若该第二数据控制子帧和第二MAC报文均没有误码,则源网络设备确定成功接收到第二帧;若第二数据控制子帧有误码或第二MAC报文有误码,则源网络设备确定未成功接收到第二帧。
在一个可选的实施例中,第一数据控制子帧还包括头部字段,第一数据控制子帧的头部字段的值用于指示目标网络设备是否需要向源网络设备反馈第一目标数据子帧的接收情况;该方法还可以包括:解析第一数据控制子帧中的数据,得到头部字段的值;若第一数据控制子帧的头部字段的值为第一标识,第一标识用于指示目标网络设备不需要向源网络设备反馈第一目标数据子帧的接收情况,将第二数据控制子帧的类型字段设置为预设值,例如该预设值为全“0”或者该预设值为全“1”,即该第二数据控制子帧的类型字段中不需要携带确认或者非确认标识;若第一数据控制子帧的头部字段的值为第二标识,第一标识用于指示目标网络设备需要向源网络设备反馈第一目标数据子帧的接收情况,方法还包括:进一步判定是否成功接收到第一帧;若成功接收到该第一帧,则第二数据控制子帧的类型字段中携带确认标识,若未成功接收到该第一帧,则第二数据控制子帧的类型字段中携带非确认标识。
在一个可选的实施例中,第二数据控制子帧还包括头部字段;第二数据控制子帧的头部字段的值用于指示源网络设备是否需要向目标网络设备反馈第二目标数据子帧的接收情况。
在一个可选的实施例中,在生成第二帧之前,还可以包括如下步骤:通过前向纠错FEC对第一帧进行纠错处理;若对第一帧的误码率高于阈值,则生成第二帧,以进行重传控制;本实施例中,在FEC纠错之后在较低误码率条件下进行重传控制,在FEC后进行重传控制,保证了重传控制逻辑的输入误码率维持在较低的水平,可以有效降低重传概率,保证链路有效利用率的同时,还可以将重传引入的时延降到极低水平。
第三方面,本申请实施例中提供了一种网络设备,该网络设备具有实现上述方法中源网络设备所执行的功能,或者具有实现上述方法中目标网络设备所执行的功能;该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现;该硬件或软件包括一个或多个与上述功能相对应的模块。
第四方面,本申请实施例中提供了一种网络设备,处理器、存储器和以太网接口,处理器、存储器和以太网接口通过总线连接,存储器用于存储程序指令,当程序或指令被处理器执行时,使得网络设备执行上述第一方面或第二方面中任一项的方法。
第五方面,本申请实施例中提供了计算机可读介质,用于储存计算机程序或指令,计算机程序或指令被执行时使得计算机执行上述第一方面或第二方面中任一项的方法。
第六方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持网络设备实现上述方面中所涉及的功能,例如,例如发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,芯片系统还包括存储器,存储器,用于保存网络设备必要的程 序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
附图说明
图1为本申请实施例中一种以太网通信系统的场景示意图;
图2为本申请实施例中数据链路控制层的位置示意图;
图3为本申请实施例中MAC报文的结构示意图;
图4为本申请实施例中数据控制子帧的一个示例的结构示意图;
图5为本申请实施例中一种数据传输方法的一个实施例的步骤流程示意图;
图6为本申请实施例中重传处理的一个实施例的流程示意图;
图7为本申请实施例中MAC报文对应的数据控制子帧和目标数据子帧的示意图;
图8为本申请实施例中数据控制子帧的另一个示例的结构示意图;
图9为本申请实施例中逐优先级重传控制的场景示意图;
图10为本申请实施例中重传处理的另一个实施例的流程示意图;
图11为本申请实施例中基于前向纠错和重传机制结合的性能仿真示意图;
图12为本申请实施例中网络设备的一个实施例的结构示意图;
图13为本申请实施例中网络设备的另一个实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中出现的术语“和/或”,可以是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中字符“/”,一般表示前后关联对象是一种“或”的关系。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。
现有的以太网架构中是通过FEC进行差错控制,随着以太网标准的演进,链路速率不断提升,FEC方案面临增益能力不足的情况。本申请中在以太网架构中引入自动重传请求(automatic repeat-request,ARQ)机制,通过重传机制有效的降低链路误码率。
本申请实施例提供了一种数据传输方法,该方法可以应用于一种以太网通信系统,该以太网通信系统包括源网络设备和目标网络设备,源网络设备和目标网络设备均为具有以太网接口的设备,源网络设备和目标网络设备通过线缆连接,其中,在本申请的可选实施例中,源网络设备可以理解为发送端(或发送端设备),目标网络设备也可以理解接收端(或 接收端设备)。发送端获取传输的介质访问控制(media access control,MAC)报文,然后对该MAC报文进行修改,进而生成第一帧。具体的,该MAC报文包括第一字段和第二字段,接收端利用所述第一字段的字段空间生成用于重传控制的第一数据控制子帧,基于所述第二字段生成用于携带有效载荷的第一目标数据子帧,该第一数据控制子帧包括所述第一目标数据子帧的序列号;源网络设备向所述目标网络设备发送该第一帧。目标网络设备接收该第一帧,若目标网络设备未成功接收到该第一目标数据子帧,则该目标网络设备向该源网络设备反馈该第一目标数据子帧的序列号,该源网络设备向目标网络设备重新发送该第一帧。本申请中,发送端利用从上层获取到的MAC报文的第一字段空间生成第一数据控制子帧,不会增加额外开销,而且不需要修改以太网架构中各个层的结构,兼容以太网标准的情况下,通过重传机制有效的降低链路误码率。
需要说明的是,本申请实施例中所涉及的源网络设备和目标网络设备可以是具有以太网接口的各种网络通信设备,例如,如交换机、路由器、服务器或个人计算机(personal computer,PC)等,这些网络通信设备也可以为具有网络通信功能的其他硬件(如包括处理器、存储器及各种外围电路),这些通信设备除了网络通信功能外,还执行其他的功能。例如,请参阅图1所示,在一个示例场景中,该源网络设备101和目标网络设备102均是交换机,目标网络设备101连接多个端站(如:PC机),目标网络设备102连接多个端站(如:PC机)。需要说明的是,图1仅是示例性的场景,并非限定,本申请实施例当然还可以应用于其他的以太网场景,如该源网络设备可以为交换机,而目标网络设备可以为PC机等其他应用场景。
为了更好的理解本申请,首先对本申请实施例中涉及的名词进行解释说明。
1)数据链路控制层:用于ARQ重传控制,请参阅图2所示,在MAC层和RS层之间引入数据链路控制层(data link control,DLC),重传控制的相关操作均在该层完成。
2)MAC报文:MAC层的数据,请参阅图3所示,MAC报文包括前导码字段(preamble)(7字节)、定界符字段(start frame delimiter,SFD)(1字节),目的地址字段(destination address,DA)(6字节)、源地址字段(source address,SA)(6字节)、类型或长度字段(length/type)(2字节)、载荷字段(payload)、帧校验序列字段(frame check sequence,FCS)(4字节)和帧间隙字段(interframe gap,IFG)(12字节)。各字段的作用如下:前导码字段:用于确定一个帧的到达时间,并确定编码位(称为时钟恢复)之间的时间量,用于接收端和发送端同步计时;定界符字段:用于指示帧的开始;目的地址字段:接收数据帧的目标节点MAC地址(也称为目的MAC地址);源地址字段:发送数据帧的源节点MAC地址(也称为源MAC地址);类型或长度字段:既可以表示数据字段长度也可以表示上层协议的类型;载荷字段:有效数据字段;帧校验序列字段:校验该MAC报文是否有误码;帧间隙字段:相邻两帧之间的时间间断。
3)数据控制子帧:在数据链路控制层生成的用于重传控制的数据帧。在一个示例中,请参阅图4所示,该数据控制子帧可以包括负载字段(如3字节),可选的,还可以包括头部字段(如1字节)、类型字段(如1字节)和校验字段(本申请中也称为第二校验字段)(如1字节)中的至少一个。其中,各字段的作用如下:
负载字段:可以用于指示目标数据子帧所对应的序列号,可选的,该负载字段还用于指示确认或非确认标识所对应的序列号;
头部字段:可以用于指示对端设备是否需要反馈目标数据子帧的接收情况;
校验字段:可以用于校验该数据控制子帧是否有误码;
类型字段:可以用于携带确认(Ack)或非确认标识(Nak)。
4)目标数据子帧:在数据链路控制层生成的用于传输有效载荷的数据帧。
5)目标数据子帧的序列号:每个目标数据子帧具有序列号,该序列号用于按照目标数据子帧的发送顺序区分目标数据子帧。例如,该序列号可以为1,2,3,4等,每发送一个目标数据子帧,对应的序列号累加1,如,发送的第一个目标数据子帧的序列号为1,第二个目标数据子帧的序列号为2,第三个目标数据子帧的序列号为3;当然,该序列号可以为1,3,5,7等,即为每发送一个目标数据子帧,对应的序列号累加2等;或者,该序列号也可以以数据量定义,例如,第一个目标数据子帧的大小为10bit,该第一个目标数据子帧的序列号为10,第二个目标数据子帧的大小为10bit,累加该数据量,该第二个数据子帧的序列号为20等。需要说明的是,并不限定该序列号的具体编号方式,只要能区分出发送目标数据子帧的顺序即可。
下面将参考附图详细描述本申请的各个实施例,请参阅图5和图6所示。
步骤501、源网络设备获取待传输的第一MAC报文,该第一MAC报文包括第一字段和第二字段。
在数据链路控制层,从MAC层接收待传输的第一MAC报文,第一字段包括前导码字段和定界符字段,第二字段包括目的地址字段、源地址字段、类型或长度字段、载荷字段、帧校验序列字段(本申请实施例中也称为第一校验字段)和帧间隙字段。
步骤502、源网络设备生成第一帧,该第一帧包括第一数据控制子帧。
请参阅图7所示,对第一MAC报文进行修改,利用前导码字段和定界符字段两个字段的部分或全部空间生成第一数据控制子帧,且根据第二字段生成第一目标数据子帧;封装第一数据控制子帧和第一目标数据子帧,得到第一帧。
在一个可能的实现方式中,本申请实施例中,为了区分MAC报文中的前导码字段和在数据链路控制层生成的数据帧(如第一帧)中的前导码字段,MAC报文中的前导码字段也称为第一前导码字段,将数据链路控制层生成的数据帧中的前导码字段称为第二前导码字段。利用第一前导码字段和定界符字段这两个字段的第一个字节至第N个字节作为第二前导码字段,N为大于或者等于1,且小于8的整数。具体的,利用第一字段中除了第二前导码字段之外的字段空间生成第一数据控制子帧;然后,封装第二前导码字段、第一数据控制子帧和第一目标数据子帧,得到该第一帧。例如,第一MAC报文中的第一前导码字段7字节,定界符字段1字节,第一字段共有8个字节,第二前导码字段为1字节,即保留第一MAC报文原有第一前导码字段的第一个字节,作为第一帧的第二前导码字段,将第2个字节至第8个字节的字段空间作为第一数据控制子帧的生成空间。
需要说明的是,在本申请实施例中,该N可以为2、3等,本申请实施例中的第一前导码字段表示MAC报文中的7个字节的前导码字段,第二前导码字段表示在数据链路控 制层生成的新的前导码字段,该新的前导码字段的字节数小于7,本申请实施例中的第二前导码字段的字节数以1个字节为例进行说明,并非限定。
该第一数据控制子帧包括校验字段,负载字段包括第一目标数据子帧的序列号。可选的,该第一数据控制子帧包括第二校验字段,该第二校验字段可以为循环冗余校验(cyclic redundancy check,CRC)字段,该第二校验字段的值用于目标网络设备验证第一数据控制子帧是否有误码。可选的,该第一数据控制子帧还包括头部字段;第一数据控制子帧的头部字段用于指示目标网络设备是否需要向源网络设备反馈第一目标数据子帧的接收情况。
在数据链路控制层设置有重传缓存(buffer),该重传缓存中缓存发送的数据帧(如,第一帧)。
步骤503、源网络设备向目标网络设备发送第一帧。
将第一帧向下送入RS层,经过RS层处理后,发送到物理层,然后经过传输媒介(如线缆,光纤)向目标网络设备发送。
步骤504、目标网络设备接收该第一帧,并解析第一帧中的数据。
在数据链路控制层从RS层接收该第一帧,首先识别第二前导码字段,然后在第二前导码之后,解析第一帧中的数据,得到第一数据控制子帧和第一目标数据子帧。
可选的,目标网络设备可以根据第一数据控制子帧包括第二校验字段和第一目标数据子帧中的第一校验字段来判定是否成功接收到该第一帧,具体的:
目标网络设备根据第一数据控制子帧中的CRC校验字段的值验证第一数据控制子帧是否有误码;将第一数据控制子帧和第二前导码字段的位置用7个字节的第一前导码字段和1个字节的定界符字段进行替换,第一前导码字段的值根据第二前导码字段的值恢复;将该第一目标数据子帧恢复成第一MAC报文;然后,目标网络设备根据第一目标数据子帧的FCS字段验证第一MAC报文是否有误码。当第一数据控制子帧或第一MAC报文有误码时,判定未成功接收到该第一帧;当第一数据控制子帧和第一MAC报文均没有误码时,判定成功接收到该第一帧。进一步的,将该第一MAC报文送入MAC层进行处理。
步骤505、目标网络设备生成第二帧,第二帧包括第二数据控制子帧。
该第二数据控制子帧包括负载字段和类型字段。
若未成功接收到第一帧,第二数据控制子帧的类型字段携带非确认标识,负载字段携带非确认标识对应的第一目标数据子帧的序列号;若成功接收到第一帧,类型字段携带确认标识,负载字段携带确认标识对应的第一目标数据子帧的序列号。
步骤506、目标网络设备发送该第二帧。
将第二数据控制子帧向下送入RS层,经过RS层处理后,发送到物理层,然后经过传输媒介(如线缆,光纤)向源网络设备发送。
步骤507、源网络设备接收第二数据控制子帧,解析该第二数据控制子帧中的数据。
源网络设备识别第二数据控制子帧中的负载字段和类型字段。
若类型字段中携带确认标识,指示目标网络设备已经成功接收到第一帧,负载字段携带确认标识对应的第一目标数据子帧的序列号,源网络设备不需要向目标网络设备重新发送第一帧。
若类型字段中携带非确认标识,负载字段携带该非确认标识对应的第一目标数据子帧的序列号,指示目标网络设备未成功接收到第一帧,则根据非确认标识对应的第一目标数据子帧的序列号调取重传缓存中的第一帧;执行步骤508;
步骤508、源网络设备向目标网络设备重新发送第一帧。
需要说明的是,本申请实施例中,源网络设备向目标网络设备发送第一帧,该第一目标数据子帧中包括目标网络设备的目的网际互连协议(internet protocol,IP)地址,源网络设备第一次发送给目的主机时,在这之前应该发送地址解析(address resolution protocol,ARP)协议,源网络设备根据目的IP地址来确定目的主机的MAC地址,从而为后面的数据发送与接收提供便利,源网络设备根据目的主机的目的IP地址对发送的数据帧设置序列号。
本申请实施例中,在现有以太架构中的MAC层和RS层之间引入数据链路控制层,在该层完成对重传控制的相关操作,在该数据链路控制层生成用于重传控制的数据控制子帧,通过重传机制降低误码率;在发送端侧,发送端对MAC层的第一MAC报文进行修改,利用第一MAC报文的第一前导码字段和定界符这两个字段的部分空间生成第一数据控制子帧,也可以理解的是,将生成的第一数据控制子帧插入到该第一MAC报文中第一前导码字段和定界符的位置,将第一数据控制子帧和第二前导码替换第一前导码和定界符,由此,虽然在数据链路控制层新生成了一个数据控制子帧,但是并不会增加额外开销,还可以兼顾以太网架构中各个层的结构;在接收端侧,也可以生成第二数据控制子帧,该第二数据控制子帧可以用来反馈第一目标数据子帧的接收情况,该第二数据控制子帧携带确认或非确认标识,及该确认或非确认标识所对应的序列号(即成功接收到的数据帧的序列号或未成功接收到数据帧的序列号),发送端可以重新发送接收端未成功接收到的数据帧,从而降低链路的误码率。
在上述实施例的基础上,一个可选的实施例中,在步骤505中,目标网络设备生成第二帧包括两种情况:
其中,第一种情况;目标网络设备没有向源网络设备发送的数据,目标网络设备生成第二数据控制子帧,即该第二帧仅包括第二数据控制子帧。
第二种情况:目标网络设备也有向源网络设备发送的数据,即第二帧包含第二数据控制子帧和第二目标数据子帧,则生成第二帧还可以具体包括:
首先,从MAC层获取第二MAC报文,第二MAC报文包括第一字段和第二字段;第一字段包括前导码字段和定界符字段;第二字段包括目的地址字段、源地址字段、类型或长度字段、载荷字段、帧校验序列字段和帧间隙字段。
然后,利用第一字段的部分字段空间生成第二数据控制子帧;保留第二MAC报文原有第一前导码字段的第一个字节,作为第二数据控制子帧的第二前导码字段,将第二个字节至第8个字节的字段空间作为第二数据控制子帧的生成空间,且根据第二字段生成第二目标数据子帧,该第二目标数据子帧携带需要向源网络设备发送的有效数据。
最后,封装第二前导码字段、第二数据控制子帧和第二目标数据子帧,得到第二帧。
可选的,在第二种情况中,第二数据控制子帧的负载字段还携带该第二目标数据子帧 的序列号。
在上述实施例的基础上,一个可选的实施例中,在步骤502中,源网络设备生成的第一数据控制子帧还可以包括头部字段,该头部字段用于指示目标网络设备是否需要反馈第一目标数据子帧的接收情况。请参阅图8所示,若该头部字段携带第一标识(如:00000000),第一标识用于指示目标网络设备不需要向源网络设备反馈第一目标数据子帧的接收情况;若该头部字段携带第二标识(如:00010000),第二标识用于指示目标网络设备需要向源网络设备反馈第一目标数据子帧的接收情况。
在步骤504中,目标网络设备接收该第一帧,解析第一数据控制子帧,识别第一数据控制子帧中的头部字段。
当目标网络设备识别到头部字段为第一标识时,包括以下两种情况:
第一种情况,目标网络设备需要向源网络设备发送数据,那么在步骤505中,目标网络设备生成的第二帧包括第二数据控制子帧和第二目标数据子帧,该第二数据控制子帧包括类型字段和负载字段,该类型字段不会携带确认标识或非确认标识,即该类型字段的值为预设值,该预设值可以为全“0”或其他值(例如全“1”),负载字段仅携带第二目标数据子帧的序列号。
第二种情况,目标网络设备不需要向源网络设备发送数据,那么步骤505至步骤508均为可选步骤,可以不执行。
当目标网络设备识别到头部字段为第二标识时,包括以下两种情况:
第一种情况,目标网络设备需要向源网络设备发送数据帧,在步骤505中,目标网络设备生成的第二帧包括第二数据控制子帧和第二目标数据子帧,该第二数据控制子帧包括类型字段和负载字段,该类型字段携带确认标识或非确认标识,负载字段携带确认标识或非确认标识对应的第一目标数据子帧的序列号和第二目标数据子帧的序列号。
第二种情况,目标网络设备不需要向源网络设备发送数据帧,在步骤505中,目标网络设备生成的第二帧仅包括第二数据控制子帧,该类型字段携带确认标识或非确认标识,负载字段携带确认标识或非确认标识对应的第一目标数据子帧的序列号,因为没有需要发送的数据帧,因此负载字段不需要携带目标数据子帧的序列号。
可选的,该第二标识又可以包括第一子标识(如:00010001)和第二子标识(如:00010010),通过该第一子标识和第二子标识可以识别出该第一帧中是否包括第一目标数据子帧,其中,若头部标识携带第一子标识,第一子标识指示第一帧包含第一数据控制子帧和第一目标数据子帧,即第一数据控制子帧后衔接第一目标数据子帧,在接收端需要根据MAC层帧格式将第一目标数据子帧还原成第一MAC报文,并将第一MAC报文输送到MAC层进行处理;若头部字段携带第二子标识,第二子标识指示第一帧仅包含第一数据控制子帧,即第一数据控制子帧后没有衔接目标数据子帧,则接收端不需要往MAC层输送相应的数据帧。
需要说明的是,本实施例中对第一数据控制子帧的头部字段的值进行说明,本申请实施例中第二数据控制子帧的头部字段的值可以参照本实施例中第一数据控制子帧的值进行理解,后文不详细赘述。
在上述实施例的基础上,一个可选的实施例中,本实施例中可以基于数据的传输级别进行重传控制,优先级高的数据对QoS要求高,优先级低的数据对QoS要求低,按照QoS的需求对传输的数据是否重传进行区分,即逐优先级重传(per queue automatic repeat-request,PQ-ARQ),该实施例中将数据帧分为两类,第一类是不需要重传的优先级低的数据,该部分数据占据大部分链路带宽;第二部分是优先级高的需要无损传输的数据帧,该部分数据需要重传控制,保证该部分数据帧的无损传输,该部分数据帧所占链路带宽较小。如图9所示,数据从端口A传输到端口B,接口速率为R(如R为100Gbps),传输的100Gbps带宽数据中,只有(R×a)部分数据(如a为0.001)是优先级高的数据,需要无损传输,在这种场景中,只需要对100Mbps的数据进行重传控制即可,剩余【R×(1-a)】部分(如:99.9Gbps)的数据不用重传控制,其中R大于或者等于0,a大于或者等于0,且小于或者等于1。
可选的,发送端可以根据第一目标数据子帧传输级别来确定头部字段携带的标识。
若第一目标数据子帧的传输级别为低优先级,则确定第一数据控制子帧的头部字段携带第一标识,第一标识用于指示目标网络设备不需要向源网络设备反馈第一目标数据子帧的接收情况;若第一目标数据子帧的传输级别为高优先级,则确定第一数据控制子帧的头部字段携带第二标识,第二标识用于指示目标网络设备需要向源网络设备反馈第一目标数据子帧的接收情况。
本实施例中,对于以太网数据而言,并非所有的数据都需要无损传输,因此可以不用对所有的数据进行ARQ重传控制,只需对优先级高的数据进行重传控制,这样可以有效降低重传概率,而且不需要对所有报文进行缓存,只需对优先级高的数据进行缓存即可,这样可以极大的减小数据缓存的存储容量,以降低芯片面积压力。
在上述实施例的基础上,一个可选的实施例中,请参阅图10所示,以太接口属于全双工模式,数据接收与发送并存,即源网络设备为发送端设备,也为接收端设备;目标网络设备为接收端设备,也为发送端设备,接收端和发送端为相对概念。由此,源网络设备生成的第一数据控制子帧和目标网络设备生成的第二数据控制子帧的格式相同,第一数据控制子帧和第二数据控制子帧均包括头部字段、类型字段、负载字段和CRC校验字段。
当第一数据控制子帧衔接(或串接,或拼接)第一目标数据子帧,第二数据控制子帧衔接第二目标数据子帧时,基于以太接口的全双工模式,在步骤502之前,所述方法还包括:
源网络设备接收目标网络设备发送的第三帧。该第三帧包括第三数据控制子帧和第三目标数据子帧,该第三数据控制子帧和第二数据控制子帧(或第一数据控制子帧)的格式相同,该第三目标数据子帧和第一目标数据子帧的格式相同,该第三帧中第三数据控制子帧和第三目标数据子帧的具体生成方法参考上述实施例步骤502中源网络设备生成第一帧的方法步骤,此处不赘述。
在步骤502中,源网络设备生成第一帧。
第一数据控制子帧包括头部字段、类型字段、负载字段和CRC校验字段。
头部字段:指示目标网络设备是否向源网络设备反馈第一目标数据子帧的接收情况。
源网络设备通过对第三数据控制子帧中的CRC校验字段判定第三数据控制子帧是否有误码,源网络设备根据MAC层的帧格式,利用第一前导码字段和定界符字段替换第三数据控制子帧和第二前导码,得到MAC报文,然后通过MAC报文中的FCS字段判定该MAC报文是否有误码;若当第三数据控制子帧或MAC报文有误码时,判定未成功接收到第三帧;当第三数据控制子帧和MAC报文均没有误码时,判定成功接收到第三帧。若成功接收到该第三帧,进一步的,将该MAC报文送入MAC层进行处理。
若在第一时刻向目标网络设备发送第一帧,该类型字段的值指示的是:在第一时刻之前接收到目标网络设备发送的第三帧是否被成功接收。
源网络设备成功接收到该第三帧,则该类型字段携带确认标识;若源网络设备未成功接收到该第三帧,携带非确认标识;第一数据控制子帧的负载字段包括确认或非确认标识对应的第三目标数据子帧的序列号及第一目标数据子帧的序列号。
若源网络设备未成功接收到该第三帧,则在步骤504之后,步骤505之前,还包括如下步骤:目标网络设备根据非确认标识对应的第三目标数据子帧的序列号在重传缓存中调取第三帧;目标网络设备向源网络设备重新发送该第三帧。
若源网络设备成功接收到该第三帧,则源网络设备根据MAC层的帧格式,利用第一前导码字段和定界符字段替换第二数据控制子帧和第二前导码字段,得到MAC报文;然后,将MAC报文传输至MAC层进行处理。
可以理解的是,根据以太接口的双工模式,源网络设备(发送端)向目标网络设备(接收端)发送第一帧,该第一帧即携带了第一时刻发送给目标网络设备的第一目标数据子帧,又通过第一数据控制子帧对第一时刻之前的接收到的第三帧的接收情况进行反馈。
同理,在步骤505中,目标网络设备生成第二帧的步骤中,第二数据控制子帧包括头部字段、类型字段、负载字段和CRC校验字段。
其中,头部字段:指示源网络设备是否反馈第二目标数据子帧的接收情况。
目标网络设备通过对第一数据控制子帧中的CRC校验字段判定第一数据控制子帧是否有误码;目标网络设备根据MAC层的帧格式,利用第一前导码和定界符替换第一数据控制子帧和第二前导码,得到第一MAC报文,通过第一MAC报文中的FCS字段判定该第一MAC报文是否有误码;若当第一数据控制子帧或第一MAC报文有误码时,判定未成功接收到第一帧;当第一数据控制子帧和第一MAC报文均没有误码时,判定成功接收到第一帧。若成功接收到该第一帧,进一步的,将该第一MAC报文送入MAC层进行处理。
类型字段指示的是:第一目标数据子帧的接收情况,若未成功接收到第一帧,第二数据控制子帧的类型字段携带非确认标识,负载字段携带非确认标识对应的第一目标数据子帧的序列号;若成功接收到第一帧,类型字段携带确认标识,负载字段携带确认标识对应的第一目标数据子帧的序列号。
可以理解的是,根据以太接口的双工模式,目标网络设备(发送端)向源网络设备(接收端)发送第二帧,该第二帧即携带了第二时刻发送给源网络设备的第二目标数据子帧,又通过第二数据控制子帧对第二时刻之前的接收到的第一帧的接收情况进行反馈,通过重传机制以降低误码率,该第二时刻晚于第一时刻。
在上述实施例的基础上,在一个可选的实施例中,重传机制可以和其他的纠错方法进行结合,例如,本实施例中可以将重传机制与FEC结合,在FEC纠错之后在较低误码率条件下进行重传控制。以400GE以太网为例,在400GE架构中使用里德所罗门纠错码(reed solomon,RS)(544,514)FEC对链路损耗进行增益补偿,RS(544,514)FEC在应对单链路损率等于或大于100Gbps时,存在一定的风险。将RS(544,514)FEC与ARQ结合,在数据经过FEC纠错后再进行ARQ重传控制,可以将FEC的等效输出误码率降低数个数量级,有效保证链路输出误码率,提升以太接口的可靠性。请参阅图11所示,通过FEC与ARQ(一次重传)相结合的性能仿真,以RS(544,514)为例,结合一次ARQ,输出误码率可降低4-5个数量级,若结合多次ARQ重传,可实现以太接口的无损传输。
可选的,在步骤502之前,所述方法还包括:
通过前向纠错FEC对第一帧进行纠错处理;
若第一帧的误码率高于阈值,则执行步骤502。
将ARQ与FEC结合,可以有效降低FEC的等效输出误码率。FEC的原理主要是在物理层编码阶段通过增加一定的校验比特从算法层面实现在线实时纠错,降低链路的误码率,以实现可靠的链路传输,本申请实施例中重传控制在数据链路控制层完成,FEC不会影响本申请方法实施例中步骤501至步骤508中的方法步骤,在FEC后进行ARQ重传控制,保证了ARQ控制逻辑的输入误码率维持在较低的水平,可以有效降低重传概率,保证链路有效利用率的同时,还可以将重传引入的时延降到极低水平。
上面对本申请实施例中的方法实施例进行了描述,下面对本申请实施例中的装置进行说明,请参阅图12所示,图12为一种网络设备1200的一个实施例的结构示意图,该网络设备用于执行上述方法实施例中源网络设备所执行的方法步骤,该网络设备包括:获取模块1201,处理模块1202、发送模块1203和接收模块1204;
该获取模块1201用于执行图5对应的方法实施例中的步骤501、处理模块1202用于执行步骤502和步骤507中解析第二数据控制子帧中的数据的步骤;发送模块1203用于执行步骤503和508;接收模块1204用于执行步骤507中接收第二数据控制子帧的步骤。
具体的,获取模块1201,获取待传输的第一MAC报文,所述第一MAC报文包括第一字段和第二字段;
处理模块1202,生成第一帧,所述第一帧包括利用所述获取模块1201获取的所述第一字段的字段空间得到的第一数据控制子帧和基于所述第二字段得到的第一目标数据子帧,所述第一数据控制子帧包括所述第一目标数据子帧的序列号;
发送模块1203,向目标网络设备发送所述生成模块生成的所第一帧。
在一个可选的实施例中,所述第一字段包括前导码字段和定界符字段,所述处理模块1202还具体用于:利用所述前导码字段和所述定界符字段两个字段的部分或全部空间生成所述第一数据控制子帧,且根据所述第二字段生成所述第一目标数据子帧;封装所述第一数据控制子帧和所述第一目标数据子帧,得到所述第一帧。
在一个可选的实施例中,所述第二字段包括目的地址字段、源地址字段、类型或长度 字段、载荷字段和帧校验序列字段。
在一个可选的实施例中,所述第一目标数据子帧还包括第一校验字段,所述第一数据控制子帧包括第二校验字段;所述第一校验字段的值用于所述目标网络设备验证所述第一MAC报文是否有误码,所述第二校验字段的值用于所述目标网络设备验证所述第一数据控制子帧是否有误码。
在一个可选的实施例中,所述接收模块1204,用于接收所述目标网络设备发送的第二帧,所述第二帧包括第二数据控制子帧,所述第二数据控制子帧包括类型字段和负载字段;
所述处理模块1202,还用于解析所述接收模块1204接收的所述第二数据控制子帧,识别所述类型字段的值和负载字段的值;第二数据控制子帧的类型字段的值为非确认标识,所述第二数据控制子帧的负载字段携带所述非确认标识对应的所述第一目标数据子帧的序列号,则根据所述非确认标识对应的所述第一目标数据子帧的序列号调取重传缓存中的所述第一帧;
所述发送模块1203,还用于向所述目标网络设备重新发送所述第一帧;
或,
若所述第二数据控制子帧的类型字段的值为确认标识,所述第二数据控制子帧的负载字段携带所述确认标识对应的所述第二目标数据子帧的序列号,所述确认标识指示所述目标网络设备已成功接收到所述第一帧。
在一个可选的实施例中,所述第二帧还包括第二目标数据子帧,所述第二目标数据子帧的格式与所述第一目标数据子帧的格式相同;
所述处理模块1202,还用于根据MAC层的帧格式,利用前导码字段和定界符字段替换所述第二帧中的所述第二数据控制子帧,得到MAC报文;
所述获取模块1201,用于将所述处理模块1202得到的所述MAC报文传输至MAC层进行处理。
在一个可选的实施例中,所述第二帧包括第二目标数据子帧,所述第二数据控制子帧通过负载字段携带所述第二目标数据子帧对应的序列号。
在一个可选的实施例中,所述第二数据控制子帧还包括头部字段;所述第二数据控制子帧的头部字段用于指示所述源网络设备是否需要向所述目标网络设备反馈所述第二目标数据子帧的接收情况。
在一个可选的实施例中,所述第一数据控制子帧还包括头部字段;所述第一数据控制子帧的头部字段用于指示所述目标网络设备是否需要向所述源网络设备反馈所述第一目标数据子帧的接收情况。
在一个可选的实施例中,所述处理模块1202还用于:当所述第一目标数据子帧的传输级别为低优先级时,确定所述第一数据控制子帧的头部字段携带第一标识;所述第一标识用于指示所述目标网络设备不需要向所述源网络设备反馈所述第一目标数据子帧的接收情况;当所述第一目标数据子帧的传输级别为高优先级时,确定所述第一数据控制子帧的头部字段携带第二标识;所述第二标识用于指示所述目标网络设备需要向所述源网络设备反馈所述第一目标数据子帧的接收情况。
请参阅图12所示,该网络设备还可以用于执行上述方法实施例中,目标网络设备所执行的方法步骤,其中,该接收模块1204还用于执行图5对应的实施例中的步骤504、该处理模块1202还用于执行步骤505、该发送模块1203还用于执行步骤506。
具体的,接收模块1204,用于接收源网络设备发送的第一帧,所述第一帧包括第一数据控制子帧和第一目标数据子帧;所述第一数据控制子帧为利用从上层获取的第一MAC报文的第一字段的字段空间生成的,所述第一目标数据子帧为基于所述第一MAC报文的第二字段生成的;所述第一数据控制子帧携带所述第一目标数据子帧对应的序列号。
所述处理模块1202,用于生成第二帧,所述第二帧包括第二数据控制子帧;若未成功接收到所述第一帧,所述第二数据控制子帧通过类型字段携带非确认标识及通过负载字段携带所述非确认标识对应的所述第一目标数据子帧的序列号;若成功接收到所述第一帧,所述第二数据控制子帧通过类型字段携带确认标识及通过所述负载字段携带所述确认标识对应的第一目标数据子帧的序列号;
所述发送模块1203,用于向所述源网络设备发送所述处理模块1202生成的所述第二帧。
在一个可选的实施例中,所述第二帧还包括第二目标数据子帧,所述第二数据控制子帧通过所述负载字段携带所述第二目标数据子帧的序列号。
在一个可选的实施例中,所述获取模块1201,用于从MAC层获取第二MAC报文,所述第二MAC报文包括所述第一字段和第二字段;
所述处理模块1202,用于利用所述获取模块1201接收的所述第一字段的部分字段空间生成所述第二数据控制子帧;且根据所述第二字段生成第二目标数据子帧;封装所述第二数据控制子帧和所述第二目标数据子帧,得到所述第二帧。
在一个可选的实施例中,所述第一字段包括前导码字段和定界符字段。
在一个可选的实施例中,所述第二字段包括目的MAC地址字段、源MAC地址字段、类型或长度字段、载荷字段和帧校验序列字段。
在一个可选的实施例中,所述网络设备还包括处理模块1202,所述第一目标数据子帧包括第一校验字段;所述第一数据控制子帧包括第二校验字段;
所述处理模块1202用于:
通过所述第一校验字段验证所述第一MAC报文是否有误码;
通过所述第二校验字段验证所述第一数据控制子帧是否有误码;
若判定所述第一MAC报文有误码或者所述第一数据控制子帧有误码,则确定未成功接收到所述第一帧。
在一个可选的实施例中,所述第二帧包括第二目标数据子帧,所述第二目标数据子帧包括第一校验字段,所述第二数据控制子帧包括第二校验字段;所述第一校验字段的值用于所述源网络设备验证所述第二MAC报文是否有误码,所述第二校验字段的值用于所述源网络设备验证所述第二数据控制子帧是否有误码。
在一个可选的实施例中,所述第一数据控制子帧还包括头部字段,所述第一数据控制子帧的头部字段的值用于指示所述目标网络设备是否需要向所述源网络设备反馈所述第一 目标数据子帧的接收情况;
所述网络设备还包括处理模块1202,所述处理模块1202用于:
解析所述第一数据控制子帧,得到所述头部字段的值;
若所述第一数据控制子帧的头部字段的值为第一标识,将所述第二数据控制子帧的类型字段设置为预设值;
若所述第一数据控制子帧的头部字段的值为第二标识,判定是否成功接收到所述第一帧。
在一个可选的实施例中,所述第二数据控制子帧还包括头部字段;所述第二数据控制子帧的头部字段的值用于指示所述源网络设备是否需要向所述目标网络设备反馈所述第二目标数据子帧的接收情况。
在一个可选的实施例中,所述处理模块1202还用于:通过前向纠错FEC对所述第一帧进行纠错处理;若对所述第一帧的误码率高于阈值,则执行生成第二帧的步骤。
进一步的,图12中的网络设备是以功能模块的形式来呈现。这里的“模块”可以指特定应用集成电路(application-specific integrated circuit,ASIC),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,图12中的网络设备可以采用图13所示的形式。各模块可以通过图13的处理器1301、以太网接口1302和存储器1303来实现。
其中,存储器1303、处理器1301及以太网接口1302通过总线1304连接;其中,处理1301可以是一个通用中央处理器(central processing unit,CPU),微处理器,或具有一定功能的集成电路。该以太网接口1302,用于接收和发送以太网数据。存储器1303可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备。处理器1301用于执行存储器1303中的指令,使得该网络设备执行上述方法实施例中源网络设备所执行的方法步骤,或者,使得该网络设备执行上述方法实施例中目标网络设备所执行的方法步骤。
在另一种可能的设计中,当该装置为终端内的芯片时,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使该终端内的芯片执行上述第一方面任意一项的无线通信方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述终端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
其中,上述任一处提到的处理器,可以是一个通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制上述第一方面无线通信方法的程序执行的集成电路。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (44)

  1. 一种数据传输方法,应用于源网络设备,其特征在于,包括:
    获取待传输的第一介质访问控制MAC报文,所述第一MAC报文包括第一字段和第二字段;
    生成第一帧,所述第一帧包括利用所述第一字段的字段空间得到的第一数据控制子帧和基于所述第二字段得到的第一目标数据子帧,所述第一数据控制子帧包括所述第一目标数据子帧的序列号;
    向目标网络设备发送所述第一帧。
  2. 根据权利要求1所述的数据传输方法,其特征在于,所述第一字段包括前导码字段和定界符字段,所述生成第一帧包括:
    利用所述前导码字段和所述定界符字段两个字段的部分或全部空间生成所述第一数据控制子帧,且根据所述第二字段生成所述第一目标数据子帧;
    封装所述第一数据控制子帧和所述第一目标数据子帧,得到所述第一帧。
  3. 根据权利要求1所述的数据传输方法,其特征在于,所述第二字段包括目的MAC地址字段、源MAC地址字段、类型或长度字段、载荷字段和帧校验序列字段。
  4. 根据权利要求1所述的数据传输方法,其特征在于,所述第一目标数据子帧还包括第一校验字段,所述第一数据控制子帧包括第二校验字段;所述第一校验字段的值用于所述目标网络设备验证所述第一MAC报文是否有误码,所述第二校验字段的值用于所述目标网络设备验证所述第一数据控制子帧是否有误码。
  5. 根据权利要求1所述的数据传输方法,其特征在于,所述向所述目标网络设备发送所述第一帧之后,所述方法还包括:
    接收所述目标网络设备发送的第二帧,所述第二帧包括第二数据控制子帧,所述第二数据控制子帧包括类型字段和负载字段;
    解析所述第二数据控制子帧,识别所述类型字段的值和负载字段的值;
    若所述第二数据控制子帧的类型字段的值为非确认标识,所述第二数据控制子帧的负载字段携带所述非确认标识对应的所述第一目标数据子帧的序列号,则根据所述非确认标识对应的所述第一目标数据子帧的序列号调取重传缓存中的所述第一帧;
    向所述目标网络设备重新发送所述第一帧;
    或,
    若所述第二数据控制子帧的类型字段的值为确认标识,所述第二数据控制子帧的负载字段携带所述确认标识对应的所述第一目标数据子帧的序列号,所述确认标识指示所述目标网络设备已成功接收到所述第一帧。
  6. 根据权利要求5所述的数据传输方法,其特征在于,所述第二帧还包括第二目标数据子帧,所述第二目标数据子帧的格式与所述第一目标数据子帧的格式相同,所述方法还包括:
    根据MAC层的帧格式,利用前导码字段和定界符字段替换所述第二帧中的所述第二数据控制子帧,得到MAC报文;
    将所述MAC报文传输至MAC层进行处理。
  7. 根据权利要求5所述的数据传输方法,其特征在于,所述第二帧包括第二目标数据子帧,所述第二数据控制子帧通过负载字段携带所述第二目标数据子帧对应的序列号。
  8. 根据权利要求5所述的数据传输方法,其特征在于,所述第二数据控制子帧还包括头部字段;所述第二数据控制子帧的头部字段用于指示所述源网络设备是否需要向所述目标网络设备反馈所述第二目标数据子帧的接收情况。
  9. 根据权利要求1所述的数据传输方法,其特征在于,所述第一数据控制子帧还包括头部字段;所述第一数据控制子帧的头部字段用于指示所述目标网络设备是否需要向所述源网络设备反馈所述第一目标数据子帧的接收情况。
  10. 根据权利要求9所述的数据传输方法,其特征在于,所述方法还包括:
    若所述第一目标数据子帧的传输级别为低优先级,则确定所述第一数据控制子帧的头部字段携带第一标识;所述第一标识用于指示所述目标网络设备不需要向所述源网络设备反馈所述第一目标数据子帧的接收情况;
    若所述第一目标数据子帧的传输级别为高优先级,则确定所述第一数据控制子帧的头部字段携带第二标识;所述第二标识用于指示所述目标网络设备需要向所述源网络设备反馈所述第一目标数据子帧的接收情况。
  11. 一种数据传输方法,其特征在于,应用于目标网络设备,包括:
    接收源网络设备发送的第一帧,所述第一帧包括第一数据控制子帧和第一目标数据子帧;所述第一数据控制子帧为利用从上层获取的第一MAC报文的第一字段的字段空间生成的,所述第一目标数据子帧为基于所述第一MAC报文的第二字段生成的;所述第一数据控制子帧携带所述第一目标数据子帧对应的序列号。
  12. 根据权利要求11所述的数据传输方法,其特征在于,所述接收源网络设备发送的第一帧之后,所述方法还包括:
    生成第二帧,所述第二帧包括第二数据控制子帧;若未成功接收到所述第一帧,所述第二数据控制子帧通过类型字段携带非确认标识及通过负载字段携带所述非确认标识对应的所述第一目标数据子帧的序列号;若成功接收到所述第一帧,所述第二数据控制子帧通过类型字段携带确认标识及通过所述负载字段携带所述确认标识对应的第一目标数据子帧的序列号;
    向所述源网络设备发送所述第二帧。
  13. 根据权利要求12所述的数据传输方法,其特征在于,所述第二帧还包括第二目标数据子帧,所述第二数据控制子帧通过所述负载字段携带所述第二目标数据子帧的序列号。
  14. 根据权利要求12所述的数据传输方法,其特征在于,所述第二帧还包括第二目标数据子帧,所述生成第二帧,包括:
    从MAC层获取第二MAC报文,所述第二MAC报文包括所述第一字段和第二字段;
    利用所述第一字段的部分或全部字段空间生成所述第二数据控制子帧;且根据所述第二字段生成第二目标数据子帧;
    封装所述第二数据控制子帧和所述第二目标数据子帧,得到所述第二帧。
  15. 根据权利要求11-14中任一项所述的数据传输方法,其特征在于,所述第一字段包括前导码字段和定界符字段。
  16. 根据权利要求11-14中任一项所述的数据传输方法,其特征在于,所述第二字段包括目的MAC地址字段、源MAC地址字段、类型或长度字段、载荷字段和帧校验序列字段。
  17. 根据权利要求11所述的数据传输方法,其特征在于,所述第一目标数据子帧包括第一校验字段;所述第一数据控制子帧包括第二校验字段,所述方法还包括:
    通过所述第一校验字段验证所述第一MAC报文是否有误码;
    通过所述第二校验字段验证所述第一数据控制子帧是否有误码;
    若所述第一MAC报文有误码或者所述第一数据控制子帧有误码,则确定未成功接收到所述第一帧。
  18. 根据权利要求14所述的数据传输方法,其特征在于,所述第二帧包括第二目标数据子帧,所述第二目标数据子帧包括第一校验字段,所述第二数据控制子帧包括第二校验字段;所述第一校验字段的值用于所述源网络设备验证所述第二MAC报文是否有误码,所述第二校验字段的值用于所述源网络设备验证所述第二数据控制子帧是否有误码。
  19. 根据权利要求11所述的数据传输方法,其特征在于,所述第一数据控制子帧还包括头部字段,所述第一数据控制子帧的头部字段的值用于指示所述目标网络设备是否需要向所述源网络设备反馈所述第一目标数据子帧的接收情况;所述方法还包括:
    解析所述第一数据控制子帧,得到所述头部字段的值;
    若所述第一数据控制子帧的头部字段的值为第一标识,将所述第二数据控制子帧的类型字段设置为预设值;
    若所述第一数据控制子帧的头部字段的值为第二标识,所述方法还包括:
    判定是否成功接收到所述第一帧。
  20. 根据权利要求12所述的数据传输方法,其特征在于,所述第二数据控制子帧还包括头部字段;所述第二数据控制子帧的头部字段的值用于指示所述源网络设备是否需要向所述目标网络设备反馈所述第二目标数据子帧的接收情况。
  21. 根据权利要求12所述的数据传输方法,其特征在于,在所述生成第二帧之前,所述方法还包括:
    通过前向纠错FEC对所述第一帧进行纠错处理;
    若对所述第一帧的误码率高于阈值,则执行生成第二帧的步骤。
  22. 一种网络设备,其特征在于,包括:
    获取模块,获取待传输的第一MAC报文,所述第一MAC报文包括第一字段和第二字段;
    处理模块,生成第一帧,所述第一帧包括利用所述获取模块获取的所述第一字段的字段空间得到的第一数据控制子帧和基于所述第二字段得到的第一目标数据子帧,所述第一数据控制子帧包括所述第一目标数据子帧的序列号;
    发送模块,向目标网络设备发送所述生成模块生成的所第一帧。
  23. 根据权利要求22所述的网络设备,其特征在于,所述第一字段包括前导码字段和定界符字段,所述处理模块还具体用于:
    利用所述前导码字段和所述定界符字段两个字段的部分或全部空间生成所述第一数据控制子帧,且根据所述第二字段生成所述第一目标数据子帧;
    封装所述第一数据控制子帧和所述第一目标数据子帧,得到所述第一帧。
  24. 根据权利要求22所述的网络设备,其特征在于,所述第二字段包括目的MAC地址字段、源MAC地址字段、类型或长度字段、载荷字段和帧校验序列字段。
  25. 根据权利要求22所述的网络设备,其特征在于,所述第一目标数据子帧还包括第一校验字段,所述第一数据控制子帧包括第二校验字段;所述第一校验字段的值用于所述目标网络设备验证所述第一MAC报文是否有误码,所述第二校验字段的值用于所述目标网络设备验证所述第一数据控制子帧是否有误码。
  26. 根据权利要求22所述的网络设备,其特征在于,所述网络设备还包括接收模块;
    所述接收模块,用于接收所述目标网络设备发送的第二帧,所述第二帧包括第二数据控制子帧,所述第二数据控制子帧包括类型字段和负载字段;
    所述处理模块,还用于解析所述接收模块接收的所述第二数据控制子帧,识别所述类型字段的值和负载字段的值;第二数据控制子帧的类型字段的值为非确认标识,所述第二数据控制子帧的负载字段携带所述非确认标识对应的所述第一目标数据子帧的序列号,则根据所述非确认标识对应的所述第一目标数据子帧的序列号调取重传缓存中的所述第一帧;
    所述发送模块,还用于向所述目标网络设备重新发送所述第一帧;
    或,
    若所述第二数据控制子帧的类型字段的值为确认标识,所述第二数据控制子帧的负载字段携带所述确认标识对应的所述第二目标数据子帧的序列号,所述确认标识指示所述目标网络设备已成功接收到所述第一帧。
  27. 根据权利要求26所述的网络设备,其特征在于,所述第二帧还包括第二目标数据子帧,所述第二目标数据子帧的格式与所述第一目标数据子帧的格式相同;
    所述处理模块,还用于根据MAC层的帧格式,利用前导码字段和定界符字段替换所述第二帧中的所述第二数据控制子帧,得到MAC报文;
    所述获取模块,用于将所述处理模块得到的所述MAC报文传输至MAC层进行处理。
  28. 根据权利要求26所述的网络设备,其特征在于,所述第二帧包括第二目标数据子帧,所述第二数据控制子帧通过负载字段携带所述第二目标数据子帧对应的序列号。
  29. 根据权利要求26所述的网络设备,其特征在于,所述第二数据控制子帧还包括头部字段;所述第二数据控制子帧的头部字段用于指示源网络设备是否需要向所述目标网络设备反馈所述第二目标数据子帧的接收情况。
  30. 根据权利要求22所述的网络设备,其特征在于,所述第一数据控制子帧还包括头部字段;所述第一数据控制子帧的头部字段用于指示所述目标网络设备是否需要向源网络设备反馈所述第一目标数据子帧的接收情况。
  31. 根据权利要求30所述的网络设备,其特征在于,所述处理模块还用于:
    当所述第一目标数据子帧的传输级别为低优先级时,确定所述第一数据控制子帧的头部字段携带第一标识;所述第一标识用于指示所述目标网络设备不需要向所述源网络设备反馈所述第一目标数据子帧的接收情况;
    当所述第一目标数据子帧的传输级别为高优先级时,确定所述第一数据控制子帧的头部字段携带第二标识;所述第二标识用于指示所述目标网络设备需要向所述源网络设备反馈所述第一目标数据子帧的接收情况。
  32. 一种网络设备,其特征在于,包括:
    接收模块,用于接收源网络设备发送的第一帧,所述第一帧包括第一数据控制子帧和第一目标数据子帧;所述第一数据控制子帧为利用从上层获取的第一MAC报文的第一字段的字段空间生成的,所述第一目标数据子帧为基于所述第一MAC报文的第二字段生成的;所述第一数据控制子帧携带所述第一目标数据子帧对应的序列号。
  33. 根据权利要求32所述的网络设备,其特征在于,所述网络设备还包括处理模块和发送模块;
    所述处理模块,用于生成第二帧,所述第二帧包括第二数据控制子帧;若未成功接收到所述第一帧,所述第二数据控制子帧通过类型字段携带非确认标识及通过负载字段携带所述非确认标识对应的所述第一目标数据子帧的序列号;若成功接收到所述第一帧,所述第二数据控制子帧通过类型字段携带确认标识及通过所述负载字段携带所述确认标识对应的第一目标数据子帧的序列号;
    所述发送模块,用于向所述源网络设备发送所述处理模块生成的所述第二帧。
  34. 根据权利要求33所述的网络设备,其特征在于,所述第二帧还包括第二目标数据子帧,所述第二数据控制子帧通过所述负载字段携带所述第二目标数据子帧的序列号。
  35. 根据权利要求33所述的网络设备,其特征在于,还包括获取模块;
    所述获取模块,用于从MAC层获取第二MAC报文,所述第二MAC报文包括所述第一字段和第二字段;
    所述处理模块,用于利用所述获取模块接收的所述第一字段的部分字段空间生成所述第二数据控制子帧;且根据所述第二字段生成第二目标数据子帧;封装所述第二数据控制子帧和所述第二目标数据子帧,得到所述第二帧。
  36. 根据权利要求32-35中任一项所述的网络设备,其特征在于,所述第一字段包括前导码字段和定界符字段。
  37. 根据权利要求32-35中任一项所述的网络设备,其特征在于,所述第二字段包括目的MAC地址字段、源MAC地址字段、类型或长度字段、载荷字段和帧校验序列字段。
  38. 根据权利要求32所述的网络设备,其特征在于,所述网络设备还包括处理模块,所述第一目标数据子帧包括第一校验字段;所述第一数据控制子帧包括第二校验字段;
    所述处理模块用于:
    通过所述第一校验字段验证所述第一MAC报文是否有误码;
    通过所述第二校验字段验证所述第一数据控制子帧是否有误码;
    若判定所述第一MAC报文有误码或者所述第一数据控制子帧有误码,则确定未成功接收到所述第一帧。
  39. 根据权利要求35所述的网络设备,其特征在于,所述第二帧包括第二目标数据子帧,所述第二目标数据子帧包括第一校验字段,所述第二数据控制子帧包括第二校验字段;所述第一校验字段的值用于所述源网络设备验证所述第二MAC报文是否有误码,所述第二校验字段的值用于所述源网络设备验证所述第二数据控制子帧是否有误码。
  40. 根据权利要求32所述的网络设备,其特征在于,所述第一数据控制子帧还包括头部字段,所述第一数据控制子帧的头部字段的值用于指示所述目标网络设备是否需要向所述源网络设备反馈所述第一目标数据子帧的接收情况;
    所述网络设备还包括处理模块,所述处理模块用于:
    解析所述第一数据控制子帧,得到所述头部字段的值;
    若所述第一数据控制子帧的头部字段的值为第一标识,将所述第二数据控制子帧的类型字段设置为预设值;
    若所述第一数据控制子帧的头部字段的值为第二标识,判定是否成功接收到所述第一帧。
  41. 根据权利要求33所述的网络设备,其特征在于,所述第二数据控制子帧还包括头部字段;所述第二数据控制子帧的头部字段的值用于指示所述源网络设备是否需要向所述目标网络设备反馈所述第二目标数据子帧的接收情况。
  42. 根据权利要求33所述的网络设备,其特征在于,所述处理模块还用于:
    通过前向纠错FEC对所述第一帧进行纠错处理;
    若对所述第一帧的误码率高于阈值,则执行生成第二帧的步骤。
  43. 一种网络设备,其特征在于,包括:处理器、存储器和以太网接口,所述处理器、所述存储器和以太网接口通过总线连接,所述存储器用于存储程序指令,当所述程序或指令被所述处理器执行时,使得所述网络设备执行上述权利要求1-10中任一项所述的方法,或者,执行上述权利要求中11-21中任一项所述的方法。
  44. 一种计算机可读介质,用于储存计算机程序或指令,所述计算机程序或指令被执行时使得计算机执行1-10中任一项所述的方法,或者,执行上述权利要求中11-21中任一项所述的方法。
PCT/CN2021/082882 2020-04-15 2021-03-25 一种数据传输方法及网络设备 WO2021208694A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP21789545.7A EP4131817A4 (en) 2020-04-15 2021-03-25 DATA TRANSMISSION METHOD AND NETWORK DEVICE
US17/965,916 US20230034209A1 (en) 2020-04-15 2022-10-14 Data transmission method and network device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010294665.3 2020-04-15
CN202010294665.3A CN113541874A (zh) 2020-04-15 2020-04-15 一种数据传输方法及网络设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/965,916 Continuation US20230034209A1 (en) 2020-04-15 2022-10-14 Data transmission method and network device

Publications (1)

Publication Number Publication Date
WO2021208694A1 true WO2021208694A1 (zh) 2021-10-21

Family

ID=78085093

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/082882 WO2021208694A1 (zh) 2020-04-15 2021-03-25 一种数据传输方法及网络设备

Country Status (4)

Country Link
US (1) US20230034209A1 (zh)
EP (1) EP4131817A4 (zh)
CN (1) CN113541874A (zh)
WO (1) WO2021208694A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210203525A1 (en) * 2015-08-31 2021-07-01 Panasonic Intellectual Property Corporation Of America Gateway device determining whether or not received frame is appropriate
CN115914415A (zh) * 2022-11-11 2023-04-04 贵州电网有限责任公司 一种rs485通信故障检测方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101674235A (zh) * 2009-09-27 2010-03-17 中兴通讯股份有限公司 数据传输方法和设备
CN103973414A (zh) * 2014-04-29 2014-08-06 华为技术有限公司 一种数据传输方法及装置
CN109962762A (zh) * 2017-12-25 2019-07-02 华为技术有限公司 一种数据传输方法、发送装置及接收装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015006640A1 (en) * 2013-07-11 2015-01-15 Interdigital Patent Holdings, Inc. Systems and methods for smart harq for wifi
EP3349505B1 (en) * 2015-09-08 2023-05-24 LG Electronics Inc. Method for transmitting data in wireless communication system and apparatus therefor
CN105471549B (zh) * 2015-11-17 2018-09-11 西安电子科技大学 基于a-mpdu子帧位置信息控制的块确认系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101674235A (zh) * 2009-09-27 2010-03-17 中兴通讯股份有限公司 数据传输方法和设备
CN103973414A (zh) * 2014-04-29 2014-08-06 华为技术有限公司 一种数据传输方法及装置
CN109962762A (zh) * 2017-12-25 2019-07-02 华为技术有限公司 一种数据传输方法、发送装置及接收装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210203525A1 (en) * 2015-08-31 2021-07-01 Panasonic Intellectual Property Corporation Of America Gateway device determining whether or not received frame is appropriate
US11522733B2 (en) * 2015-08-31 2022-12-06 Panasonic Intellectual Property Corporation Of America Gateway device determining whether or not received frame is appropriate
CN115914415A (zh) * 2022-11-11 2023-04-04 贵州电网有限责任公司 一种rs485通信故障检测方法及系统

Also Published As

Publication number Publication date
US20230034209A1 (en) 2023-02-02
EP4131817A1 (en) 2023-02-08
CN113541874A (zh) 2021-10-22
EP4131817A4 (en) 2023-09-20

Similar Documents

Publication Publication Date Title
US11063884B2 (en) Ethernet enhancements
US11664932B2 (en) Disabling, using a designated process, hybrid automatic repeat request (HARQ) acknowledgments for packets for which acknowledgements are supported at network or higher layer
US8392616B2 (en) Method and apparatus for transmitting header-compressed packet based on retransmission mechanism
US7904777B2 (en) Method and system for generating block acknowledgements in wireless communications
JP3634800B2 (ja) パリティチェック結合を用いたハイブリッド自動再送要求を実施するシステム及び方法
US8842528B2 (en) System and method for improving transport protocol performance in communication networks having lossy links
JP5215413B2 (ja) 再送プロトコルのためのステータス報告
US20080195912A1 (en) Method of communicatoin
CN111770428B (zh) 一种无线设备的监听方法
WO2010121410A1 (zh) 一种采用arq机制的头压缩通信方法和装置
US20230034209A1 (en) Data transmission method and network device
US20120266038A1 (en) Data transmission method and network side device
CN113079074A (zh) 一种基于can总线的协议栈通信方法、装置和存储介质
US7924710B2 (en) Method for transmitting data including an error control mechanism designed for unreliable networks and error resilience applications
US20220158771A1 (en) Method of enabling harq, network entity and computer program
WO2022094974A1 (zh) 数据传输方法、装置、计算机设备及存储介质
EP2306666B1 (en) Reduction of frame error rate in a node of a wireless packet-switched communication network
WO2022022727A1 (zh) 比特块的发送方法及装置
EP3809748A1 (en) Data transmitting method and device, and data receiving method and device
EP3432500A1 (en) Point-to-point transmitting method based on the use of an erasure coding scheme and a tcp/ip protocol
CN116582220A (zh) 一种以太网链路级可靠传输的装置和方法
CN115865282A (zh) 数据重传方法、装置、设备及存储介质
CN117061388A (zh) 一种报文传输方法以及装置
CN116260553A (zh) 数据重传的方法、装置及系统
Tun et al. Improving Wireless Network Performance with Explicit Loss Notification

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021789545

Country of ref document: EP

Effective date: 20221026

NENP Non-entry into the national phase

Ref country code: DE