WO2018137158A1 - 一种数据传输方法、装置及客户终端设备 - Google Patents

一种数据传输方法、装置及客户终端设备 Download PDF

Info

Publication number
WO2018137158A1
WO2018137158A1 PCT/CN2017/072518 CN2017072518W WO2018137158A1 WO 2018137158 A1 WO2018137158 A1 WO 2018137158A1 CN 2017072518 W CN2017072518 W CN 2017072518W WO 2018137158 A1 WO2018137158 A1 WO 2018137158A1
Authority
WO
WIPO (PCT)
Prior art keywords
data packet
downlink data
packet
acknowledgement
retransmission
Prior art date
Application number
PCT/CN2017/072518
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 MX2019008647A priority Critical patent/MX2019008647A/es
Priority to RU2019126620A priority patent/RU2728803C1/ru
Priority to PCT/CN2017/072518 priority patent/WO2018137158A1/zh
Priority to EP17894306.4A priority patent/EP3562076A4/en
Priority to BR112019015070-6A priority patent/BR112019015070A2/pt
Priority to KR1020197023536A priority patent/KR20190105061A/ko
Priority to JP2019539989A priority patent/JP2020507963A/ja
Priority to CN201780061395.8A priority patent/CN109792325A/zh
Publication of WO2018137158A1 publication Critical patent/WO2018137158A1/zh
Priority to US16/519,132 priority patent/US20190349308A1/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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/187Details of sliding window management
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • 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
    • 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/1628List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of 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/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/1829Arrangements specially adapted for the receiver end
    • H04L1/1832Details of sliding window management
    • 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/1829Arrangements specially adapted for the receiver end
    • H04L1/1854Scheduling and prioritising arrangements
    • 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/1829Arrangements specially adapted for the receiver end
    • H04L1/1858Transmission or retransmission of more than one copy of acknowledgement message
    • 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
    • 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/189Transmission or retransmission of more than one copy of a message
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Definitions

  • the present application relates to the field of communications technologies, and in particular, to a data transmission method, apparatus, and client terminal device.
  • the Transmission Control Protocol is a connection-oriented, reliable, byte stream-based transport layer communication protocol. Most of the data in the current mobile network is sent through the TCP protocol. Due to the extra delay (10-30ms) introduced by the mobile network and the different transmission characteristics of the mobile network and the fixed network, the TCP performance of the mobile network is poor. . For example, an air interface packet loss causes the sender to perform fast retransmission or timeout retransmission, and the congestion window is halved or the initial value is restored, resulting in a slower data transmission rate.
  • the terminal device performs data transmission with the application server through the Customer Premises Equipment (CPE), and the wireless
  • the connection includes a Wireless Fidelity (WiFi) connection between the terminal and the CPE, and an air interface connection between the CPE and the Radio Access Network (RAN) node, between the terminal and the CPE, and between the CPE and the RAN.
  • WiFi Wireless Fidelity
  • RAN Radio Access Network
  • TCP data when TCP data is transmitted between the CPE and the RAN node, data packet retransmission is performed through a radio link control (RLC) layer and a media access control (MAC), and the packet loss rate can be controlled. At 0.1%, the packet loss rate is low, and there is basically no impact on the throughput of TCP transmission.
  • RLC radio link control
  • MAC media access control
  • the ISM band 2.4G/5G
  • the ISM band is used for free networking, so that there are many co-channel interferences in the same area, except for interference between access points, 2.4G.
  • the quality of the WiFi connection is also affected by distance, obstacles, device load, and device differences.
  • the packet loss rate is higher when the terminal and the CPE transmit TCP data through WiFi, and the application server needs to perform data.
  • the retransmission of the packet the application server performs the packet retransmission occupying the air interface resource, and the TCP acknowledgement packet transmission times reach the threshold due to the packet loss, so that the application server halved the TCP transmission window or restored the initial value, which affects the TCP transmission throughput.
  • the embodiment of the present application provides a data transmission method, device, and client terminal device, so as to improve the throughput of TCP transmission when TCP data transmission is performed between the terminal and the CPE through WiFi.
  • a data transmission method in which a CPE receives downlink data sent by a network device, stores the received first downlink data packet, and creates and maintains the received first downlink data packet. Context entry.
  • the CPE sends the received first downlink data packet to the terminal, and updates the context entry of the first downlink data packet when receiving the acknowledgement data packet of the first downlink data packet sent by the terminal.
  • the CPE determines, according to the context entry of the first downlink data packet, whether to perform retransmission of the first downlink data packet, and if it is determined that the retransmission of the first downlink data packet is required, retransmitting the stored first downlink to the terminal data pack.
  • the CPE determines, according to the context entry of the first downlink data packet, whether the stored downlink data packet to be cleared and its context entry need to be cleared, and if it is determined that the stored downlink data packet to be cleared and its context entry need to be cleared, the CPE is cleared.
  • the stored downlink data packet to be cleared and its context entry are determined, according to the context entry of the first downlink data packet, whether the stored downlink data packet to be cleared and its context entry need to be cleared, and if it is determined that the stored downlink data packet to be cleared and its context entry need to be cleared, the CPE is cleared.
  • the stored downlink data packet to be cleared and its context entry is determined, according to the context entry of the first downlink data packet, whether the stored downlink data packet to be cleared and its context entry need to be cleared, and if it is determined that the stored downlink data packet to be cleared and its context entry need to be cleared, the CPE is cleared.
  • the stored downlink data packet to be cleared and its context entry are determined, according to the context entry
  • the downlink data packet to be cleared and the first downlink data packet belong to the same transmission control protocol TCP link. And the TCP sequence number of the downlink data packet to be cleared is smaller than the TCP sequence number of the first downlink data packet.
  • the CPE receives and stores the first downlink data packet sent by the network device, creates and maintains a context entry of the first downlink data packet, and receives an acknowledgement data packet of the first downlink data packet sent by the terminal.
  • the retransmission of the first downlink data packet is performed by the CPE, and the CPE retransmits the stored first downlink data packet to the terminal, so as to reduce the air interface resource occupation caused by the network device retransmitting the data packet, save the air interface resource, and avoid
  • the packet enables the network device to halve the TCP send window or restore the initial value to the TCP transmission throughput and improve the TCP transmission throughput.
  • the clearing of the to-be-cleared downlink data packet and its context entry in the embodiment of the present application can release the cache of the CPE.
  • the uplink and downlink entries of the first downlink data packet may include a sequence number of the first downlink data packet determined by the CPE according to the first downlink data packet receiving sequence, and an identifier of the first downlink data packet, where the first The identifier of the downlink data packet includes a TCP serial number, and may also include any one of a source IP address, a destination IP address, a source port number, a destination port number, and a version number.
  • the uplink and downlink entries of the first downlink data packet may further include an acknowledgement packet count of the first downlink data packet, a first downlink data packet retransmission count, and a frame number of the MAC layer framing frame.
  • the CPE before the CPE stores the received first downlink data packet, it can determine whether it is necessary to store the first downlink data packet, and store the first downlink when it is determined that the first downlink data packet needs to be stored. data pack.
  • the CPE may determine whether the received first downlink data packet is a TCP data packet, and determine whether the CPE cache is smaller than a preset buffer size, and if the first downlink data packet is determined to be TCP data. If the packet of the CPE is smaller than a preset buffer size, it may be determined that the first downlink data packet needs to be stored.
  • the first downlink data packet is a TCP data packet
  • the CPE cache is equal to a preset buffer size
  • the buffered downlink data packet has a service priority lower than the received
  • the second downlink data packet of the service priority of the first downlink data packet may be determined to need to buffer the received first downlink data packet.
  • the context entry of the first downlink data packet includes a sequence number of the first downlink data packet, an identifier of the first downlink data packet, and the first downlink data.
  • the CPE determines that the acknowledgement packet count value of the first downlink data packet is a predetermined acknowledgement packet count value or determines that the TCP data packet is not stored in the CPE, the CPE determines that the CPE needs to be cleared.
  • the TCP downlink number in the TCP link in which the first downlink data packet is stored is smaller than the first downlink data packet of the TCP sequence number of the first downlink data packet and its context entry.
  • the CPE determines that the acknowledgement packet count value of the first downlink data packet is equal to the first retransmission threshold, the CPE determines that the weight of the first downlink data packet needs to be performed. pass. After the CPE retransmits the stored first downlink data packet to the terminal, the CPE sets the acknowledge packet count value of the first downlink data packet to 0.
  • the CPE after updating the context entry of the first downlink data packet, if the CPE determines that the acknowledgement packet count value of the first downlink data packet is equal to the first forwarding threshold, The CPE forwards the TCP acknowledgment packet to the network device.
  • the CPE determines that the acknowledgement packet count value of the first downlink data packet is greater than a second retransmission threshold, the CPE determines that the first downlink data packet needs to be performed. Retransmission.
  • the CPE after updating the context entry of the first downlink data packet, the CPE is Determining, if the acknowledgement packet count value of the first downlink data packet is greater than the second retransmission threshold, determining whether the acknowledgement packet count value of the first downlink data packet is smaller than a second forwarding threshold; The CPE stores the TCP acknowledgement packet if the acknowledgement packet count value of the data packet is less than the second forwarding threshold.
  • the CPE sends all the TCP acknowledgement data packets of the first downlink data packet to the network device, or If the CPE determines that the acknowledgement packet count value of the first downlink data packet is not less than a second forwarding threshold, and the acknowledgement packet count value of the first downlink data packet is a positive integer multiple of the second forwarding threshold, And the CPE sends the indication information to the network device, where the indication information is used to indicate that the network device does not reduce the TCP sending window.
  • the context entry of the first downlink data packet includes a sequence number of the first downlink data packet, an identifier of the first downlink data packet, and the first downlink data. a frame number of the media access control MAC layer framing, a retransmission count of the first downlink data packet, and an identifier bit that identifies whether the first downlink data packet is successfully sent or not, where the first The identifier of the downlink packet includes the TCP sequence number. If the acknowledgment data packet of the first downlink data packet sent by the CPE receiving terminal is a MAC layer ACK packet, the identifier bit used to characterize whether the first downlink data packet is successfully sent or not is used as a representation A flag bit that a downstream packet has been successfully sent.
  • the acknowledgement data packet of the first downlink data packet sent by the CPE receiving terminal is a MAC layer NACK packet
  • the MAC layer negatively confirms that the MAC frame corresponding to the NACK packet has reached the MAC layer maximum retransmission number
  • the retransmission count value in the context entry of the first downlink data packet is incremented by one. If the CPE determines that the identifier location bit indicating that the first downlink data packet is successfully sent or not is an identifier bit that indicates that the first downlink data packet has been successfully sent, the CPE determines that the CPE needs to be cleared.
  • the TCP link number in the TCP link where the first downlink data packet is located is smaller than the first downlink data packet of the TCP sequence number of the first downlink data packet and its context entry. If the CPE determines that the retransmission count value is greater than a third retransmission threshold, the CPE determines that retransmission of the first downlink data packet is required. After the CPE retransmits the first downlink data packet to the terminal, the CPE updates the MAC frame number in the context entry with a new MAC layer frame number after the MAC layer framing.
  • the CPE after updating the context entry of the first downlink data packet, if the CPE determines that the retransmission count value is greater than a third retransmission threshold, determining whether the retransmission count value is smaller than a third forwarding threshold; if the retransmission count value is less than a third forwarding threshold, the CPE stores the received TCP acknowledgement packet of the first downlink data packet.
  • the CPE sends all the TCP acknowledgement data packets of the stored first downlink data packet to the network device, or if the CPE determines the The CPE sends the indication information to the network device, where the retransmission count value is not less than the third forwarding threshold, and the acknowledgement packet count value of the first downlink data packet is a positive integer multiple of the third forwarding threshold.
  • the indication information is used to indicate that the network device does not reduce the TCP transmission window.
  • the CPE after storing the first downlink data packet, the CPE generates and sends the stored TCP acknowledgement data packet of the first downlink data packet to the network device.
  • the CPE After the CPE sends the TCP acknowledgment data packet of the first downlink data packet to the network device, if the TCP acknowledgment data packet of the first downlink data packet sent by the terminal is received, the CPE discards the location sent by the terminal. The TCP acknowledgement packet of the first downlink data packet.
  • a data transmission apparatus in a second aspect, has a function of implementing the CPE involved in the above first aspect, and the function may be implemented by hardware or by executing corresponding software by hardware.
  • the hardware or software includes one or more modules corresponding to the functions described above.
  • the modules can be software and/or hardware.
  • the data transmission device includes a receiving unit, a buffer unit, a processing unit, and a sending list.
  • the functions of the receiving unit, the buffer unit, the processing unit, and the sending unit may correspond to the method steps, and are not described herein.
  • the receiving unit may be a receiver
  • the buffer unit may be a memory
  • the processing unit may be a processor
  • the transmitting unit may be a transmitter.
  • the receiving unit is a receiver
  • the buffer unit is a memory
  • the processing unit is a processor
  • the transmitting unit is a transmitter
  • the data transmission device may be a client terminal device, the client terminal including a receiver, a memory, a processor, and a transmitter.
  • the memory is configured to store instructions
  • the processor is configured to execute the memory stored instructions, implement the functions of the processing unit involved above, and control the receiver, the memory, and the transmitter to implement the receiving unit, the buffer unit, and the sending The function corresponding to the unit.
  • the client terminal device receives and stores the first downlink data packet sent by the network device, creates and maintains a context entry of the first downlink data packet, and receives the location sent by the terminal. Determining the acknowledgment packet of the first downlink data packet, updating the context entry of the first downlink data packet according to the acknowledgment data packet, and determining, according to the context entry of the first downlink data packet, whether the first downlink data packet needs to be performed Retransmission and clearing, if the terminal needs the network device to perform retransmission of the first downlink data packet, the client terminal device retransmits the stored first downlink data packet to the terminal, so as to reduce network packet retransmission caused by the network device.
  • the air interface resource occupies, saves air interface resources, and avoids the impact of the network device halving the TCP transmission window or restoring the initial value on the TCP transmission throughput due to packet loss, and improving the TCP transmission throughput.
  • the clearing of the to-be-cleared downlink data packet and its context entry in the embodiment of the present application can release the cache of the CPE.
  • 1 is a system architecture diagram of an application of a data transmission method provided by the present application
  • FIG. 3 is a flowchart of an implementation of a data transmission method according to a first embodiment of the present application
  • FIG. 4 is a flowchart of implementing a data transmission method according to a second embodiment of the present application.
  • FIG. 5 is a flowchart of implementing a data transmission method according to a second embodiment of the present application.
  • FIG. 6 is a flowchart of another implementation of a data transmission method provided by the present application.
  • FIG. 7 is a schematic structural diagram of a data transmission apparatus provided by the present application.
  • FIG. 8 is a schematic structural diagram of a client terminal device provided by the present application.
  • the data transmission method provided by the embodiment of the present application can be applied to a system for performing wireless data transmission by a relay routing node.
  • the data receiving end and the data sending end perform data exchange through the WiFi, the RAN, and the core network, and the data receiving end establishes a TCP connection with the data sending end, and uses the TCP protocol to perform data transmission.
  • the terminal and the application server perform data interaction, and the terminal is connected to a transit routing node such as a CPE, and the transit routing node such as a CPE accesses the RAN node through an air interface, and connects to the application server via the core network, where the terminal
  • the wireless connection between the transit routing node and the CPE may be referred to as a WiFi connection.
  • the wireless connection between the transit routing node and the RAN such as the CPE may be referred to as a RAN air interface connection, and the network between the RAN and the network device is a wired network.
  • a TCP link can be established between the network device and the terminal for data transmission.
  • the embodiment of the present invention provides a data transmission method, where the CPE receives and stores a downlink data packet sent by the network device, and if the CPE determines that the terminal needs the network device to perform retransmission of the downlink data packet, the downlink data packet is retransmitted to the terminal.
  • the air interface resource occupation caused by the retransmission of the data packet by the network device is avoided or reduced, and the air interface resource is saved.
  • the positive feedback information indicating that the downlink data packet is correctly received is sent to the network device, so as to prevent the network device from halving the TCP transmission window or restoring the initial value to the TCP transmission throughput due to the packet loss, and improving the TCP transmission throughput.
  • FIG. 2 is a flowchart of a data transmission method according to an embodiment of the present application.
  • the method execution entity shown in FIG. 2 may be a transit routing node such as a CPE, or may be a component in a transit routing node such as a CPE, or may be another functional entity having a corresponding function, which is not limited in the embodiment of the present application.
  • the execution subject is an example of a CPE. See Figure 2, including:
  • the CPE receives the first downlink data packet sent by the network device.
  • the CPE stores the received first downlink data packet, and creates and maintains a context entry of the received first downlink data packet.
  • the CPE may determine whether it is necessary to store the first downlink data packet, and store the first downlink information when it is determined that the first downlink data packet needs to be stored. Line data packet.
  • a cache for storing the first downlink data packet may be preset in the CPE, and the size of the cache may be preset.
  • the first downlink data packet is described as a TCP data packet, so the CPE may determine whether it is necessary to store the received first downlink data packet as follows:
  • the CPE may determine whether the received first downlink data packet is a TCP data packet, and determine whether the CPE cache is smaller than a preset buffer size, and if the first downlink data packet is determined to be TCP data. If the packet of the CPE is smaller than a preset buffer size, it may be determined that the first downlink data packet needs to be stored.
  • the first downlink data packet is a TCP data packet
  • the CPE cache is equal to a preset buffer size
  • the buffered downlink data packet has a service priority lower than the received
  • the second downlink data packet of the service priority of the first downlink data packet may be determined to need to buffer the received first downlink data packet.
  • the data packet with the lowest service priority in the cache may be covered.
  • the uplink and downlink entries of the first downlink data packet in the embodiment of the present application may include the sequence number of the first downlink data packet and the identifier of the first downlink data packet determined by the CPE according to the first downlink data packet receiving sequence, where The identifier of the first downlink data packet includes a TCP sequence number, and may further include any one of a source IP address, a destination IP address, a source port number, a destination port number, and a version number.
  • the uplink and downlink entries of the first downlink data packet may further include an acknowledgement packet count of the first downlink data packet (for example, the number of times of receiving the TCP acknowledgement data packet of the first downlink data packet), and the first downlink data packet. The number of retransmissions and the frame number of the MAC layer framing.
  • the CPE sends the first downlink data packet to the terminal, and receives the acknowledgement data packet of the first downlink data packet sent by the terminal, and updates the context entry of the first downlink data packet.
  • the context entry of the first downlink data packet of the CPE of the present application is mainly for updating the acknowledgement packet count of the first downlink data packet, the number of first downlink data packet retransmissions, and the frame number of the MAC layer framing frame.
  • the CPE determines, according to the context entry of the first downlink data packet, whether the retransmission of the first downlink data packet is required, and if it is determined that the retransmission of the first downlink data packet is required, retransmitting the first storage to the terminal.
  • the downlink data packet updates the stored context item of the first downlink data packet, and may also send the acknowledgement data packet to the network device or send the indication information to the network device to notify the network device not to reduce the sending window.
  • the stored downlink data packet to be cleared and its context entry may be cleared. Can also go to the net
  • the network device sends feedback information that the first downlink data packet has been correctly received.
  • the downlink data packet to be cleared and the first downlink data packet belong to the same transmission control protocol TCP link, and the TCP sequence number of the downlink data packet to be cleared is smaller than the TCP sequence of the first downlink data packet. number.
  • the CPE determines, according to the context entry of the first downlink data packet, whether the stored downlink data packet to be cleared and its context entry need to be cleared. If it is determined that the stored downlink data packet to be cleared and its context entry need to be cleared, the CPE is cleared. The to-be-cleared downlink data packet and its context entry stored therein.
  • the CPE receives and stores the first downlink data packet sent by the network device, creates and maintains a context entry of the first downlink data packet, and receives an acknowledgement data packet of the first downlink data packet sent by the terminal.
  • the retransmission of the first downlink data packet is performed by the CPE, and the CPE retransmits the stored first downlink data packet to the terminal, so as to reduce the air interface resource occupation caused by the network device retransmitting the data packet, save the air interface resource, and avoid
  • the packet enables the network device to halve the TCP send window or restore the initial value to the TCP transmission throughput and improve the TCP transmission throughput.
  • the clearing of the to-be-cleared downlink data packet and its context entry in the embodiment of the present application can release the cache of the CPE.
  • the CPE when the context entry of the first downlink data packet includes different content, the CPE has different processing manners in the data transmission processing process, for example, different manners of updating the context entry, and different manners to determine whether it is needed. Perform retransmission of the first downlink data packet.
  • the first downlink data packet is a TCP data packet
  • the context entry includes a context entry as shown in Table 1 as an example.
  • the identifier of the first downlink data packet in the context entry shown in Table 1 is only a schematic description. In the specific implementation, the identifier of the first downlink data packet must be included in addition to the TCP serial number. The remaining parameters are optional. For example, when the CPE determines that there is only one TCP link under it, the identification of the data packet does not require the TCP link identification parameter, and only the TCP SN is required. When the CPE determines that there are multiple TCP connections under it, but different TCP connection source IPs and target IPs are the same, only the port numbers are different. At this time, the identifier of the data packet only needs the source port, the destination port, and the TCP SN. Of course, there are other situations, which are not repeated here.
  • FIG. 3 is a flowchart showing an implementation of a data transmission method according to a first embodiment of the present application.
  • the CPE receives the first downlink data packet, and determines that the received first downlink data packet needs to be stored.
  • the CPE stores the received first downlink data packet, and creates and maintains a context entry of the received first downlink data packet.
  • the CPE determines that the first downlink data packet sent by the network device is correctly received, the CPE is created and maintained. The context entry of the received first downlink packet.
  • the CPE receives the acknowledgement data packet of the first downlink data packet sent by the terminal, and if the acknowledgement data packet of the first downlink data packet sent by the CPE receiving terminal is a TCP acknowledgement data packet, The acknowledgement count value in the context entry of the first downlink data packet is incremented by one, and the context entry of the first downlink data packet is updated.
  • the CPE may obtain the source IP, the target IP, the source port, the target port, the version information, and the TCP acknowledgement sequence number in the TCP acknowledgement packet.
  • S204 The CPE determines whether a retransmission of Packet N is required.
  • the first retransmission threshold that triggers the retransmission of the packet N may be preset.
  • the CPE determines that the Retransmission of a downlink data packet and updating of the context entry of the stored first downlink data packet.
  • the acknowledgement packet count value of the first downlink data packet is not equal to the first retransmission threshold, the CPE determines that retransmission of the first downlink data packet is not required.
  • S205 The CPE determines whether to forward the TCP acknowledgement packet to the network device.
  • the first forwarding threshold of the TCP acknowledgement packet may be preset, and if the acknowledgement packet count value of the first downlink packet is determined to be equal to the first forwarding threshold, the CPE may determine that the packet needs to be forwarded to the network device. The TCP acknowledges the packet and forwards the TCP acknowledgment packet to the network device. If it is determined that the acknowledgment packet count value of the first downlink data packet is not equal to the first forwarding threshold, the CPE may determine that the TCP acknowledgment data packet need not be forwarded to the network device.
  • a first predetermined threshold that does not forward the TCP acknowledgement packet may be set, and the CPE determines that the acknowledgement packet count value of the first downlink data packet is not equal to the TCP acknowledgement.
  • the first predetermined threshold for which the data packet is not forwarded the CPE forwards the TCP acknowledgement data packet to the network device. If the CPE determines that the acknowledgement packet count value of the first downlink data packet is equal to a first predetermined threshold that the TCP acknowledgement data packet does not forward, the CPE does not need to forward the TCP acknowledgement data packet to the network device.
  • the setting of the first retransmission threshold and the first forwarding threshold in steps S204 and S205 is to facilitate unnecessary retransmission in a scenario where TCP packet loss can be restored through MAC layer retransmission.
  • the CPE clears the CPE if the CPE determines that the acknowledgement packet count value of the first downlink data packet is a predetermined acknowledgement packet count value or determines that the TCP data packet is not stored in the CPE.
  • the CPE determines that the acknowledgement packet count value of the first downlink data packet is not a predetermined acknowledgement packet count value or determines that the TCP data packet is stored in a cache of the CPE. The CPE does not clear the to-be-cleared downlink data packet and its context entry stored in the CPE.
  • the CPE clears the first before the TCP sequence number corresponding to the PacketN in the TCP link in the cache. A downlink packet and its context, and forward the received TCP acknowledgment packet to the network device. If the ACKNum ⁇ 1 or the Packet N is stored in the buffer of the CPE, the CPE does not clear the to-be-cleared downlink data packet and its context entry stored in the CPE.
  • the terminal sends a TCP negative acknowledgment (NACK) packet to the CPE.
  • NACK TCP negative acknowledgment
  • the terminal feedback confirms that the TCP acknowledgment packet whose sequence number is 1 can be referred to as a TCP NACK packet, and then correctly receives the first downlink data packet, or the CPE can determine the corresponding Packet N corresponding to the current reception.
  • the TCP acknowledgement packet is determined after the packet N is retransmitted in the WiFi through the maximum number of retransmissions of the MAC layer, and the data transmission method shown in FIG. 4 can be employed.
  • FIG. 4 is a flowchart of a data transmission method according to a second embodiment of the present application.
  • the data transmission method shown in FIG. 4 is implemented.
  • the context of the first downlink data packet maintained is similar to that in Table 1.
  • the difference is that ACKNum
  • the value can be any positive integer.
  • a second retransmission threshold that triggers retransmission of the first downlink data packet may be preset, and if it is determined that the acknowledgement packet count value of the first downlink data packet is greater than the second retransmission threshold, the CPE Determining that retransmission of the first downlink data packet is required. If it is determined that the acknowledgement packet count value of the first downlink data packet is less than or equal to the second retransmission threshold, the CPE determines that retransmission of the first downlink data packet is not required.
  • the CPE determines that retransmission of the first downlink data packet needs to be performed. If ACKNum ⁇ 1, the CPE determines that retransmission of the first downlink data packet is required.
  • the CPE may further determine whether the acknowledgement packet count value of the first downlink data packet is less than a second forwarding threshold. .
  • the CPE performs TCP to confirm the storage of the data packet by using the sequence number of the first downlink data packet as an index.
  • the CPE sends all the TCP acknowledgement data packets of the stored first downlink data packet to the network device, To trigger its fast retransmission, to avoid timeout retransmission, affecting TCP performance.
  • the CPE further determines whether the acknowledgement packet count value of the first downlink data packet is equal to the first A positive integer multiple of the second forwarding threshold. If the acknowledgment packet count value of the first downlink data packet is determined to be a positive integer multiple of the second forwarding threshold, the CPE sends indication information to the network device, where the indication information is used to indicate the network The device does not reduce the TCP send window.
  • the CPE performs the TCP acknowledgement packet by using the sequence number of the first downlink data packet as an index.
  • the specific implementation process of indicating that the network device does not reduce the TCP sending window is not limited.
  • the retransmission timer corresponding to the packet N may be restarted to avoid timeout retransmission, and the sending window is halved or reduced. To the initial value, and the retransmission of the TCP packet is not performed.
  • FIG. 5 is a flowchart of a data transmission method according to a third embodiment of the present application.
  • the data transmission method shown in FIG. 5 is implemented.
  • the context of the first downlink data packet maintained is as shown in Table 2:
  • the implementation process of the data transmission method provided by the third embodiment of the present application includes the following steps:
  • the CPE receives the first downlink data packet, and determines that the received first downlink data packet needs to be stored.
  • the CPE stores the received first downlink data packet, and creates and maintains a context entry of the received first downlink data packet.
  • the CCE creates and maintains a context entry of the received first downlink data packet.
  • the identifier position bit of the first downlink data packet successfully sent is a flag indicating that the first downlink data packet has been successfully sent. For example, the identifier bit is true to indicate that the first downlink data packet has been successfully sent, and the flag bit is False to indicate that the first downlink data packet is not successfully sent, and the initial value of the flag indicating whether the first downlink data packet is successfully sent or not is set to false, if the CPE receives the acknowledgement data of the first downlink data packet sent by the terminal. If the packet is a MACACK packet, the identifier bit indicating whether the first downlink data packet is successfully sent or not is true.
  • acknowledgement data packet of the first downlink data packet sent by the CPE receiving terminal is a MAC layer negative acknowledgement packet (NACK, Negative ACK response information)
  • the negative acknowledgement packet is described as a NACK packet
  • the MAC When the MAC frame corresponding to the layer NACK packet has reached the maximum number of retransmissions of the MAC layer, the retransmission count value in the context entry of the first downlink data packet is incremented by one.
  • the CPE receives the MAC layer acknowledgement packet sent by the terminal, and determines the sequence number of the first downlink data packet according to the MAC frame number in the MAC acknowledgement packet and the MAC frame number in the maintained context, and further Determining that the MAC layer acknowledgement packet is an acknowledgement packet of the first downlink data packet.
  • the third retransmission threshold for triggering the retransmission of the first downlink data packet may be preset, and when the CPE determines that the retransmission count value is greater than the third retransmission threshold, the CPE determines that the Retransmission of the first downlink data packet, and retransmission of the first downlink data packet. When the CPE determines that the retransmission count value is less than or equal to the third retransmission threshold, the CPE determines that retransmission of the first downlink data packet is not required.
  • Retransmission may result in MAC layer framing, so the CPE updates the MAC frame number in the context entry with the new MAC layer frame number after the MAC layer framing.
  • the third forwarding threshold is set to 4.
  • the number of transmissions of the Packet N (RetransNum+1) is greater than 1 and less than 4 times, the repeated TCP acknowledgement packet corresponding to the received Packet N is stored but Not forwarded to network devices.
  • the CPE sends all the stored TCP acknowledgement data packets of the first downlink data packet to the network device to trigger fast retransmission. Avoid timeout retransmissions that affect TCP performance.
  • the CPE further determines whether the acknowledgement packet count value of the first downlink data packet is equal to a positive integer multiple of the third forwarding threshold. If the CPE determines that the acknowledgement packet count value of the first downlink data packet is a positive integer multiple of the third forwarding threshold, the CPE sends indication information to the network device, where the indication information is used to indicate The network device does not reduce the TCP transmission window.
  • the third forwarding threshold is set to 4.
  • the number of transmissions of the Packet N (RetransNum+1) is not less than 4 times, all the TCP acknowledgement packets corresponding to the received Packet N are sent to the network device. If the number of transmissions (RetransNum+1) of the Packet N is not less than 4 times and is a positive integer multiple of 4, for example, equal to 4 or 8, the CPE sends the indication information to the network device.
  • the specific implementation process of indicating that the network device does not reduce the TCP sending window is not limited.
  • the retransmission timer corresponding to the packet N may be restarted to avoid timeout retransmission, and the sending window is halved or reduced. To the initial value, and the retransmission of the TCP packet is not performed.
  • the CPE determines that the identifier indicating that the first downlink data packet is successfully sent or not is a flag indicating that the first downlink data packet is successfully sent, for example, the set to be true, the CPE is cleared.
  • the TCP sequence number in the TCP link where the first downlink data packet is stored in the CPE is smaller than the first downlink data packet of the TCP sequence number of the first downlink data packet and its context entry.
  • the CPE may generate and send the stored TCP acknowledgement packet of the first downlink data packet to the network device. And after sending the TCP acknowledgement packet of the first downlink data packet to the network device, if receiving the first downlink sent by the terminal The TCP acknowledgement packet of the data packet is discarded, and the TCP acknowledgement packet of the first downlink data packet sent by the terminal is discarded.
  • the specific implementation process may be as shown in FIG.
  • S501 The CPE receives the first downlink data packet, and determines that the received first downlink data packet needs to be stored.
  • the CPE stores the received first downlink data packet, and creates and maintains a context entry of the received first downlink data packet.
  • the context entry of the first downlink data packet created and maintained in this embodiment of the present application may be as shown in Table 3:
  • the latest uplink and downlink entries may be used to replace the corresponding content in the existing entry.
  • S503 The CPE generates and sends the stored TCP acknowledgement packet of the first downlink data packet to the network device.
  • S504 If the CPE receives the TCP acknowledgement packet of the first downlink data packet sent by the terminal, discarding the TCP acknowledgement data packet of the first downlink data packet sent by the terminal.
  • the identifier location bit indicating whether the first downlink data packet is successfully sent or not is a characterization station.
  • the identifier bit successfully sent by the first downlink data packet for example, set to true.
  • acknowledgement data packet of the first downlink data packet sent by the CPE receiving terminal is a MAC layer NACK packet, and the MAC frame corresponding to the MAC layer NACK packet has reached the MAC layer maximum retransmission number, Then retransmit the first downlink data packet.
  • the CPE determines that the identifier location bit indicating that the first downlink data packet is successfully sent or not is the identifier bit that is successfully sent by the first downlink data packet, the CPE clears the stored in the CPE.
  • the TCP sequence number in the TCP link where the first downlink data packet is located is smaller than the first downlink data packet of the TCP sequence number of the first downlink data packet and its context entry.
  • the CPE includes corresponding hardware structures and/or software modules for performing various functions.
  • the embodiments of the present application can be implemented in a combination of hardware or hardware and computer software in combination with the elements of the examples and algorithm steps described in the embodiments disclosed in the application. Whether a function is implemented in hardware or computer software to drive hardware depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the technical solutions of the embodiments of the present application.
  • each functional unit may be divided according to each function, or two or more functions may be integrated into one processing unit.
  • the integrated unit can be implemented either in hardware or in the form of a software functional unit. It should be noted that the division of the unit in the embodiment of the present application is schematic, and is only a logical function division. In actual implementation, there may be another division manner.
  • FIG. 7 shows a schematic structural diagram of a data transmission apparatus provided by the present application.
  • the data transmission device 100 includes a receiving unit 101, a buffer unit 102, a processing unit 103, and a transmitting unit 104.
  • the receiving unit 101 is configured to receive a first downlink data packet sent by the network device, and receive an acknowledgement data packet of the first downlink data packet sent by the terminal.
  • the sending unit 104 is configured to send, to the terminal, the first downlink data packet that is received by the receiving unit 101.
  • the buffer unit 102 is configured to store the first downlink data packet.
  • the processing unit 103 is configured to create and maintain a context entry of the first downlink data packet, and after the receiving unit 101 receives the acknowledgement data packet of the first downlink data packet sent by the terminal, a context entry of the first downlink data packet, and determining, according to the context entry of the first downlink data packet, whether retransmission of the first downlink data packet is required, according to the first downlink data packet
  • the context entry determines whether the first downlink data packet stored by the cache unit 102 and its context entry need to be cleared. If the processing unit 103 determines that the retransmission of the first downlink data packet needs to be performed according to the context entry of the first downlink data packet, the sending unit 104 is configured to retransmit the stored A downstream packet.
  • the buffer unit 102 clears the downlink data to be cleared stored in the CPE. Package and its context entries.
  • the downlink data packet to be cleared and the first downlink data packet belong to the same transmission control protocol TCP link, and the TCP sequence number of the downlink data packet to be cleared is smaller than the TCP sequence of the first downlink data packet. number.
  • the buffer unit 102 is further configured to: before storing the first downlink data packet, determine that the first downlink data packet is a TCP data packet, and the buffer unit 102 is The cache is smaller than the preset cache size, or the cache of the cache unit 102 is equal to the preset cache size, and the traffic priority of the buffered downlink data packet is lower than the service priority of the received first downlink data packet.
  • the second downstream packet is further configured to: before storing the first downlink data packet, determine that the first downlink data packet is a TCP data packet, and the buffer unit 102 is The cache is smaller than the preset cache size, or the cache of the cache unit 102 is equal to the preset cache size, and the traffic priority of the buffered downlink data packet is lower than the service priority of the received first downlink data packet.
  • the second downstream packet is further configured to: before storing the first downlink data packet, determine that the first downlink data packet is a TCP data packet, and the buffer unit 102 is The cache is smaller than the preset cache
  • the context entry of the first downlink data packet includes a sequence number of the first downlink data packet, an identifier of the first downlink data packet, and the first downlink data.
  • the processing unit 103 processes the first downlink data.
  • the acknowledgment count value in the context entry of the packet is incremented by one to update the context entry of the first downstream data packet. If the processing unit 103 determines that the acknowledgement packet count value of the first downlink data packet is a predetermined acknowledgement packet count value or determines that the TCP data packet is not stored in the buffer unit 102, the processing unit 103 It is determined that the to-be-cleared downlink data packet and its context entry stored in the buffer unit 102 need to be cleared.
  • the processing unit 103 determines that the acknowledgement packet count value of the first downlink data packet is equal to the first retransmission threshold. If the processing unit 103 determines that the first downlink needs to be performed. Retransmission of the packet. The processing unit 103 is further configured to: after the transmitting unit 104 retransmits the stored first downlink data packet to the terminal, set an acknowledgement packet count value of the first downlink data packet to 0.
  • the sending unit 104 is further configured to: after the processing unit 103 updates the context entry of the first downlink data packet, if the processing unit 103 determines the first The acknowledgement packet count value of the row data packet is equal to the first forwarding threshold, and the TCP acknowledgement data packet is forwarded to the network device.
  • the processing unit 103 determines the acknowledgement packet count of the first downlink data packet If the value is greater than the second retransmission threshold, the processing unit 103 determines that retransmission of the first downlink data packet is required.
  • the processing unit 103 is further configured to: after updating a context entry of the first downlink data packet, if it is determined that the acknowledgement packet count value of the first downlink data packet is greater than the second Re-transmitting the threshold, determining whether the acknowledgement packet count value of the first downlink data packet is smaller than the second forwarding threshold, and determining that the acknowledgement packet count value of the first downlink data packet is not less than the second forwarding threshold, further determining Whether the acknowledgement packet count value of the first downlink data packet is a positive integer multiple of the second forwarding threshold;
  • the buffer unit 102 is further configured to: if the processing unit 103 determines that the acknowledgement packet count value of the first downlink data packet is less than a second forwarding threshold, store the TCP acknowledgement data packet.
  • the sending unit 104 is further configured to: if the processing unit 103 determines that the acknowledgement packet count value of the first downlink data packet is not less than a second forwarding threshold, the stored first downlink data packet All the TCP acknowledgement data packets are sent to the network device, or if the processing unit 103 determines that the acknowledgement packet count value of the first downlink data packet is not less than a second forwarding threshold and the acknowledgement of the first downlink data packet
  • the packet count value is a positive integer multiple of the second forwarding threshold, and the indication information is sent to the network device, where the indication information is used to indicate that the network device does not reduce the TCP sending window.
  • the context entry of the first downlink data packet includes a sequence number of the first downlink data packet, an identifier of the first downlink data packet, and the first downlink data. a frame number of the MAC layer framing frame, a retransmission count of the first downlink data packet, and an identifier bit that identifies whether the first downlink data packet is successfully sent or not, where the first downlink data packet
  • the identifier includes the TCP serial number.
  • the processing unit 103 if it is determined that the acknowledgment data packet of the first downlink data packet sent by the terminal is a MAC layer ACK packet, is used to represent that the first downlink data packet is successfully sent and
  • the no-identification location bit is an identifier bit that characterizes that the first downlink data packet has been successfully transmitted.
  • the processing unit 103 determines that the acknowledgment data packet of the first downlink data packet sent by the receiving unit 101 is a MAC layer NACK packet, and the MAC layer negative acknowledges that the MAC frame corresponding to the NACK packet has been reached. When the MAC layer has the maximum number of retransmissions, the retransmission count value in the context entry of the first downlink data packet is incremented by one.
  • the processing unit 103 determines, according to the context entry of the first downlink data packet, that the stored downlink data packet to be cleared and its context entry need to be cleared:
  • the processing unit 103 determines that the retransmission count value is greater than the third retransmission threshold, it is determined that retransmission of the first downlink data packet is required.
  • the processing unit 103 is further configured to: after the sending unit 104 retransmits the first downlink data packet to the terminal, update the context entry with a new MAC layer frame number after the MAC layer framing MAC frame number in .
  • the processing unit 103 is further configured to: after updating a context entry of the first downlink data packet, if it is determined that the retransmission count value is greater than a third retransmission threshold, Whether the retransmission count value is smaller than the third forwarding threshold, and determining whether the retransmission count value is not less than the third forwarding threshold, further determining whether the acknowledge packet count value of the first downlink data packet is the third forwarding threshold Positive integer multiples.
  • the buffer unit 102 is further configured to: if the processing unit 103 determines that the retransmission count value is less than a third forwarding threshold, store the received TCP acknowledgement packet of the first downlink data packet.
  • the sending unit 104 is further configured to: if the processing unit 103 determines that the retransmission count value is not less than a third forwarding threshold, send all stored TCP acknowledgement data packets of the first downlink data packet To the network device, or if the processing unit 103 determines that the retransmission count value is not less than a third forwarding threshold and the acknowledgement packet count value of the first downlink data packet is a positive integer multiple of the third forwarding threshold To the network device
  • Sending indication information the indication information is used to indicate that the network device does not reduce the TCP transmission window.
  • the sending unit 104 is further configured to: after the buffer unit 102 stores the first downlink data packet, send a TCP acknowledgement of the first downlink data packet to a network device. data pack.
  • the receiving unit 101 is further configured to: after the sending unit 104 sends the TCP acknowledgement packet of the first downlink data packet to the network device, if the terminal sends the received The TCP acknowledgement packet of the first downlink data packet discards the TCP acknowledgement data packet of the first downlink data packet sent by the terminal.
  • the receiving unit 101 may be a communication interface, a receiver, a transceiver circuit, etc.
  • the buffer unit 102 may be a memory
  • the processing unit 103 may be a processor or a controller
  • the sending unit 104 may be It is a communication interface, a transmitter, a transceiver circuit, etc., wherein the communication interface is a collective name and may include one or more interfaces.
  • the data transmission device 100 may be the client terminal device shown in FIG. .
  • the client terminal device shown in FIG. 8 may be a CPE.
  • FIG. 8 is a schematic structural diagram of a client terminal device 1000 according to an embodiment of the present application, that is, a schematic structural diagram of another possible data transmission device according to an embodiment of the present application.
  • the client terminal device 1000 includes a receiver 1001, a memory 1002, a processor 1003, and a transmitter 1004 for storing instructions for executing the instructions stored by the memory 1002.
  • the following functions of the processor 1003 are executed, and the receiver 1001, the memory 1002, and the transmitter 1004 are controlled to perform the following functions:
  • the receiver 1001 is configured to receive a first downlink data packet sent by the network device, and receive an acknowledgement data packet of the first downlink data packet sent by the terminal, where the transmitter 1004 is configured to send the a first downlink data packet received by the receiver 1001, the memory 1002, configured to store the first downlink data packet, and the processor 1003, configured to create and maintain a context of the first downlink data packet
  • An entry after the receiver 1001 receives the acknowledgement data packet of the first downlink data packet sent by the terminal, updating a context entry of the first downlink data packet, and according to the first downlink data packet
  • the context entry determines whether a retransmission of the first downlink data packet is required, and determines, according to the context entry of the first downlink data packet, whether to clear the first downlink data packet and the context stored by the memory 1002.
  • the transmitter 1004 is configured to retransmit the stored data to the terminal.
  • the first downlink data packet is described; if the processor 1003 determines, according to the context entry of the first downlink data packet, that the stored downlink data packet to be cleared and its context entry need to be cleared, the memory 1002 clears the CPE.
  • the downlink data packet to be cleared and the first downlink data packet belong to the same transmission control protocol TCP link, and the TCP sequence number of the downlink data packet to be cleared is smaller than the TCP sequence of the first downlink data packet. number.
  • the memory 1002 is further configured to: before storing the first downlink data packet, determine that the first downlink data packet is a TCP data packet, and the buffer of the memory 1002 is smaller than a preset buffer size, or the cache of the memory 1002 is equal to a preset buffer size, and the second downlink data packet has a second service priority that is lower than the service priority of the received first downlink data packet. Downstream packet.
  • the context entry of the first downlink data packet includes a sequence number of the first downlink data packet, an identifier of the first downlink data packet, and the first downlink data.
  • the processor 1003 updates the first downlink data packet in the following manner. Context entry: if the acknowledgment data packet of the first downlink data packet sent by the terminal is a TCP acknowledgment data packet, the acknowledgment count value in the context entry of the first downlink data packet is added. 1. The processor 1003 determines, according to the context entry of the first downlink data packet, that the stored downlink data packet to be cleared and its context entry need to be cleared: if the acknowledge packet count of the first downlink data packet is determined If the value is a predetermined acknowledgement packet count value or it is determined that the TCP packet is not stored in the memory 1002, it is determined that the downlink packet to be cleared and its context entry stored in the memory 1002 need to be cleared.
  • the processor 1003 determines, according to the context entry of the first downlink data packet, that retransmission of the first downlink data packet needs to be performed: if the first downlink is determined The acknowledgement packet count value of the row data packet is equal to the first retransmission threshold, and it is determined that retransmission of the first downlink data packet is required.
  • the processor 1003 is further configured to: after the transmitter 1004 retransmits the stored first downlink data packet to the terminal, set an acknowledgement packet count value of the first downlink data packet to 0.
  • the transmitter 1004 is further configured to: after the processor 1003 updates a context entry of the first downlink data packet, if the processor 1003 determines the first The acknowledgement packet count value of the row data packet is equal to the first forwarding threshold, and the TCP acknowledgement data packet is forwarded to the network device.
  • the processor 1003 determines, according to the context entry of the first downlink data packet, that retransmission of the first downlink data packet is required: if the first If the acknowledgement packet count value of the downlink data packet is greater than the second retransmission threshold, it is determined that retransmission of the first downlink data packet is required.
  • the processor 1003 is further configured to: after updating a context entry of the first downlink data packet, if it is determined that the acknowledgement packet count value of the first downlink data packet is greater than the second Re-transmitting the threshold, determining whether the acknowledgement packet count value of the first downlink data packet is smaller than the second forwarding threshold, and determining that the acknowledgement packet count value of the first downlink data packet is not less than the second forwarding threshold, further determining Whether the acknowledgement packet count value of the first downlink data packet is a positive integer multiple of the second forwarding threshold.
  • the memory 1002 is further configured to: if the processor 1003 determines that the acknowledgement packet count value of the first downlink data packet is less than a second forwarding threshold, store the TCP acknowledgement data packet.
  • the transmitter 1004 is further configured to: if the processor 1003 determines that the acknowledgement packet count value of the first downlink data packet is not less than a second forwarding threshold, the stored first downlink data packet All the TCP acknowledgement data packets are sent to the network device, or if the processor 1003 determines that the acknowledgement packet count value of the first downlink data packet is not less than a second forwarding threshold and the acknowledgement of the first downlink data packet
  • the packet count value is a positive integer multiple of the second forwarding threshold, and the indication information is sent to the network device, where the indication information is used to indicate that the network device does not reduce the TCP sending window.
  • the context entry of the first downlink data packet includes a sequence number of the first downlink data packet, an identifier of the first downlink data packet, and the first downlink data. a frame number of the media access control MAC layer framing, a retransmission count of the first downlink data packet, and an identifier bit that identifies whether the first downlink data packet is successfully sent or not, where the first The identifier of the downlink packet includes the TCP sequence number.
  • the processor 1003 updates the context entry of the first downlink data packet by: if the receiver 1001 receives the acknowledgement data packet of the first downlink data packet sent by the terminal as a MAC layer ACK packet,
  • the identifier bit used to characterize whether the first downlink data packet is successfully sent or not is an identifier bit that indicates that the first downlink data packet has been successfully transmitted. If the acknowledgement data packet of the first downlink data packet sent by the CPE receiving terminal is a MAC layer NACK packet, and the MAC layer negatively confirms that the MAC frame corresponding to the NACK packet has reached the MAC layer maximum retransmission number, Then, the retransmission count value in the context entry of the first downlink data packet is incremented by one.
  • the processor 1003 determines, according to the context entry of the first downlink data packet, that the stored downlink data packet to be cleared and its context entry need to be cleared: if it is determined that the first downlink data packet is successfully sent and If the identifier location bit is a flag indicating that the first downlink data packet has been successfully sent, then it is determined The to-be-purified downlink data packet and its context entry stored in the memory 1002 need to be cleared.
  • the processor 1003 determines, according to the context entry of the first downlink data packet, that retransmission of the first downlink data packet is required: if it is determined that the retransmission count value is greater than a third retransmission threshold And determining that retransmission of the first downlink data packet is required.
  • the processor 1003 is further configured to: after the transmitter 1004 retransmits the first downlink data packet to the terminal, update the context entry with a new MAC layer frame number after the MAC layer framing MAC frame number in .
  • the processor 1003 is further configured to: after updating a context entry of the first downlink data packet, if it is determined that the retransmission count value is greater than a third retransmission threshold, determine Whether the retransmission count value is smaller than the third forwarding threshold, and determining whether the retransmission count value is not less than the third forwarding threshold, further determining whether the acknowledge packet count value of the first downlink data packet is the third forwarding threshold Positive integer multiples.
  • the memory 1002 is further configured to: if the processor 1003 determines that the retransmission count value is less than a third forwarding threshold, store the received TCP acknowledgement packet of the first downlink data packet.
  • the transmitter 1004 is further configured to: if the processor 1003 determines that the retransmission count value is not less than a third forwarding threshold, send all stored TCP acknowledgement data of the first downlink data packet To the network device, or if the processor 1003 determines that the retransmission count value is not less than a third forwarding threshold and the acknowledgement packet count value of the first downlink data packet is a positive integer multiple of the third forwarding threshold Sending indication information to the network device, where the indication information is used to indicate that the network device does not reduce the TCP sending window.
  • the transmitter 1004 is further configured to: after the storing, by the memory 1002, the first downlink data packet, send the TCP acknowledgement data of the first downlink data packet to a network device. package;
  • the receiver 1001 is further configured to: after the transmitter 1004 sends the TCP acknowledgement packet of the first downlink data packet to the network device, if the terminal sends the received The TCP acknowledgement packet of the first downlink data packet discards the TCP acknowledgement data packet of the first downlink data packet sent by the terminal.
  • the data transmission device 100 and the client terminal device 1000 are referred to the foregoing method or other embodiments. The description is not repeated here.
  • the network device and the terminal are not limited to the foregoing structure.
  • the terminal may further include a display device, an input/output interface, and the like, and all the terminals that can implement the embodiments of the present application are within the protection scope of the embodiments of the present application.
  • the network device may also include any number of transmitters, receivers, processors, controllers, memories, communication units, etc., and all network devices that can implement the embodiments of the present application are within the protection scope of the embodiments of the present application.
  • the processor involved in the foregoing embodiments may be a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), and an application specific integrated circuit (Application-Specific). Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA) or other programmable logic device, transistor logic device, hardware component, or any combination thereof. It is possible to implement or carry out the various illustrative logical blocks, modules and circuits described in connection with the present disclosure.
  • the processor can also be a combination of computing functions, for example, including one or more microprocessor combinations, a combination of a DSP and a microprocessor, and the like.
  • the memory may be integrated in the processor or may be separately provided from the processor.
  • the functions of the receiver and the transmitter can be implemented by a dedicated chip through the transceiver circuit or the transceiver.
  • the processor can be implemented by a dedicated processing chip, a processing circuit, a processor, or a general purpose chip.
  • program code that implements processor, receiver, and transmitter functions is stored in the memory.
  • a general purpose processor implements the functions of a processor, a receiver, and a transmitter by executing code in a memory.
  • the embodiment of the present application further provides a communication system, including the foregoing client terminal device, network device, and one or more terminals.
  • the embodiment of the present application further provides a computer storage medium for storing some instructions, and when the instructions are executed, any one of the methods involved in the foregoing CPE may be completed.
  • embodiments of the present application can be provided as a method, system, or computer program product. Therefore, the embodiments of the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Moreover, embodiments of the present application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • Embodiments of the present application are described with reference to flowchart illustrations and/or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present application. It will be understood that each flow and/or block of the flowchart illustrations and/or FIG.
  • These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing device to produce a machine for the execution of instructions for execution by a processor of a computer or other programmable data processing device.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

一种数据传输方法、装置及客户终端设备。客户终端设备CPE接收网络设备发送的第一下行数据包,存储第一下行数据包,创建并维护第一下行数据包的上下文条目。CPE向终端发送第一下行数据包。CPE接收终端发送的第一下行数据包的确认数据包,更新第一下行数据包的上下文条目。CPE若根据第一下行数据包的上下文条目确定需要进行第一下行数据包的重传,则向终端重传存储的第一下行数据包。CPE若根据第一下行数据包的上下文条目确定需要清除存储的待清除下行数据包及其上下文条目,则清除所述待清除下行数据包及其上下文条目,以提高终端与CPE之间TCP数据传输的吞吐量。

Description

一种数据传输方法、装置及客户终端设备 技术领域
本申请涉及通信技术领域,尤其涉及一种数据传输方法、装置及客户终端设备。
背景技术
传输控制协议(Transmission Control Protocol,TCP)是一种面向连接的、可靠地、基于字节流的传输层通信协议。当前移动网络中的大多数数据都是通过TCP协议发送的,由于移动网络引入的额外时延(10~30ms),以及移动网络和固定网络不同的传输特性,使移动网络承载的TCP性能较差。例如,空口丢包导致发端进行快速重传或者超时重传,拥塞窗口减半或者恢复初始值,导致数据发送速率减慢。
该问题在有中转路由节点参与的数据传输中更为明显,在有中转路由节点参与的数据传输中,如终端设备通过客户终端设备(Customer Premises Equipment,CPE)与应用服务器进行数据传输,且无线连接包括终端与CPE之间的无线保真(Wireless Fidelity,WiFi)连接,以及CPE与无线接入网(Radio Access Network,RAN)节点之间的空口连接,终端与CPE之间,以及CPE与RAN节点之间的丢包和传输延迟都会导致TCP传输吞吐量的降低。
通常,CPE与RAN节点之间进行TCP数据传输时,通过无线链路控制(Radio link Control,RLC)层、媒体接入控制(Media Access Control,MAC)进行数据包重传,丢包率可以控制在0.1%,丢包率较低,对TCP传输的吞吐基本无影响。但是终端与CPE之间通过WiFi进行TCP数据传输时,使用ISM频段(2.4G/5G)自由组网,使得在同一个区域,存在许多同频干扰,除去接入点之间的干扰,2.4G/5G频段还可能存在大量其他无线设备(如微波炉,遥控器等)。除此之外,WiFi连接的质量还受距离、障碍物、设备负载以及设备差异的影响,最终导致终端与CPE之间通过WiFi进行TCP数据传输时丢包率较高,并需要应用服务器进行数据包的重传,应用服务器进行数据包重传占用空口资源,并且由于丢包可能产生TCP确认数据包发送次数达到阈值使应用服务器将TCP发送窗口减半或恢复初始值,影响TCP传输吞吐量。
发明内容
本申请实施例提供一种数据传输方法、装置及客户终端设备,以在终端与CPE之间通过WiFi进行TCP数据传输时,提高TCP传输的吞吐量。
第一方面,提供一种数据传输方法,在该方法中,CPE接收网络设备发送的下行数据,存储接收到的第一下行数据包,并创建和维护接收到的第一下行数据包的上下文条目。CPE向终端发送接收到的第一下行数据包,在接收到终端发送的第一下行数据包的确认数据包情况下,更新所述第一下行数据包的上下文条目。CPE根据第一下行数据包的上下文条目确定是否需要进行第一下行数据包的重传,若确定需要进行第一下行数据包的重传,则向终端重传存储的第一下行数据包。CPE根据第一下行数据包的上下文条目确定是否需要清除存储的待清除下行数据包及其上下文条目,若确定需要清除存储的待清除下行数据包及其上下文条目,则清除所述CPE中所存储的所述待清除下行数据包及其上下文条目。
其中,所述待清除下行数据包与所述第一下行数据包属于同一传输控制协议TCP链接, 且所述待清除下行数据包的TCP序列号小于所述第一下行数据包的TCP序列号。
本申请实施例,CPE接收并存储网络设备发送的第一下行数据包,创建并维护第一下行数据包的上下文条目,接收来自终端发送的所述第一下行数据包的确认数据包,根据确认数据包来更新所述第一下行数据包的上下文条目,根据第一下行数据包的上下文条目确定是否需要进行第一下行数据包的重传以及清除,若终端需要网络设备进行第一下行数据包的重传,则CPE将存储的第一下行数据包重传给终端,以减少网络设备进行数据包重传导致的空口资源占用,节省空口资源,并避免由于丢包使网络设备将TCP发送窗口减半或恢复初始值对TCP传输吞吐量造成的影响,提高TCP传输吞吐量。本申请实施例中清除存储的待清除下行数据包及其上下文条目能够释放CPE的缓存。
其中,第一下行数据包的上下行条目可包括CPE按照第一下行数据包接收顺序所确定的第一下行数据包的序列号和第一下行数据包的标识,其中,第一下行数据包的标识包括TCP序列号,还可以包括源IP地址、目标IP地址、源端口号、目标端口号、版本号中的任意项。第一下行数据包的上下行条目还可以包括所述第一下行数据包的确认包计数、第一下行数据包重传次数以及MAC层组帧的帧号等。
一种可能的设计中,CPE存储接收到的第一下行数据包之前,可判断是否需要存储第一下行数据包,在确定需要存储第一下行数据包的情况下存储第一下行数据包。一种实施方式中,CPE可判断接收到的第一下行数据包是否为TCP数据包,并判断CPE的缓存是否小于预设的缓存大小,若确定所述第一下行数据包为TCP数据包,且所述CPE的缓存小于预设的缓存大小,则可确定需要存储第一下行数据包。另一种实施方式中,若确定所述第一下行数据包为TCP数据包,且所述CPE的缓存等于预设的缓存大小且已缓存的下行数据包中存在有业务优先级低于接收到的第一下行数据包的业务优先级的第二下行数据包,则可确定需要缓存接收到的第一下行数据包。
另一种可能的设计中,所述第一下行数据包的上下文条目包括所述第一下行数据包的序列号、所述第一下行数据包的标识以及所述第一下行数据包的确认包计数,其中,所述第一下行数据包的标识包括TCP序列号。若所述CPE接收终端发送的所述第一下行数据包的确认数据包为TCP确认数据包,则对所述第一下行数据包的上下文条目中的确认计数值加1,实现第一下行数据包的上下文条目的更新。所述CPE若确定所述第一下行数据包的确认包计数值为预定的确认包计数值或者确定所述TCP数据包未存储在所述CPE中,则所述CPE确定需要清除所述CPE中所存储的所述第一下行数据包所在的TCP链接中TCP序列号小于所述第一下行数据包的TCP序列号的第一下行数据包及其上下文条目。
一种可能的实施方式中,所述CPE若确定所述第一下行数据包的确认包计数值等于第一重传阈值,则所述CPE确定需要进行所述第一下行数据包的重传。所述CPE向所述终端重传存储的所述第一下行数据包之后,所述CPE将所述第一下行数据包的确认包计数值置为0。
另一种可能的实施方式中,更新所述第一下行数据包的上下文条目之后,所述CPE若确定所述第一下行数据包的确认包计数值等于第一转发阈值,则所述CPE向网络设备转发所述TCP确认数据包。
又一种可能的实施方式中,所述CPE若确定所述第一下行数据包的确认包计数值大于第二重传阈值,则所述CPE确定需要进行所述第一下行数据包的重传。
又一种可能的实施方式中,更新所述第一下行数据包的上下文条目之后,所述CPE若 确定所述第一下行数据包的确认包计数值大于第二重传阈值,则判断所述第一下行数据包的确认包计数值是否小于第二转发阈值;若所述第一下行数据包的确认包计数值小于第二转发阈值,则所述CPE存储所述TCP确认数据包。若所述第一下行数据包的确认包计数值不小于第二转发阈值,则所述CPE将所存储的所述第一下行数据包的所有TCP确认数据包发给网络设备,或者,所述CPE若确定所述第一下行数据包的确认包计数值不小于第二转发阈值且所述第一下行数据包的确认包计数值为所述第二转发阈值的正整数倍,则所述CPE向所述网络设备发送指示信息,所述指示信息用于指示所述网络设备不减小TCP发送窗口。
又一种可能的设计中,所述第一下行数据包的上下文条目包括所述第一下行数据包的序列号、所述第一下行数据包的标识、所述第一下行数据包在媒体接入控制MAC层组帧的帧号、所述第一下行数据包的重传计数以及标识所述第一下行数据包成功发送与否的标识位,其中,所述第一下行数据包的标识包括TCP序列号。若所述CPE接收终端发送的所述第一下行数据包的确认数据包为MAC层ACK包,则将用于表征所述第一下行数据包成功发送与否的标识位置位为表征第一下行数据包已成功发送的标识位。若所述CPE接收终端发送的所述第一下行数据包的确认数据包为MAC层NACK包,且所述MAC层负确认NACK包所对应的MAC帧已达到MAC层最大重传次数时,则对所述第一下行数据包的上下文条目中的重传计数值加1。所述CPE若确定表征所述第一下行数据包成功发送与否的标识位置位为表征第一下行数据包已成功发送的标识位,则所述CPE确定需要清除所述CPE中所存储的所述第一下行数据包所在的TCP链接中TCP序列号小于所述第一下行数据包的TCP序列号的第一下行数据包及其上下文条目。所述CPE若确定所述重传计数值大于第三重传阈值,则所述CPE确定需要进行所述第一下行数据包的重传。所述CPE向所述终端重传所述第一下行数据包之后,所述CPE在MAC层组帧后用新的MAC层帧号更新所述上下文条目中的MAC帧号。
一种可能的实施方式中,更新所述第一下行数据包的上下文条目之后,所述CPE若确定所述重传计数值大于第三重传阈值,则判断所述重传计数值是否小于第三转发阈值;若所述重传计数值小于第三转发阈值,则所述CPE存储接收到的所述第一下行数据包的TCP确认数据包。若所述重传计数值不小于第三转发阈值,则所述CPE将所存储的所述第一下行数据包的所有TCP确认数据包发给网络设备,或者,所述CPE若确定所述重传计数值不小于第三转发阈值且所述第一下行数据包的确认包计数值为所述第三转发阈值的正整数倍,则所述CPE向所述网络设备发送指示信息,所述指示信息用于指示所述网络设备不减小TCP发送窗口。
又一种可能的设计中,存储所述第一下行数据包之后,CPE生成并向网络设备发送已存储的所述第一下行数据包的TCP确认数据包。
其中,CPE向网络设备发送所述第一下行数据包的TCP确认数据包之后,若接收到终端发送的所述第一下行数据包的TCP确认数据包,则丢弃所述终端发送的所述第一下行数据包的TCP确认数据包。
第二方面,提供一种数据传输装置,所述数据传输装置具有实现上述第一方面中涉及的CPE的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。所述模块可以是软件和/或硬件。
一种可能的设计中,所述数据传输装置包括接收单元、缓存单元、处理单元和发送单 元,接收单元、缓存单元、处理单元和发送单元的功能可以和各方法步骤相对应,在此不予赘述。
另一种可能的设计中,接收单元可以是接收器,缓存单元可以是存储器,处理单元可以是处理器,发送单元可以是发射器。若接收单元是接收器,缓存单元是存储器,处理单元是处理器,发送单元是发射器,所述数据传输装置可以是客户终端设备,该客户终端包括接收器、存储器、处理器和发射器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,实现上述涉及的处理单元的功能,并控制接收器、存储器和发射器实现上述涉及的接收单元、缓存单元和发送单元对应的功能。
本申请提供的数据传输方法、装置及客户终端设备,客户终端设备接收并存储网络设备发送的第一下行数据包,创建并维护第一下行数据包的上下文条目,接收来自终端发送的所述第一下行数据包的确认数据包,根据确认数据包来更新所述第一下行数据包的上下文条目,根据第一下行数据包的上下文条目确定是否需要进行第一下行数据包的重传以及清除,若终端需要网络设备进行第一下行数据包的重传,则客户终端设备将存储的第一下行数据包重传给终端,以减少网络设备进行数据包重传导致的空口资源占用,节省空口资源,并避免由于丢包使网络设备将TCP发送窗口减半或恢复初始值对TCP传输吞吐量造成的影响,提高TCP传输吞吐量。本申请实施例中清除存储的待清除下行数据包及其上下文条目能够释放CPE的缓存。
附图说明
图1为本申请提供的数据传输方法应用的系统架构图;
图2为本申请提供的一种数据传输方法实现流程图;
图3为本申请第一实施例提供的数据传输方法的实现流程图;
图4为本申请第二实施例提供的数据传输方法的实现流程图;
图5为本申请第二实施例提供的数据传输方法的实现流程图;
图6为本申请提供的数据传输方法的另一实现流程图;
图7为本申请提供的一种数据传输装置的结构示意图;
图8为本申请提供的一种客户终端设备的结构示意图。
具体实施方式
下面将结合附图,对本申请实施例进行描述。
本申请实施例提供的数据传输方法可应用于通过中转路由节点进行无线数据传输的系统中。其中,数据接收端与数据发送端通过WiFi、RAN以及核心网进行数据交互,所述数据接收端和所述数据发送端之间建立TCP连接,采用TCP协议进行数据传输。例如图1所示,终端和应用服务器之间进行数据交互,终端与CPE等中转路由节点连接,CPE等中转路由节点通过空口接入到RAN节点,并经由核心网连接到应用服务器,其中,终端与CPE等中转路由节点之间的无线连接可称为WiFi连接,CPE等中转路由节点与RAN之间的无线连接可称为RAN空口连接,RAN与网络设备之间的网络为有线网络,可称为有线连接。网络设备与终端之间可建立TCP链接并进行数据传输。
本申请实施例提供一种数据传输方法,CPE接收并存储网络设备发送的下行数据包,若CPE确定终端需要网络设备进行下行数据包的重传,则将存储的下行数据包重传给终端, 以避免或者减少网络设备(应用服务器或者RAN节点)进行数据包重传导致的空口资源占用,节省空口资源。并将表征下行数据包正确接收的正反馈信息发送给网络设备,以避免由于丢包使网络设备将TCP发送窗口减半或恢复初始值对TCP传输吞吐量造成的影响,提高TCP传输吞吐量。
图2为本申请实施例提供的一种数据传输方法流程图。图2所示的方法执行主体可以是CPE等中转路由节点,也可以是CPE等中转路由节点中的部件,或者还可以是其它具有相应功能的功能实体,本申请实施例不做限定,以下仅以执行主体为CPE进行举例说明。参阅图2所示,包括:
S101:CPE接收网络设备发送的第一下行数据包。
S102:CPE存储接收到的第一下行数据包,并创建和维护接收到的第一下行数据包的上下文条目。
本申请的一个实施例中,CPE存储接收到的第一下行数据包之前,可判断是否需要存储第一下行数据包,在确定需要存储第一下行数据包的情况下存储第一下行数据包。
本申请实施例中,为避免CPE执行本申请提供的数据传输方法对CPE其它业务的影响,可在CPE中预设用于存储第一下行数据包的缓存,并预设该缓存的大小。
本申请实施例中针对第一下行数据包为TCP数据包进行说明,故CPE可采用如下方式确定是否需要存储接收到的第一下行数据包:
一种实施方式中,CPE可判断接收到的第一下行数据包是否为TCP数据包,并判断CPE的缓存是否小于预设的缓存大小,若确定所述第一下行数据包为TCP数据包,且所述CPE的缓存小于预设的缓存大小,则可确定需要存储第一下行数据包。
另一种实施方式中,若确定所述第一下行数据包为TCP数据包,且所述CPE的缓存等于预设的缓存大小且已缓存的下行数据包中存在有业务优先级低于接收到的第一下行数据包的业务优先级的第二下行数据包,则可确定需要缓存接收到的第一下行数据包。该实施方式中,存储所述第一下行数据包时,可覆盖所述缓存中业务优先级最低的数据包。
本申请实施例中第一下行数据包的上下行条目可包括CPE按照第一下行数据包接收顺序所确定的第一下行数据包的序列号和第一下行数据包的标识,其中,第一下行数据包的标识包括TCP序列号,还可以包括源IP地址、目标IP地址、源端口号、目标端口号、版本号中的任意项。第一下行数据包的上下行条目还可以包括所述第一下行数据包的确认包计数(例如接收到第一下行数据包的TCP确认数据包的次数)、第一下行数据包重传次数以及MAC层组帧的帧号等。
S103:CPE向终端发送第一下行数据包,并接收终端发送的第一下行数据包的确认数据包,并更新所述第一下行数据包的上下文条目。
本申请CPE更新第一下行数据包的上下文条目主要是针对第一下行数据包的确认包计数、第一下行数据包重传次数以及MAC层组帧的帧号等的更新。
S104:CPE根据第一下行数据包的上下文条目确定是否需要进行第一下行数据包的重传,若确定需要进行第一下行数据包的重传,则向终端重传存储的第一下行数据包,更新存储的第一下行数据包的上下文条目,还可以向网络设备发送所述确认数据包或者向网络设备发送指示信息,以通知网络设备不减小发送窗口。
本申请的一个实施例中,CPE若确定不需要进行第一下行数据包的重传且确定第一下行数据包被终端正确接收,则可清除存储的待清除下行数据包及其上下文条目,还可向网 络设备发送第一下行数据包已正确接收的反馈信息。其中,所述待清除下行数据包与所述第一下行数据包属于同一传输控制协议TCP链接,且所述待清除下行数据包的TCP序列号小于所述第一下行数据包的TCP序列号。
S105:CPE根据第一下行数据包的上下文条目确定是否需要清除存储的待清除下行数据包及其上下文条目,若确定需要清除存储的待清除下行数据包及其上下文条目,则清除所述CPE中所存储的所述待清除下行数据包及其上下文条目。
本申请实施例,CPE接收并存储网络设备发送的第一下行数据包,创建并维护第一下行数据包的上下文条目,接收来自终端发送的所述第一下行数据包的确认数据包,根据确认数据包来更新所述第一下行数据包的上下文条目,根据第一下行数据包的上下文条目确定是否需要进行第一下行数据包的重传以及清除,若终端需要网络设备进行第一下行数据包的重传,则CPE将存储的第一下行数据包重传给终端,以减少网络设备进行数据包重传导致的空口资源占用,节省空口资源,并避免由于丢包使网络设备将TCP发送窗口减半或恢复初始值对TCP传输吞吐量造成的影响,提高TCP传输吞吐量。本申请实施例中清除存储的待清除下行数据包及其上下文条目能够释放CPE的缓存。
本申请实施例中第一下行数据包的上下文条目包括不同内容时,CPE进行数据传输处理过程中有不同的处理方式,例如有不同的更新上下文条目的方式,以及有不同的方式确定是否需要进行第一下行数据包的重传。
以下将结合具体的实施例对本申请上述涉及的数据传输方法的具体实现过程进行说明。
本申请第一实施例中,以所述第一下行数据包为TCP数据包,并且上下文条目包括如表1所示的上下文条目为例进行说明。
Figure PCTCN2017072518-appb-000001
表1
需要说明的是,表1所示的上下文条目中第一下行数据包的标识仅是进行示意性说明,具体实现中,所述第一下行数据包的标识除了TCP序列号是必须包含的,其余参数可选,例如,当CPE确定其下仅有一个TCP链接,此时数据包的标识无需TCP链路标识参数,仅需TCP SN。而当CPE确定其下存在多个TCP连接,但不同的TCP连接源IP、目标IP相同,仅端口号不同,此时数据包的标识仅需源端口、目标端口和TCP SN。当然还有其他情况,此处不一一赘述。
图3所示为本申请第一实施例提供的数据传输方法的实现流程图,参阅图3所示包括:
S201:CPE接收第一下行数据包,并确定需要存储接收到的第一下行数据包。
S202:CPE存储接收到的第一下行数据包,并创建和维护接收到的第一下行数据包的上下文条目。
本申请实施例中CPE确定正确接收到网络设备发送的第一下行数据包后,创建和维护 接收到的第一下行数据包的上下文条目。
S203:CPE接收终端发送的所述第一下行数据包的确认数据包,若所述CPE接收终端发送的所述第一下行数据包的确认数据包为TCP确认数据包,则对所述第一下行数据包的上下文条目中的确认计数值加1,更新所述第一下行数据包的上下文条目。
本申请实施例中CPE接收到终端发送的TCP确认数据包后,可获取该TCP确认数据包中的源IP、目标IP、源端口、目标端口、版本信息及TCP确认序列号。根据(源IP地址,目标IP地址,源端口号,目标端口号,版本号)以及表1中维护的上下文信息,确定TCP链路标识,其中,TCP确认数据包的源IP、目标IP、源端口、目标端口与表1中维护的上下文信息中第一下行数据包源IP、目标IP、源端口、目标端口相反,并根据TCP确认序列号确定该TCP确认数据包对应该TCP链路中的哪个第一下行数据包,其中,若链路标识相同,则TCP确认数据包的序列号=TCP序列号。
本申请确定了接收到的TCP确认数据包对应的第一下行数据包(Packet N)后,则更新维护的Packet N上下文条目中的ACKNum,其中,更新后的ACKNum=(更新前的ACKNum+1)。
S204:CPE确定是否需要进行Packet N的重传。
本申请实施例中可预设触发Packet N进行重传的第一重传阈值,当第一下行数据包的确认包计数值等于第一重传阈值,则所述CPE确定需要进行所述第一下行数据包的重传,并更新存储的第一下行数据包的上下文条目。当第一下行数据包的确认包计数值不等于第一重传阈值,则所述CPE确定不需要进行所述第一下行数据包的重传。例如,本申请实施例中设置第一重传阈值为3,则ACKNum=3时,CPE确定需要进行Packet N的重传,将所述第一下行数据包的确认包计数值置为0。ACKNum≠3时,CPE确定不需要进行Packet N的重传。
S205:CPE确定是否向网络设备转发TCP确认数据包。
本申请实施例中,可预设转发TCP确认数据包的第一转发阈值,若确定第一下行数据包的确认数据包计数值等于该第一转发阈值,则CPE可确定需要向网络设备转发TCP确认数据包,向网络设备转发TCP确认数据包。若确定第一下行数据包的确认数据包计数值不等于该第一转发阈值,则CPE可确定不需要向网络设备转发TCP确认数据包。其中,该第一转发阈值的数量不限定是一个,可以是多个。例如,本申请实施例中可设置第一转发阈值为1和3,若ACKNum=1或3,则CPE确定需要向网络设备转发TCP确认数据包,并向网络设备转发TCP确认数据包。
一种可能的实施方式中,本申请实施例中也可设置不转发TCP确认数据包的第一预定阈值,所述CPE若确定所述第一下行数据包的确认包计数值不等于TCP确认数据包不转发的第一预定阈值,则所述CPE向网络设备转发所述TCP确认数据包。所述CPE若确定所述第一下行数据包的确认包计数值等于TCP确认数据包不转发的第一预定阈值,则所述CPE不需要向网络设备转发所述TCP确认数据包。例如,本申请实施例中设置TCP确认数据包不转发的第一预定阈值为2,则ACKNum≠2时,CPE确定需要向网络设备转发TCP确认数据包,ACKNum=2时,CPE丢弃该TCP确认数据包,不将其转发给网络设备,以便于网络设备延迟执行所述TCP数据包的快速重传。
步骤S204和S205中第一重传阈值和第一转发阈值的设置,目的是便于TCP丢包能通过MAC层重传恢复的场景下,避免不必要的重传。
S206:所述CPE若确定所述第一下行数据包的确认包计数值为预定的确认包计数值或者确定所述TCP数据包未存储在所述CPE中,则所述CPE清除所述CPE中所存储的所述待清除下行数据包及其上下文条目。
本申请实施例中,所述CPE若确定所述第一下行数据包的确认包计数值不为预定的确认包计数值或者确定所述TCP数据包存储在所述CPE的缓存中,则所述CPE不清除所述CPE中所存储的所述待清除下行数据包及其上下文条目。
例如,本申请实施例中设置预定的确认包计数值为1,则如果ACKNum=1或者Packet N不在缓存中,则CPE清除缓存中该TCP链接下的该PacketN对应的TCP序列号号之前的第一下行数据包及其上下文,并将接收到的TCP确认数据包向网络设备转发。如果ACKNum≠1或者Packet N存储在所述CPE的缓存中,则所述CPE不清除所述CPE中所存储的所述待清除下行数据包及其上下文条目。
本申请中,如不考虑WIFI传输中MAC层重传导致终端在向CPE发送了TCP负确认(NACK)包(如应用服务器给终端发送了序列号为1的TCP数据包,终端未正确接收,则终端反馈确认序列号为1的TCP确认数据包即可称为是TCP NACK包)后,又正确接收到第一下行数据包的情况,或者CPE可确定本次接收到的Packet N对应的TCP确认数据包是Packet N在WiFi中经过MAC层最大重传次数重传后确定的,则可采用图4所示的数据传输方法。
图4所示为本申请第二实施例提供的数据传输方法流程图,实施图4所示的数据传输方法,所维护的第一下行数据包的上下文与表1类似,不同之处在于ACKNum的取值可为任意正整数。
图4中S301、S302、S303和S308的执行步骤与S201、S202、S203和S206的执行过程相同,在此不再赘述,以下仅就不同之处进行说明。
S304:所述CPE若确定所述第一下行数据包的确认包计数值大于第二重传阈值,则所述CPE确定需要进行所述第一下行数据包的重传。
本申请实施例中可预设触发重传第一下行数据包的第二重传阈值,若确定所述第一下行数据包的确认包计数值大于第二重传阈值,则所述CPE确定需要进行所述第一下行数据包的重传。若确定所述第一下行数据包的确认包计数值小于等于第二重传阈值,则所述CPE确定不需要进行所述第一下行数据包的重传。例如,本申请实施例中设置第二重传阈值为1,则如果ACKNum>1,则所述CPE确定需要进行所述第一下行数据包的重传。如果ACKNum≤1,则所述CPE确定需要进行所述第一下行数据包的重传。
S305:CPE若确定所述第一下行数据包的确认包计数值大于第二重传阈值,所述CPE可进一步判断所述第一下行数据包的确认包计数值是否小于第二转发阈值。
S306:若所述第一下行数据包的确认包计数值小于第二转发阈值,则所述CPE存储所述TCP确认数据包。
本申请实施例中,CPE以第一下行数据包的序列号为索引进行TCP确认数据包的存储。
S307:若所述第一下行数据包的确认包计数值不小于第二转发阈值,则所述CPE将所存储的所述第一下行数据包的所有TCP确认数据包发给网络设备,以触发其快速重传,避免发生超时重传,影响TCP性能。或者,若所述第一下行数据包的确认包计数值不小于第二转发阈值,所述CPE进一步判断所述第一下行数据包的确认包计数值是否等于所述第 二转发阈值的正整数倍。若确定所述第一下行数据包的确认包计数值为所述第二转发阈值的正整数倍,则所述CPE向所述网络设备发送指示信息,所述指示信息用于指示所述网络设备不减小TCP发送窗口。
例如,本申请实施例中,设置第二转发阈值为4,则若1<ACKNum<4,即ACKNum=2或3,则CPE以第一下行数据包的序列号为索引进行TCP确认数据包的存储,若ACKNum不小于4,则CPE将所存储的所述第一下行数据包的所有TCP确认数据包发给网络设备,或者ACKNum不小于4且ACKNum为4的整数倍,例如ACKNum=4或8,则CPE向所述网络设备发送指示信息。
本申请实施例中,指示所述网络设备不减小TCP发送窗口的具体实施过程不限定,例如可以是重启packet N对应的重传定时器,以避免超时重传而导致发送窗口减半或者减至初始值,且不执行该TCP数据包的重传。
图5所示为本申请第三实施例提供的数据传输方法流程图,实施图5所示的数据传输方法,所维护的第一下行数据包的上下文,如表2所示:
Figure PCTCN2017072518-appb-000002
表2
参阅图5所示,本申请第三实施例提供的数据传输方法的实现流程包括如下步骤:
S401:CPE接收第一下行数据包,并确定需要存储接收到的第一下行数据包。
S402:CPE存储接收到的第一下行数据包,并创建和维护接收到的第一下行数据包的上下文条目。
本申请实施例中CPE确定正确接收到网络设备发送的第一下行数据包后,创建和维护接收到的第一下行数据包的上下文条目。
S403:若所述CPE接收终端发送的所述第一下行数据包的确认数据包为MAC正确认包(例如,ACK应答信息),以下将正确认包描述为ACK包,则将用于表征所述第一下行数据包成功发送与否的标识位置位为表征第一下行数据包已成功发送的标识位,例如标识位为true表征第一下行数据包已成功发送,标志位为false表征第一下行数据包未成功发送,将表征第一下行数据包成功发送与否的标识位初始值设置为false,若CPE接收终端发送的所述第一下行数据包的确认数据包为MACACK包,则将表征第一下行数据包成功发送与否的标识位置位为true。
S404:若所述CPE接收终端发送的所述第一下行数据包的确认数据包为MAC层负确认包(NACK,Negative ACK应答信息),以下将负确认包描述为NACK包,且所述MAC 层NACK包所对应的MAC帧已达到MAC层最大重传次数时,则对所述第一下行数据包的上下文条目中的重传计数值加1。
需要说明的是,S403和S404中,CPE接收终端发送的MAC层确认包,根据MAC确认包中的MAC帧号及维护的上下文中的MAC帧号确定第一下行数据包的序列号,进而确定该MAC层确认包为所述第一下行数据包的确认数据包。
S405:所述CPE若确定所述重传计数值大于第三重传阈值,则所述CPE确定需要进行所述第一下行数据包的重传。
本申请实施例中,可预设触发重传第一下行数据包的第三重传阈值,当CPE确定所述重传计数值大于第三重传阈值,则所述CPE确定需要进行所述第一下行数据包的重传,并进行第一下行数据包的重传。当CPE确定所述重传计数值小于等于第三重传阈值,则所述CPE确定不需要进行所述第一下行数据包的重传。
S406:重传会导致MAC层组帧,故CPE在MAC层组帧后用新的MAC层帧号更新所述上下文条目中的MAC帧号。
S407:所述CPE若确定所述重传计数值大于第三重传阈值,则所述CPE进一步判断所述重传计数值是否小于第三转发阈值。
S408:若所述重传计数值小于第三转发阈值,则所述CPE存储接收到的所述第一下行数据包的TCP确认数据包。
例如,本申请实施例中设置第三转发阈值为4,当Packet N的传输次数(RetransNum+1)大于1且小于4次时,对接收到的Packet N对应的重复TCP确认数据包包存储但不转发给网络设备。
S409:若所述重传计数值不小于第三转发阈值,则所述CPE将所存储的所述第一下行数据包的所有TCP确认数据包发给网络设备,以触发其快速重传,避免发生超时重传,影响TCP性能。或者,若所述重传计数值不小于第三转发阈值,所述CPE进一步判断所述第一下行数据包的确认包计数值是否等于所述第三转发阈值的正整数倍。所述CPE若确定所述第一下行数据包的确认包计数值为所述第三转发阈值的正整数倍,则所述CPE向所述网络设备发送指示信息,所述指示信息用于指示所述网络设备不减小TCP发送窗口。
例如,本申请实施例中设置第三转发阈值为4,当Packet N的传输次数(RetransNum+1)不小于4次时,对接收到的Packet N对应的所有TCP确认数据包发给网络设备。若当Packet N的传输次数(RetransNum+1)不小于4次且为4的正整数倍时,例如等于4或8时,则CPE向所述网络设备发送指示信息。
本申请实施例中,指示所述网络设备不减小TCP发送窗口的具体实施过程不限定,例如可以是重启packet N对应的重传定时器,以避免超时重传而导致发送窗口减半或者减至初始值,且不执行该TCP数据包的重传。
S410:CPE若确定所述表征所述第一下行数据包成功发送与否的标识位为表征所述第一下行数据包成功发送的标识位,例如置位为true,则所述CPE清除所述CPE中所存储的所述第一下行数据包所在的TCP链接中TCP序列号小于所述第一下行数据包的TCP序列号的第一下行数据包及其上下文条目。
本申请第四实施例中,CPE可在确定存储正确接收到网络设备发送的第一下行数据包后,生成并向网络设备发送已存储的所述第一下行数据包的TCP确认数据包,并在向网络设备发送所述第一下行数据包的TCP确认数据包之后,若接收到终端发送的所述第一下行 数据包的TCP确认数据包,则丢弃所述终端发送的所述第一下行数据包的TCP确认数据包,具体实现过程可参阅图6所示,包括:
S501:CPE接收第一下行数据包,并确定需要存储接收到的第一下行数据包。
S502:CPE存储接收到的第一下行数据包,创建并维护接收到的第一下行数据包的上下文条目。
本申请实施例中创建和维护的第一下行数据包的上下文条目可如表3所示:
Figure PCTCN2017072518-appb-000003
表3
本申请实施例中,若创建的第一下行数据包的上下行条目已经存在,则可利用最新的上下行条目替换已有的条目中对应的内容。
S503:CPE生成并向网络设备发送已存储的所述第一下行数据包的TCP确认数据包。
S504:若所述CPE接收到终端发送的所述第一下行数据包的TCP确认数据包,则丢弃所述终端发送的所述第一下行数据包的TCP确认数据包。
S505:若所述CPE接收终端发送的所述第一下行数据包的确认数据包为MAC正确认包,则对表征所述第一下行数据包成功发送与否的标识位置位为表征所述第一下行数据包成功发送的标识位,例如置位为ture。
S506:若所述CPE接收终端发送的所述第一下行数据包的确认数据包为MAC层NACK包,且所述MAC层NACK包所对应的MAC帧已达到MAC层最大重传次数时,则重传该第一下行数据包。
S507:CPE若确定表征所述第一下行数据包成功发送与否的标识位置位为表征所述第一下行数据包成功发送的标识位,则所述CPE清除所述CPE中所存储的所述第一下行数据包所在的TCP链接中TCP序列号小于所述第一下行数据包的TCP序列号的第一下行数据包及其上下文条目。
上述主要从CPE和终端以及网络设备交互的角度对本申请实施例提供的方案进行了介绍。可以理解的是,CPE为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本申请中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的技术方案的范围。
本申请实施例可以根据上述方法示例对CPE进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述 集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用集成的单元的情况下,图7示出了本申请提供的一种数据传输装置的结构示意图。参阅图7所示,数据传输装置100包括接收单元101、缓存单元102、处理单元103和发送单元104。其中,所述接收单元101,用于接收网络设备发送的第一下行数据包,并接收终端发送的所述第一下行数据包的确认数据包。所述发送单元104,用于向终端发送所述接收单元101接收到的所述第一下行数据包。所述缓存单元102,用于存储所述第一下行数据包。所述处理单元103,用于创建并维护所述第一下行数据包的上下文条目,在所述接收单元101接收到终端发送的所述第一下行数据包的确认数据包后,更新所述第一下行数据包的上下文条目,以及根据所述第一下行数据包的上下文条目确定是否需要进行所述第一下行数据包的重传,根据所述第一下行数据包的上下文条目确定是否需要清除所述缓存单元102存储的第一下行数据包及其上下文条目。若所述处理单元103根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传,则发送单元104用于向所述终端重传存储的所述第一下行数据包。若所述处理单元103根据所述第一下行数据包的上下文条目确定需要清除存储的待清除下行数据包及其上下文条目,所述缓存单元102清除所述CPE中所存储的待清除下行数据包及其上下文条目。其中,所述待清除下行数据包与所述第一下行数据包属于同一传输控制协议TCP链接,且所述待清除下行数据包的TCP序列号小于所述第一下行数据包的TCP序列号。
一种可能的实施方式中,所述缓存单元102,还用于:存储所述第一下行数据包之前,确定所述第一下行数据包为TCP数据包,且所述缓存单元102的缓存小于预设的缓存大小,或者所述缓存单元102的缓存等于预设的缓存大小且已缓存的下行数据包中存在有业务优先级低于接收到的第一下行数据包的业务优先级的第二下行数据包。
一种可能的实施方式中,所述第一下行数据包的上下文条目包括所述第一下行数据包的序列号、所述第一下行数据包的标识以及所述第一下行数据包的确认包计数,其中,所述第一下行数据包的标识包括TCP序列号。
一种可能的实施方式中,若所述接收单元101接收终端发送的所述第一下行数据包的确认数据包为TCP确认数据包,则所述处理单元103对所述第一下行数据包的上下文条目中的确认计数值加1,以更新所述第一下行数据包的上下文条目。若所述处理单元103确定所述第一下行数据包的确认包计数值为预定的确认包计数值或者确定所述TCP数据包未存储在所述缓存单元102中,则所述处理单元103确定需要清除所述缓存单元102中所存储的所述待清除下行数据包及其上下文条目。
一种可能的实施方式中,若所述处理单元103确定所述第一下行数据包的确认包计数值等于第一重传阈值,则所述处理单元103确定需要进行所述第一下行数据包的重传。所述处理单元103,还用于:在所述发送单元104向所述终端重传存储的所述第一下行数据包之后,将所述第一下行数据包的确认包计数值置为0。
一种可能的实施方式中,所述发送单元104,还用于:在所述处理单元103更新所述第一下行数据包的上下文条目之后,若所述处理单元103确定所述第一下行数据包的确认包计数值等于第一转发阈值,则向网络设备转发所述TCP确认数据包。
一种可能的实施方式中,若所述处理单元103确定所述第一下行数据包的确认包计数 值大于第二重传阈值,则所述处理单元103确定需要进行所述第一下行数据包的重传。
一种可能的实施方式中,所述处理单元103,还用于:更新所述第一下行数据包的上下文条目之后,若确定所述第一下行数据包的确认包计数值大于第二重传阈值,则判断所述第一下行数据包的确认包计数值是否小于第二转发阈值,确定所述第一下行数据包的确认包计数值不小于第二转发阈值时,进一步确定所述第一下行数据包的确认包计数值是否为所述第二转发阈值的正整数倍;
所述缓存单元102,还用于:若所述处理单元103确定所述第一下行数据包的确认包计数值小于第二转发阈值,则存储所述TCP确认数据包。所述发送单元104,还用于:若所述处理单元103确定所述第一下行数据包的确认包计数值不小于第二转发阈值,则将所存储的所述第一下行数据包的所有TCP确认数据包发给网络设备,或者,若所述处理单元103确定所述第一下行数据包的确认包计数值不小于第二转发阈值且所述第一下行数据包的确认包计数值为所述第二转发阈值的正整数倍,则向所述网络设备发送指示信息,所述指示信息用于指示所述网络设备不减小TCP发送窗口。
一种可能的实施方式中,所述第一下行数据包的上下文条目包括所述第一下行数据包的序列号、所述第一下行数据包的标识、所述第一下行数据包在MAC层组帧的帧号、所述第一下行数据包的重传计数以及标识所述第一下行数据包成功发送与否的标识位,其中,所述第一下行数据包的标识包括TCP序列号。
所述处理单元103若确定所述接收单元101接收终端发送的所述第一下行数据包的确认数据包为MAC层ACK包,则将用于表征所述第一下行数据包成功发送与否的标识位置位为表征第一下行数据包已成功发送的标识位。所述处理单元103若确定所述接收单元101接收终端发送的所述第一下行数据包的确认数据包为MAC层NACK包,且所述MAC层负确认NACK包所对应的MAC帧已达到MAC层最大重传次数时,则对所述第一下行数据包的上下文条目中的重传计数值加1。所述处理单元103,采用如下方式根据所述第一下行数据包的上下文条目确定需要清除存储的待清除下行数据包及其上下文条目:
若确定表征所述第一下行数据包成功发送与否的标识位置位为表征第一下行数据包已成功发送的标识位,则确定需要清除所述缓存单元102中所存储的待清除下行数据包及其上下文条目。
所述处理单元103若确定所述重传计数值大于第三重传阈值,则确定需要进行所述第一下行数据包的重传。所述处理单元103,还用于:在所述发送单元104向所述终端重传所述第一下行数据包之后,在MAC层组帧后用新的MAC层帧号更新所述上下文条目中的MAC帧号。
一种可能的实施方式中,所述处理单元103,还用于:更新所述第一下行数据包的上下文条目之后,若确定所述重传计数值大于第三重传阈值,则判断所述重传计数值是否小于第三转发阈值,确定所述重传计数值不小于第三转发阈值时,进一步确定所述第一下行数据包的确认包计数值是否为所述第三转发阈值的正整数倍。所述缓存单元102,还用于:若所述处理单元103确定所述重传计数值小于第三转发阈值,则存储接收到的所述第一下行数据包的TCP确认数据包。所述发送单元104,还用于:若所述处理单元103确定所述重传计数值不小于第三转发阈值,则将所存储的所述第一下行数据包的所有TCP确认数据包发给网络设备,或者,若所述处理单元103确定所述重传计数值不小于第三转发阈值且所述第一下行数据包的确认包计数值为所述第三转发阈值的正整数倍,则向所述网络设备 发送指示信息,所述指示信息用于指示所述网络设备不减小TCP发送窗口。
一种可能的实施方式中,所述发送单元104,还用于:在所述缓存单元102存储所述第一下行数据包之后,向网络设备发送所述第一下行数据包的TCP确认数据包。
一种可能的实施方式中,所述接收单元101,还用于:在所述发送单元104向网络设备发送所述第一下行数据包的TCP确认数据包之后,若接收到终端发送的所述第一下行数据包的TCP确认数据包,则丢弃所述终端发送的所述第一下行数据包的TCP确认数据包。
当采用硬件形式实现时,本申请实施例中,接收单元101可以是通信接口、接收器、收发电路等,缓存单元102可以是存储器,处理单元103可以是处理器或控制器,发送单元104可以是通信接口、发射器、收发电路等,其中,通信接口是统称,可以包括一个或多个接口。
当接收单元101是接收器,缓存单元102是存储器,处理单元103是处理器,发送单元104是发射器时,本申请实施例所涉及的数据传输装置100可以为图8所示的客户终端设备。其中,所述图8所示的客户终端设备可以是CPE。
图8示出了本申请实施例提供的客户终端设备1000的一种结构示意图,即示出了本申请实施例涉及的另一种可能的数据传输装置的结构示意图。参阅图8所示,客户终端设备1000包括接收器1001、存储器1002、处理器1003和发射器1004,所述存储器1002用于存储指令,所述处理器1003用于执行所述存储器1002存储的指令,执行处理器1003的如下功能,并控制接收器1001、存储器1002和发射器1004执行如下功能:
所述接收器1001,用于接收网络设备发送的第一下行数据包,并接收终端发送的所述第一下行数据包的确认数据包;所述发射器1004用于向终端发射所述接收器1001接收的第一下行数据包;所述存储器1002,用于存储所述第一下行数据包;所述处理器1003,用于创建并维护所述第一下行数据包的上下文条目,在所述接收器1001接收到终端发送的所述第一下行数据包的确认数据包后,更新所述第一下行数据包的上下文条目,以及根据所述第一下行数据包的上下文条目确定是否需要进行所述第一下行数据包的重传,根据所述第一下行数据包的上下文条目确定是否需要清除所述存储器1002存储的第一下行数据包及其上下文条目;若所述处理器1003根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传,则发射器1004用于向所述终端重传存储的所述第一下行数据包;若所述处理器1003根据所述第一下行数据包的上下文条目确定需要清除存储的待清除下行数据包及其上下文条目,所述存储器1002清除所述CPE中所存储的所述待清除下行数据包及其上下文条目。其中,所述待清除下行数据包与所述第一下行数据包属于同一传输控制协议TCP链接,且所述待清除下行数据包的TCP序列号小于所述第一下行数据包的TCP序列号。
一种可能的实施方式中,所述存储器1002,还用于:存储所述第一下行数据包之前,确定所述第一下行数据包为TCP数据包,且所述存储器1002的缓存小于预设的缓存大小,或者所述存储器1002的缓存等于预设的缓存大小且已缓存的下行数据包中存在有业务优先级低于接收到的第一下行数据包的业务优先级的第二下行数据包。
一种可能的实施方式中,所述第一下行数据包的上下文条目包括所述第一下行数据包的序列号、所述第一下行数据包的标识以及所述第一下行数据包的确认包计数,其中,所述第一下行数据包的标识包括TCP序列号。
一种可能的实施方式中,所述处理器1003采用如下方式更新所述第一下行数据包的 上下文条目:若所述接收器1001接收终端发送的所述第一下行数据包的确认数据包为TCP确认数据包,则对所述第一下行数据包的上下文条目中的确认计数值加1。所述处理器1003,采用如下方式根据所述第一下行数据包的上下文条目确定需要清除存储的待清除下行数据包及其上下文条目:若确定所述第一下行数据包的确认包计数值为预定的确认包计数值或者确定所述TCP数据包未存储在所述存储器1002中,则确定需要清除所述存储器1002中所存储的所述待清除下行数据包及其上下文条目。
一种可能的实施方式中,所述处理器1003采用如下方式根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传:若确定所述第一下行数据包的确认包计数值等于第一重传阈值,则确定需要进行所述第一下行数据包的重传。所述处理器1003,还用于:在所述发射器1004向所述终端重传存储的所述第一下行数据包之后,将所述第一下行数据包的确认包计数值置为0。
一种可能的实施方式中,所述发射器1004,还用于:在所述处理器1003更新所述第一下行数据包的上下文条目之后,若所述处理器1003确定所述第一下行数据包的确认包计数值等于第一转发阈值,则向网络设备转发所述TCP确认数据包。
一种可能的实施方式中,所述处理器1003,采用如下方式根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传:若确定所述第一下行数据包的确认包计数值大于第二重传阈值,则确定需要进行所述第一下行数据包的重传。
一种可能的实施方式中,所述处理器1003,还用于:更新所述第一下行数据包的上下文条目之后,若确定所述第一下行数据包的确认包计数值大于第二重传阈值,则判断所述第一下行数据包的确认包计数值是否小于第二转发阈值,确定所述第一下行数据包的确认包计数值不小于第二转发阈值时,进一步确定所述第一下行数据包的确认包计数值是否为所述第二转发阈值的正整数倍。所述存储器1002,还用于:若所述处理器1003确定所述第一下行数据包的确认包计数值小于第二转发阈值,则存储所述TCP确认数据包。所述发射器1004,还用于:若所述处理器1003确定所述第一下行数据包的确认包计数值不小于第二转发阈值,则将所存储的所述第一下行数据包的所有TCP确认数据包发给网络设备,或者,若所述处理器1003确定所述第一下行数据包的确认包计数值不小于第二转发阈值且所述第一下行数据包的确认包计数值为所述第二转发阈值的正整数倍,则向所述网络设备发送指示信息,所述指示信息用于指示所述网络设备不减小TCP发送窗口。
一种可能的实施方式中,所述第一下行数据包的上下文条目包括所述第一下行数据包的序列号、所述第一下行数据包的标识、所述第一下行数据包在媒体接入控制MAC层组帧的帧号、所述第一下行数据包的重传计数以及标识所述第一下行数据包成功发送与否的标识位,其中,所述第一下行数据包的标识包括TCP序列号。所述处理器1003采用如下方式更新所述第一下行数据包的上下文条目:若所述接收器1001接收终端发送的所述第一下行数据包的确认数据包为MAC层ACK包,则将用于表征所述第一下行数据包成功发送与否的标识位置位为表征第一下行数据包已成功发送的标识位。若所述CPE接收终端发送的所述第一下行数据包的确认数据包为MAC层NACK包,且所述MAC层负确认NACK包所对应的MAC帧已达到MAC层最大重传次数时,则对所述第一下行数据包的上下文条目中的重传计数值加1。所述处理器1003,采用如下方式根据所述第一下行数据包的上下文条目确定需要清除存储的待清除下行数据包及其上下文条目:若确定表征所述第一下行数据包成功发送与否的标识位置位为表征第一下行数据包已成功发送的标识位,则确定 需要清除所述存储器1002中所存储的所述待清除下行数据包及其上下文条目。所述处理器1003,采用如下方式根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传:若确定所述重传计数值大于第三重传阈值,则确定需要进行所述第一下行数据包的重传。所述处理器1003,还用于:在所述发射器1004向所述终端重传所述第一下行数据包之后,在MAC层组帧后用新的MAC层帧号更新所述上下文条目中的MAC帧号。
一种可能的实施方式中,所述处理器1003,还用于:更新所述第一下行数据包的上下文条目之后,若确定所述重传计数值大于第三重传阈值,则判断所述重传计数值是否小于第三转发阈值,确定所述重传计数值不小于第三转发阈值时,进一步确定所述第一下行数据包的确认包计数值是否为所述第三转发阈值的正整数倍。所述存储器1002,还用于:若所述处理器1003确定所述重传计数值小于第三转发阈值,则存储接收到的所述第一下行数据包的TCP确认数据包。所述发射器1004,还用于:若所述处理器1003确定所述重传计数值不小于第三转发阈值,则将所存储的所述第一下行数据包的所有TCP确认数据包发给网络设备,或者,若所述处理器1003确定所述重传计数值不小于第三转发阈值且所述第一下行数据包的确认包计数值为所述第三转发阈值的正整数倍,则向所述网络设备发送指示信息,所述指示信息用于指示所述网络设备不减小TCP发送窗口。
一种可能的实施方式中,所述发射器1004,还用于:在所述存储器1002存储所述第一下行数据包之后,向网络设备发送所述第一下行数据包的TCP确认数据包;
一种可能的实施方式中,所述接收器1001,还用于:在所述发射器1004向网络设备发送所述第一下行数据包的TCP确认数据包之后,若接收到终端发送的所述第一下行数据包的TCP确认数据包,则丢弃所述终端发送的所述第一下行数据包的TCP确认数据包。
本申请实施例中,数据传输装置100和客户终端设备1000所涉及的与本申请实施例提供的技术方案相关的概念,解释和详细说明及其他步骤请参见前述方法或其他实施例中关于这些内容的描述,此处不做赘述。
可以理解的是,本申请实施例附图中仅仅示出了网络设备和终端的简化设计。在实际应用中,网络设备和终端并不限于上述结构,例如终端还可以包括显示设备、输入输出接口等,而所有可以实现本申请实施例的终端都在本申请实施例的保护范围之内。网络设备还可以包含任意数量的发射器,接收器,处理器,控制器,存储器,通信单元等,而所有可以实现本申请实施例的网络设备都在本申请实施例的保护范围之内。
需要说明的是,本申请实施例上述涉及的处理器可以是中央处理器(Central Processing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。
其中,所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。
作为一种实现方式,接收器和发射器的功能可以考虑通过收发电路或者收发的专用芯片实现。处理器可以考虑通过专用处理芯片、处理电路、处理器或者通用芯片实现。
作为另一种实现方式,将实现处理器、接收器和发射器功能的程序代码存储在存储器 中,通用处理器通过执行存储器中的代码来实现处理器、接收器和发射器的功能。
根据本申请实施例提供的方法,本申请实施例还提供一种通信系统,其包括前述的客户终端设备、网络设备和一个或多于一个终端。
本申请实施例还提供一种计算机存储介质,用于存储一些指令,这些指令被执行时,可以完成前述CPE所涉及的任意一种方法。
本领域内的技术人员应明白,本申请实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

Claims (36)

  1. 一种数据传输方法,其特征在于,包括:
    客户终端设备CPE接收网络设备发送的第一下行数据包,存储所述第一下行数据包,创建并维护所述第一下行数据包的上下文条目,并向终端发送所述第一下行数据包;
    所述CPE接收终端发送的所述第一下行数据包的确认数据包,更新所述第一下行数据包的上下文条目;
    所述CPE若根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传,则向所述终端重传存储的所述第一下行数据包;
    所述CPE若根据所述第一下行数据包的上下文条目确定需要清除存储的待清除下行数据包及其上下文条目,则清除所述待清除下行数据包及其上下文条目,其中,所述待清除下行数据包与所述第一下行数据包属于同一传输控制协议TCP链接,且所述待清除下行数据包的TCP序列号小于所述第一下行数据包的TCP序列号。
  2. 如权利要求1所述的方法,其特征在于,存储所述第一下行数据包之前,所述方法还包括:
    确定所述第一下行数据包为TCP数据包,且
    所述CPE的缓存小于预设的缓存大小,或者所述CPE的缓存等于预设的缓存大小且已缓存的下行数据包中存在有业务优先级低于接收到的第一下行数据包的业务优先级的第二下行数据包。
  3. 如权利要求1至2中任意一项所述的方法,其特征在于,所述第一下行数据包的上下文条目包括所述第一下行数据包的序列号、所述第一下行数据包的标识以及所述第一下行数据包的确认包计数,其中,所述第一下行数据包的标识包括TCP序列号。
  4. 如权利要求1至3中任意一项所述的方法,其特征在于,所述CPE接收终端发送的所述第一下行数据包的确认数据包,更新所述第一下行数据包的上下文条目,包括:
    若所述CPE接收终端发送的所述第一下行数据包的确认数据包为TCP确认数据包,则对所述第一下行数据包的上下文条目中的确认计数值加1;
    所述CPE根据所述第一下行数据包的上下文条目确定需要清除存储的待清除下行数据包及其上下文条目,包括:
    所述CPE若确定所述第一下行数据包的确认包计数值为预定的确认包计数值或者确定所述TCP数据包未存储在所述CPE中,则所述CPE确定需要清除所述待清除下行数据包及其上下文条目。
  5. 如权利要求3至4中任意一项所述的方法,其特征在于,所述CPE根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传,包括:
    所述CPE若确定所述第一下行数据包的确认包计数值等于第一重传阈值,则所述CPE确定需要进行所述第一下行数据包的重传;
    所述CPE向所述终端重传存储的所述第一下行数据包之后,所述方法还包括:
    所述CPE将所述第一下行数据包的确认包计数值置为0。
  6. 如权利要求3至5任意一项所述的方法,其特征在于,更新所述第一下行数据包的上下文条目之后,所述方法还包括:
    所述CPE若确定所述第一下行数据包的确认包计数值等于第一转发阈值,则所述CPE 向网络设备转发所述TCP确认数据包。
  7. 如权利要求3所述的方法,其特征在于,所述CPE根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传,包括:
    所述CPE若确定所述第一下行数据包的确认包计数值大于第二重传阈值,则所述CPE确定需要进行所述第一下行数据包的重传。
  8. 如权利要求3或7所述的方法,其特征在于,更新所述第一下行数据包的上下文条目之后,所述方法还包括:
    所述CPE若确定所述第一下行数据包的确认包计数值大于第二重传阈值,则判断所述第一下行数据包的确认包计数值是否小于第二转发阈值;
    若所述第一下行数据包的确认包计数值小于第二转发阈值,则所述CPE存储所述TCP确认数据包;
    若所述第一下行数据包的确认包计数值不小于第二转发阈值,则所述CPE将所存储的所述第一下行数据包的所有TCP确认数据包发给网络设备,或者,所述第一下行数据包的确认包计数值不小于第二转发阈值且所述CPE若确定所述第一下行数据包的确认包计数值为所述第二转发阈值的正整数倍,则
    所述CPE向所述网络设备发送指示信息,所述指示信息用于指示所述网络设备不减小TCP发送窗口。
  9. 如权利要求1至2任意一项所述的方法,其特征在于,所述第一下行数据包的上下文条目包括所述第一下行数据包的序列号、所述第一下行数据包的标识、所述第一下行数据包在媒体接入控制MAC层组帧的帧号、所述第一下行数据包的重传计数以及标识所述第一下行数据包成功发送与否的标识位,其中,所述第一下行数据包的标识包括TCP序列号;
    所述CPE接收终端发送的所述第一下行数据包的确认数据包,更新所述第一下行数据包的上下文条目,包括:
    若所述CPE接收终端发送的所述第一下行数据包的确认数据包为MAC正确认ACK包,则将用于表征所述第一下行数据包成功发送与否的标识位置位为表征第一下行数据包已成功发送的标识位;
    若所述CPE接收终端发送的所述第一下行数据包的确认数据包为MAC层否定确认NACK包,且所述MAC层负确认NACK包所对应的MAC帧已达到MAC层最大重传次数时,则对所述第一下行数据包的上下文条目中的重传计数值加1;
    所述CPE根据所述第一下行数据包的上下文条目确定需要清除存储的待清除下行数据包及其上下文条目,包括:
    所述CPE若确定表征所述第一下行数据包成功发送与否的标识位置位为表征第一下行数据包已成功发送的标识位,则所述CPE确定需要清除存储的待清除下行数据包及其上下文条目;
    所述CPE根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传,包括:
    所述CPE若确定所述重传计数值大于第三重传阈值,则所述CPE确定需要进行所述第一下行数据包的重传;
    所述CPE向所述终端重传所述第一下行数据包之后,所述方法还包括:
    所述CPE在MAC层组帧后用新的MAC层帧号更新所述上下文条目中的MAC帧号。
  10. 如权利要求1、2或9所述的方法,其特征在于,更新所述第一下行数据包的上下文条目之后,所述方法还包括:
    所述CPE若确定所述重传计数值大于第三重传阈值,则判断所述重传计数值是否小于第三转发阈值;
    若所述重传计数值小于第三转发阈值,则所述CPE存储接收到的所述第一下行数据包的TCP确认数据包;
    若所述重传计数值不小于第三转发阈值,则所述CPE将所存储的所述第一下行数据包的所有TCP确认数据包发给网络设备,或者,若所述重传计数值不小于第三转发阈值且所述CPE若确定所述第一下行数据包的确认包计数值为所述第三转发阈值的正整数倍,则
    所述CPE向所述网络设备发送指示信息,所述指示信息用于指示所述网络设备不减小TCP发送窗口。
  11. 如权利要求1、2或9所述的方法,其特征在于,存储所述第一下行数据包之后,所述方法还包括:
    生成并向网络设备发送已存储的所述第一下行数据包的TCP确认数据包。
  12. 如权利要求11所述的方法,其特征在于,向网络设备发送所述第一下行数据包的TCP确认数据包之后,所述方法还包括:
    若接收到终端发送的所述第一下行数据包的TCP确认数据包,则丢弃所述终端发送的所述第一下行数据包的TCP确认数据包。
  13. 一种数据传输装置,其特征在于,包括接收单元、缓存单元、处理单元和发送单元:
    所述接收单元,用于接收网络设备发送的第一下行数据包,并接收终端发送的所述第一下行数据包的确认数据包;
    所述发送单元,用于向终端发送所述接收单元接收的所述第一下行数据包;
    所述缓存单元,用于存储所述第一下行数据包;
    所述处理单元,用于创建并维护所述第一下行数据包的上下文条目,在所述接收单元接收到终端发送的所述第一下行数据包的确认数据包后,更新所述第一下行数据包的上下文条目,以及根据所述第一下行数据包的上下文条目确定是否需要进行所述第一下行数据包的重传,根据所述第一下行数据包的上下文条目确定是否需要清除所述缓存单元存储的第一下行数据包及其上下文条目;
    若所述处理单元根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传,则发送单元用于向所述终端重传存储的所述第一下行数据包;
    若所述处理单元根据所述第一下行数据包的上下文条目确定需要清除存储的待清除下行数据包及其上下文条目,所述缓存单元清除所述待清除下行数据包及其上下文条目,其中,所述待清除下行数据包与所述第一下行数据包属于同一传输控制协议TCP链接,且所述待清除下行数据包的TCP序列号小于所述第一下行数据包的TCP序列号。
  14. 如权利要求13所述的装置,其特征在于,所述缓存单元,还用于:
    存储所述第一下行数据包之前,确定所述第一下行数据包为TCP数据包,且
    所述缓存单元的缓存小于预设的缓存大小,或者所述缓存单元的缓存等于预设的缓存大小且已缓存的下行数据包中存在有业务优先级低于接收到的第一下行数据包的业务优 先级的第二下行数据包。
  15. 如权利要求13至14中任意一项所述的装置,其特征在于,所述第一下行数据包的上下文条目包括所述第一下行数据包的序列号、所述第一下行数据包的标识以及所述第一下行数据包的确认包计数,其中,所述第一下行数据包的标识包括TCP序列号。
  16. 如权利要求13至15中任意一项所述的装置,其特征在于,所述处理单元采用如下方式更新所述第一下行数据包的上下文条目:
    若所述接收单元接收终端发送的所述第一下行数据包的确认数据包为TCP确认数据包,则对所述第一下行数据包的上下文条目中的确认计数值加1;
    所述处理单元,采用如下方式根据所述第一下行数据包的上下文条目确定需要清除存储的待清除下行数据包及其上下文条目:
    若确定所述第一下行数据包的确认包计数值为预定的确认包计数值或者确定所述TCP数据包未存储在所述缓存单元中,则确定需要清除所述缓存单元中所存储的所述待清除下行数据包及其上下文条目。
  17. 如权利要求15至16中任意一项所述的装置,其特征在于,所述处理单元采用如下方式根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传:
    若确定所述第一下行数据包的确认包计数值等于第一重传阈值,则确定需要进行所述第一下行数据包的重传;
    所述处理单元,还用于:
    在所述发送单元向所述终端重传存储的所述第一下行数据包之后,将所述第一下行数据包的确认包计数值置为0。
  18. 如权利要求15至17任意一项所述的装置,其特征在于,所述发送单元,还用于:
    在所述处理单元更新所述第一下行数据包的上下文条目之后,若所述处理单元确定所述第一下行数据包的确认包计数值等于第一转发阈值,则向网络设备转发所述TCP确认数据包。
  19. 如权利要求15所述的装置,其特征在于,所述处理单元,采用如下方式根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传:
    若确定所述第一下行数据包的确认包计数值大于第二重传阈值,则确定需要进行所述第一下行数据包的重传。
  20. 如权利要求15或19所述的装置,其特征在于,所述处理单元,还用于:
    更新所述第一下行数据包的上下文条目之后,若确定所述第一下行数据包的确认包计数值大于第二重传阈值,则判断所述第一下行数据包的确认包计数值是否小于第二转发阈值,确定所述第一下行数据包的确认包计数值不小于第二转发阈值时,进一步确定所述第一下行数据包的确认包计数值是否为所述第二转发阈值的正整数倍;
    所述缓存单元,还用于:
    若所述处理单元确定所述第一下行数据包的确认包计数值小于第二转发阈值,则存储所述TCP确认数据包;
    所述发送单元,还用于:
    若所述处理单元确定所述第一下行数据包的确认包计数值不小于第二转发阈值,则将所存储的所述第一下行数据包的所有TCP确认数据包发给网络设备,或者,若所述处理单元确定所述第一下行数据包的确认包计数值不小于第二转发阈值且所述第一下行数据 包的确认包计数值为所述第二转发阈值的正整数倍,则向所述网络设备发送指示信息,所述指示信息用于指示所述网络设备不减小TCP发送窗口。
  21. 如权利要求13至14任意一项所述的装置,其特征在于,所述第一下行数据包的上下文条目包括所述第一下行数据包的序列号、所述第一下行数据包的标识、所述第一下行数据包在媒体接入控制MAC层组帧的帧号、所述第一下行数据包的重传计数以及标识所述第一下行数据包成功发送与否的标识位,其中,所述第一下行数据包的标识包括TCP序列号;
    所述处理单元采用如下方式更新所述第一下行数据包的上下文条目:
    若所述接收单元接收终端发送的所述第一下行数据包的确认数据包为MAC正确认ACK包,则将用于表征所述第一下行数据包成功发送与否的标识位置位为表征第一下行数据包已成功发送的标识位;
    若所述接收单元接收终端发送的所述第一下行数据包的确认数据包为MAC层负确认NACK包,且所述MAC层负确认NACK包所对应的MAC帧已达到MAC层最大重传次数时,则对所述第一下行数据包的上下文条目中的重传计数值加1;
    所述处理单元,采用如下方式根据所述第一下行数据包的上下文条目确定需要清除存储的待清除下行数据包及其上下文条目:
    若确定表征所述第一下行数据包成功发送与否的标识位置位为表征第一下行数据包已成功发送的标识位,则确定需要清除所述缓存单元中所存储的待清除下行数据包及其上下文条目;
    所述处理单元,采用如下方式根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传:
    若确定所述重传计数值大于第三重传阈值,则确定需要进行所述第一下行数据包的重传;
    所述处理单元,还用于:
    在所述发送单元向所述终端重传所述第一下行数据包之后,在MAC层组帧后用新的MAC层帧号更新所述上下文条目中的MAC帧号。
  22. 如权利要求13、14或21所述的装置,其特征在于,所述处理单元,还用于:
    更新所述第一下行数据包的上下文条目之后,若确定所述重传计数值大于第三重传阈值,则判断所述重传计数值是否小于第三转发阈值,确定所述重传计数值不小于第三转发阈值时,进一步确定所述第一下行数据包的确认包计数值是否为所述第三转发阈值的正整数倍;
    所述缓存单元,还用于:
    若所述处理单元确定所述重传计数值小于第三转发阈值,则存储接收到的所述第一下行数据包的TCP确认数据包;
    所述发送单元,还用于:
    若所述处理单元确定所述重传计数值不小于第三转发阈值,则将所存储的所述第一下行数据包的所有TCP确认数据包发给网络设备,或者,若所述处理单元确定所述重传计数值不小于第三转发阈值且所述第一下行数据包的确认包计数值为所述第三转发阈值的正整数倍,则向所述网络设备发送指示信息,所述指示信息用于指示所述网络设备不减小TCP发送窗口。
  23. 如权利要求13、14或21所述的装置,其特征在于,所述发送单元,还用于:
    在所述缓存单元存储所述第一下行数据包之后,向网络设备发送所述第一下行数据包的TCP确认数据包。
  24. 如权利要求23所述的装置,其特征在于,所述接收单元,还用于:
    在所述发送单元向网络设备发送所述第一下行数据包的TCP确认数据包之后,若接收到终端发送的所述第一下行数据包的TCP确认数据包,则丢弃所述终端发送的所述第一下行数据包的TCP确认数据包。
  25. 一种客户终端设备,其特征在于,包括接收器、存储器、处理器和发射器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,执行处理器的如下功能,并控制接收器、存储器和发射器执行如下功能:
    所述接收器,用于接收网络设备发送的第一下行数据包,并接收终端发送的所述第一下行数据包的确认数据包;
    所述发射器,用于发射所述接收器接收到的所述第一下行数据包;
    所述存储器,用于存储所述第一下行数据包;
    所述处理器,用于创建并维护所述第一下行数据包的上下文条目,在所述接收器接收到终端发送的所述第一下行数据包的确认数据包后,更新所述第一下行数据包的上下文条目,以及根据所述第一下行数据包的上下文条目确定是否需要进行所述第一下行数据包的重传,根据所述第一下行数据包的上下文条目确定是否需要清除所述存储器存储的待清除下行数据包及其上下文条目,其中,所述待清除下行数据包与所述第一下行数据包属于同一传输控制协议TCP链接,且所述待清除下行数据包的TCP序列号小于所述第一下行数据包的TCP序列号;
    若所述处理器根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传,则发射器用于向所述终端重传存储的所述第一下行数据包;
    若所述处理器根据所述第一下行数据包的上下文条目确定需要清除存储的待清除下行数据包及其上下文条目,则所述存储器清除所述待清除下行数据包及其上下文条目。
  26. 如权利要求25所述的客户终端设备,其特征在于,所述存储器,还用于:
    存储所述第一下行数据包之前,确定所述第一下行数据包为TCP数据包,且所述存储器的缓存小于预设的缓存大小,或者所述存储器的缓存等于预设的缓存大小且已缓存的下行数据包中存在有业务优先级低于接收到的第一下行数据包的业务优先级的第二下行数据包。
  27. 如权利要求25至26中任意一项所述的客户终端设备,其特征在于,所述第一下行数据包的上下文条目包括所述第一下行数据包的序列号、所述第一下行数据包的标识以及所述第一下行数据包的确认包计数,其中,所述第一下行数据包的标识包括TCP序列号。
  28. 如权利要求25至27中任意一项所述的客户终端设备,其特征在于,所述处理器采用如下方式更新所述第一下行数据包的上下文条目:
    若所述接收器接收终端发送的所述第一下行数据包的确认数据包为TCP确认数据包,则对所述第一下行数据包的上下文条目中的确认计数值加1;
    所述处理器,采用如下方式根据所述第一下行数据包的上下文条目确定需要清除存储的待清除下行数据包及其上下文条目:
    若确定所述第一下行数据包的确认包计数值为预定的确认包计数值或者确定所述TCP 数据包未存储在所述存储器中,则确定需要清除所述存储器中所存储的所述待清除下行数据包及其上下文条目。
  29. 如权利要求27至28中任意一项所述的客户终端设备,其特征在于,所述处理器采用如下方式根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传:
    若确定所述第一下行数据包的确认包计数值等于第一重传阈值,则确定需要进行所述第一下行数据包的重传;
    所述处理器,还用于:
    在所述发射器向所述终端重传存储的所述第一下行数据包之后,将所述第一下行数据包的确认包计数值置为0。
  30. 如权利要求27至29任意一项所述的客户终端设备,其特征在于,所述发射器,还用于:
    在所述处理器更新所述第一下行数据包的上下文条目之后,若所述处理器确定所述第一下行数据包的确认包计数值等于第一转发阈值,则向网络设备转发所述TCP确认数据包。
  31. 如权利要求27所述的客户终端设备,其特征在于,所述处理器,采用如下方式根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传:
    若确定所述第一下行数据包的确认包计数值大于第二重传阈值,则确定需要进行所述第一下行数据包的重传。
  32. 如权利要求27或31所述的客户终端设备,其特征在于,所述处理器,还用于:
    更新所述第一下行数据包的上下文条目之后,若确定所述第一下行数据包的确认包计数值大于第二重传阈值,则判断所述第一下行数据包的确认包计数值是否小于第二转发阈值,确定所述第一下行数据包的确认包计数值不小于第二转发阈值时,进一步确定所述第一下行数据包的确认包计数值是否为所述第二转发阈值的正整数倍;
    所述存储器,还用于:
    若所述处理器确定所述第一下行数据包的确认包计数值小于第二转发阈值,则存储所述TCP确认数据包;
    所述发射器,还用于:
    若所述处理器确定所述第一下行数据包的确认包计数值不小于第二转发阈值,则将所存储的所述第一下行数据包的所有TCP确认数据包发给网络设备,或者,若所述处理器确定所述第一下行数据包的确认包计数值不小于第二转发阈值且所述第一下行数据包的确认包计数值为所述第二转发阈值的正整数倍,则向所述网络设备发送指示信息,所述指示信息用于指示所述网络设备不减小TCP发送窗口。
  33. 如权利要求25至26任意一项所述的客户终端设备,其特征在于,所述第一下行数据包的上下文条目包括所述第一下行数据包的序列号、所述第一下行数据包的标识、所述第一下行数据包在媒体接入控制MAC层组帧的帧号、所述第一下行数据包的重传计数以及标识所述第一下行数据包成功发送与否的标识位,其中,所述第一下行数据包的标识包括TCP序列号;
    所述处理器采用如下方式更新所述第一下行数据包的上下文条目:
    若所述接收器接收终端发送的所述第一下行数据包的确认数据包为MAC正确认ACK 包,则将用于表征所述第一下行数据包成功发送与否的标识位置位为表征第一下行数据包已成功发送的标识位;
    若所述CPE接收终端发送的所述第一下行数据包的确认数据包为MAC层负确认NACK包,且所述MAC层负确认NACK包所对应的MAC帧已达到MAC层最大重传次数时,则对所述第一下行数据包的上下文条目中的重传计数值加1;
    所述处理器,采用如下方式根据所述第一下行数据包的上下文条目确定需要清除存储的待清除下行数据包及其上下文条目:
    若确定表征所述第一下行数据包成功发送与否的标识位置位为表征第一下行数据包已成功发送的标识位,则确定需要清除所述存储器中所存储的所述待清除下行数据包及其上下文条目;
    所述处理器,采用如下方式根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传:
    若确定所述重传计数值大于第三重传阈值,则确定需要进行所述第一下行数据包的重传;
    所述处理器,还用于:
    在所述发射器向所述终端重传所述第一下行数据包之后,在MAC层组帧后用新的MAC层帧号更新所述上下文条目中的MAC帧号。
  34. 如权利要求25、26或33所述的客户终端设备,其特征在于,所述处理器,还用于:
    更新所述第一下行数据包的上下文条目之后,若确定所述重传计数值大于第三重传阈值,则判断所述重传计数值是否小于第三转发阈值,确定所述重传计数值不小于第三转发阈值时,进一步确定所述第一下行数据包的确认包计数值是否为所述第三转发阈值的正整数倍;
    所述存储器,还用于:
    若所述处理器确定所述重传计数值小于第三转发阈值,则存储接收到的所述第一下行数据包的TCP确认数据包;
    所述发射器,还用于:
    若所述处理器确定所述重传计数值不小于第三转发阈值,则将所存储的所述第一下行数据包的所有TCP确认数据包发给网络设备,或者,若所述处理器确定所述重传计数值不小于第三转发阈值且所述第一下行数据包的确认包计数值为所述第三转发阈值的正整数倍,则向所述网络设备发送指示信息,所述指示信息用于指示所述网络设备不减小TCP发送窗口。
  35. 如权利要求25、26或33所述的客户终端设备,其特征在于,所述发射器,还用于:
    在所述存储器存储所述第一下行数据包之后,向网络设备发送所述第一下行数据包的TCP确认数据包;
  36. 如权利要求35所述的客户终端设备,其特征在于,所述接收器,还用于:
    在所述发射器向网络设备发送所述第一下行数据包的TCP确认数据包之后,若接收到终端发送的所述第一下行数据包的TCP确认数据包,则丢弃所述终端发送的所述第一下行数据包的TCP确认数据包。
PCT/CN2017/072518 2017-01-24 2017-01-24 一种数据传输方法、装置及客户终端设备 WO2018137158A1 (zh)

Priority Applications (9)

Application Number Priority Date Filing Date Title
MX2019008647A MX2019008647A (es) 2017-01-24 2017-01-24 Metodo y aparato de transmision de datos, y equipo en insatalacion de cliente.
RU2019126620A RU2728803C1 (ru) 2017-01-24 2017-01-24 Устройство и способ передачи данных и оборудование, размещенное у клиента
PCT/CN2017/072518 WO2018137158A1 (zh) 2017-01-24 2017-01-24 一种数据传输方法、装置及客户终端设备
EP17894306.4A EP3562076A4 (en) 2017-01-24 2017-01-24 DATA TRANSMISSION METHOD AND APPARATUS, AND SUBSCRIBER LOCAL EQUIPMENT
BR112019015070-6A BR112019015070A2 (pt) 2017-01-24 2017-01-24 Método e aparelhos de transmissão de dados e equipamento das instalações do cliente
KR1020197023536A KR20190105061A (ko) 2017-01-24 2017-01-24 데이터를 송신하는 방법과 데이터 송신 장치, 및 고객 댁내 장치
JP2019539989A JP2020507963A (ja) 2017-01-24 2017-01-24 データ送信方法および装置、ならびに顧客宅内機器
CN201780061395.8A CN109792325A (zh) 2017-01-24 2017-01-24 一种数据传输方法、装置及客户终端设备
US16/519,132 US20190349308A1 (en) 2017-01-24 2019-07-23 Data Transmission Method And Apparatus, And Customer-Premises Equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/072518 WO2018137158A1 (zh) 2017-01-24 2017-01-24 一种数据传输方法、装置及客户终端设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/519,132 Continuation US20190349308A1 (en) 2017-01-24 2019-07-23 Data Transmission Method And Apparatus, And Customer-Premises Equipment

Publications (1)

Publication Number Publication Date
WO2018137158A1 true WO2018137158A1 (zh) 2018-08-02

Family

ID=62978827

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/072518 WO2018137158A1 (zh) 2017-01-24 2017-01-24 一种数据传输方法、装置及客户终端设备

Country Status (9)

Country Link
US (1) US20190349308A1 (zh)
EP (1) EP3562076A4 (zh)
JP (1) JP2020507963A (zh)
KR (1) KR20190105061A (zh)
CN (1) CN109792325A (zh)
BR (1) BR112019015070A2 (zh)
MX (1) MX2019008647A (zh)
RU (1) RU2728803C1 (zh)
WO (1) WO2018137158A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112020078A (zh) * 2019-05-28 2020-12-01 华为技术有限公司 数据传输方法以及装置
CN113301605A (zh) * 2021-05-18 2021-08-24 成都欧珀通信科技有限公司 消息传输方法、系统及相关装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111629026A (zh) * 2020-04-07 2020-09-04 青岛奥利普自动化控制系统有限公司 一种基于mes的数据交互方法和设备
CN114765908A (zh) * 2021-01-13 2022-07-19 京东方科技集团股份有限公司 客户前置设备、物联网系统、数据传输方法及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100103880A1 (en) * 2007-08-26 2010-04-29 Huawei Technologies Co., Ltd. Data transmission control method and data transmission device
CN102130756A (zh) * 2008-07-17 2011-07-20 华为技术有限公司 数据传输方法和装置
CN102355462A (zh) * 2011-10-09 2012-02-15 大唐移动通信设备有限公司 一种实现tcp传输的方法及装置
CN102664718A (zh) * 2012-04-28 2012-09-12 大唐移动通信设备有限公司 无线侧tcp数据重传的方法和设备
CN105187175A (zh) * 2015-09-25 2015-12-23 京信通信技术(广州)有限公司 基站下行传输控制方法和系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4627669B2 (ja) * 2005-03-16 2011-02-09 アラクサラネットワークス株式会社 パケット転送装置およびその転送制御方式
CN101335603B (zh) * 2008-07-17 2011-03-30 华为技术有限公司 数据传输方法和装置
WO2013005761A1 (ja) * 2011-07-05 2013-01-10 日本電気株式会社 コンテンツ配信システム、キャッシュサーバおよびコンテンツ配信方法
US20150071273A1 (en) * 2013-09-11 2015-03-12 Celeno Communications (Israel) Ltd. Efficient transfer of tcp traffic over wlan
US9515777B2 (en) * 2014-10-23 2016-12-06 International Business Machines Corporation Snoop virtual receiver time
CN104780028A (zh) * 2015-04-02 2015-07-15 京信通信技术(广州)有限公司 一种实现tcp数据报文重传的方法及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100103880A1 (en) * 2007-08-26 2010-04-29 Huawei Technologies Co., Ltd. Data transmission control method and data transmission device
CN102130756A (zh) * 2008-07-17 2011-07-20 华为技术有限公司 数据传输方法和装置
CN102355462A (zh) * 2011-10-09 2012-02-15 大唐移动通信设备有限公司 一种实现tcp传输的方法及装置
CN102664718A (zh) * 2012-04-28 2012-09-12 大唐移动通信设备有限公司 无线侧tcp数据重传的方法和设备
CN105187175A (zh) * 2015-09-25 2015-12-23 京信通信技术(广州)有限公司 基站下行传输控制方法和系统

Non-Patent Citations (1)

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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112020078A (zh) * 2019-05-28 2020-12-01 华为技术有限公司 数据传输方法以及装置
WO2020238895A1 (zh) * 2019-05-28 2020-12-03 华为技术有限公司 数据传输方法以及装置
EP3952249A4 (en) * 2019-05-28 2022-06-08 Huawei Technologies Co., Ltd. DATA TRANSMISSION METHOD AND APPARATUS
CN112020078B (zh) * 2019-05-28 2022-07-19 华为技术有限公司 数据传输方法以及装置
CN113301605A (zh) * 2021-05-18 2021-08-24 成都欧珀通信科技有限公司 消息传输方法、系统及相关装置

Also Published As

Publication number Publication date
KR20190105061A (ko) 2019-09-11
MX2019008647A (es) 2019-09-16
CN109792325A (zh) 2019-05-21
EP3562076A4 (en) 2020-01-08
BR112019015070A2 (pt) 2020-03-03
EP3562076A1 (en) 2019-10-30
US20190349308A1 (en) 2019-11-14
RU2728803C1 (ru) 2020-07-31
JP2020507963A (ja) 2020-03-12

Similar Documents

Publication Publication Date Title
US10826654B2 (en) Method and system for improving wireless link efficiency
US10237153B2 (en) Packet retransmission method and apparatus
WO2017050216A1 (zh) 一种报文传输方法及用户设备
US20190349308A1 (en) Data Transmission Method And Apparatus, And Customer-Premises Equipment
JP2014143760A (ja) 通信装置、通信システム、およびデータ通信の中継方法
JPWO2008023656A1 (ja) 通信装置
US11888960B2 (en) Packet processing method and apparatus
WO2020147453A1 (zh) 数据传输方法及相关装置
US20220225163A1 (en) Communications device, infrastructure equipment and methods
IL228214A (en) Broadcast method ip multi-jump hoc ad network
EP3490293A1 (en) Data transmission method, data receiving device, and data sending device
JP5832335B2 (ja) 通信装置および通信システム
KR20190011898A (ko) 무선 통신 시스템에서 단말, 기지국 및 이의 통신 방법
US10075965B2 (en) Apparatus and method for detecting and alleviating unfairness in wireless network
US20200275481A1 (en) Reinstating poll retransmission timer
US11316620B2 (en) Enhanced HARQ algorithm for large round trip delay links
JP2014192811A (ja) 中継装置及び通信方法
CN116963175A (zh) 数据传输方法、装置及系统
WO2021217602A1 (zh) 处理数据包的方法和通信装置
EP2890179B1 (en) Method, apparatus and computer program for data transfer
JP2013179486A (ja) パケット監視装置、パケット監視方法およびパケット監視システム
WO2019193448A1 (en) Method and apparatus for multi‑hop arq
JP2020065222A (ja) 通信システム、中継装置および通信方法
US20240154735A1 (en) Method and apparatus for transmitting objects based on deadline-aware
JP2024049593A (ja) Tcp通信装置、方法及びプログラム

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019539989

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112019015070

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 2017894306

Country of ref document: EP

Effective date: 20190723

ENP Entry into the national phase

Ref document number: 20197023536

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 112019015070

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20190722