WO2018137158A1 - 一种数据传输方法、装置及客户终端设备 - Google Patents
一种数据传输方法、装置及客户终端设备 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/187—Details of sliding window management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1887—Scheduling and prioritising arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/1607—Details of the supervisory signal
- H04L1/1628—List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1832—Details of sliding window management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1854—Scheduling and prioritising arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1858—Transmission or retransmission of more than one copy of acknowledgement message
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1874—Buffer management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/189—Transmission or retransmission of more than one copy of a message
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2212/00—Encapsulation 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
Description
Claims (36)
- 一种数据传输方法,其特征在于,包括:客户终端设备CPE接收网络设备发送的第一下行数据包,存储所述第一下行数据包,创建并维护所述第一下行数据包的上下文条目,并向终端发送所述第一下行数据包;所述CPE接收终端发送的所述第一下行数据包的确认数据包,更新所述第一下行数据包的上下文条目;所述CPE若根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传,则向所述终端重传存储的所述第一下行数据包;所述CPE若根据所述第一下行数据包的上下文条目确定需要清除存储的待清除下行数据包及其上下文条目,则清除所述待清除下行数据包及其上下文条目,其中,所述待清除下行数据包与所述第一下行数据包属于同一传输控制协议TCP链接,且所述待清除下行数据包的TCP序列号小于所述第一下行数据包的TCP序列号。
- 如权利要求1所述的方法,其特征在于,存储所述第一下行数据包之前,所述方法还包括:确定所述第一下行数据包为TCP数据包,且所述CPE的缓存小于预设的缓存大小,或者所述CPE的缓存等于预设的缓存大小且已缓存的下行数据包中存在有业务优先级低于接收到的第一下行数据包的业务优先级的第二下行数据包。
- 如权利要求1至2中任意一项所述的方法,其特征在于,所述第一下行数据包的上下文条目包括所述第一下行数据包的序列号、所述第一下行数据包的标识以及所述第一下行数据包的确认包计数,其中,所述第一下行数据包的标识包括TCP序列号。
- 如权利要求1至3中任意一项所述的方法,其特征在于,所述CPE接收终端发送的所述第一下行数据包的确认数据包,更新所述第一下行数据包的上下文条目,包括:若所述CPE接收终端发送的所述第一下行数据包的确认数据包为TCP确认数据包,则对所述第一下行数据包的上下文条目中的确认计数值加1;所述CPE根据所述第一下行数据包的上下文条目确定需要清除存储的待清除下行数据包及其上下文条目,包括:所述CPE若确定所述第一下行数据包的确认包计数值为预定的确认包计数值或者确定所述TCP数据包未存储在所述CPE中,则所述CPE确定需要清除所述待清除下行数据包及其上下文条目。
- 如权利要求3至4中任意一项所述的方法,其特征在于,所述CPE根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传,包括:所述CPE若确定所述第一下行数据包的确认包计数值等于第一重传阈值,则所述CPE确定需要进行所述第一下行数据包的重传;所述CPE向所述终端重传存储的所述第一下行数据包之后,所述方法还包括:所述CPE将所述第一下行数据包的确认包计数值置为0。
- 如权利要求3至5任意一项所述的方法,其特征在于,更新所述第一下行数据包的上下文条目之后,所述方法还包括:所述CPE若确定所述第一下行数据包的确认包计数值等于第一转发阈值,则所述CPE 向网络设备转发所述TCP确认数据包。
- 如权利要求3所述的方法,其特征在于,所述CPE根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传,包括:所述CPE若确定所述第一下行数据包的确认包计数值大于第二重传阈值,则所述CPE确定需要进行所述第一下行数据包的重传。
- 如权利要求3或7所述的方法,其特征在于,更新所述第一下行数据包的上下文条目之后,所述方法还包括:所述CPE若确定所述第一下行数据包的确认包计数值大于第二重传阈值,则判断所述第一下行数据包的确认包计数值是否小于第二转发阈值;若所述第一下行数据包的确认包计数值小于第二转发阈值,则所述CPE存储所述TCP确认数据包;若所述第一下行数据包的确认包计数值不小于第二转发阈值,则所述CPE将所存储的所述第一下行数据包的所有TCP确认数据包发给网络设备,或者,所述第一下行数据包的确认包计数值不小于第二转发阈值且所述CPE若确定所述第一下行数据包的确认包计数值为所述第二转发阈值的正整数倍,则所述CPE向所述网络设备发送指示信息,所述指示信息用于指示所述网络设备不减小TCP发送窗口。
- 如权利要求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帧号。
- 如权利要求1、2或9所述的方法,其特征在于,更新所述第一下行数据包的上下文条目之后,所述方法还包括:所述CPE若确定所述重传计数值大于第三重传阈值,则判断所述重传计数值是否小于第三转发阈值;若所述重传计数值小于第三转发阈值,则所述CPE存储接收到的所述第一下行数据包的TCP确认数据包;若所述重传计数值不小于第三转发阈值,则所述CPE将所存储的所述第一下行数据包的所有TCP确认数据包发给网络设备,或者,若所述重传计数值不小于第三转发阈值且所述CPE若确定所述第一下行数据包的确认包计数值为所述第三转发阈值的正整数倍,则所述CPE向所述网络设备发送指示信息,所述指示信息用于指示所述网络设备不减小TCP发送窗口。
- 如权利要求1、2或9所述的方法,其特征在于,存储所述第一下行数据包之后,所述方法还包括:生成并向网络设备发送已存储的所述第一下行数据包的TCP确认数据包。
- 如权利要求11所述的方法,其特征在于,向网络设备发送所述第一下行数据包的TCP确认数据包之后,所述方法还包括:若接收到终端发送的所述第一下行数据包的TCP确认数据包,则丢弃所述终端发送的所述第一下行数据包的TCP确认数据包。
- 一种数据传输装置,其特征在于,包括接收单元、缓存单元、处理单元和发送单元:所述接收单元,用于接收网络设备发送的第一下行数据包,并接收终端发送的所述第一下行数据包的确认数据包;所述发送单元,用于向终端发送所述接收单元接收的所述第一下行数据包;所述缓存单元,用于存储所述第一下行数据包;所述处理单元,用于创建并维护所述第一下行数据包的上下文条目,在所述接收单元接收到终端发送的所述第一下行数据包的确认数据包后,更新所述第一下行数据包的上下文条目,以及根据所述第一下行数据包的上下文条目确定是否需要进行所述第一下行数据包的重传,根据所述第一下行数据包的上下文条目确定是否需要清除所述缓存单元存储的第一下行数据包及其上下文条目;若所述处理单元根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传,则发送单元用于向所述终端重传存储的所述第一下行数据包;若所述处理单元根据所述第一下行数据包的上下文条目确定需要清除存储的待清除下行数据包及其上下文条目,所述缓存单元清除所述待清除下行数据包及其上下文条目,其中,所述待清除下行数据包与所述第一下行数据包属于同一传输控制协议TCP链接,且所述待清除下行数据包的TCP序列号小于所述第一下行数据包的TCP序列号。
- 如权利要求13所述的装置,其特征在于,所述缓存单元,还用于:存储所述第一下行数据包之前,确定所述第一下行数据包为TCP数据包,且所述缓存单元的缓存小于预设的缓存大小,或者所述缓存单元的缓存等于预设的缓存大小且已缓存的下行数据包中存在有业务优先级低于接收到的第一下行数据包的业务优 先级的第二下行数据包。
- 如权利要求13至14中任意一项所述的装置,其特征在于,所述第一下行数据包的上下文条目包括所述第一下行数据包的序列号、所述第一下行数据包的标识以及所述第一下行数据包的确认包计数,其中,所述第一下行数据包的标识包括TCP序列号。
- 如权利要求13至15中任意一项所述的装置,其特征在于,所述处理单元采用如下方式更新所述第一下行数据包的上下文条目:若所述接收单元接收终端发送的所述第一下行数据包的确认数据包为TCP确认数据包,则对所述第一下行数据包的上下文条目中的确认计数值加1;所述处理单元,采用如下方式根据所述第一下行数据包的上下文条目确定需要清除存储的待清除下行数据包及其上下文条目:若确定所述第一下行数据包的确认包计数值为预定的确认包计数值或者确定所述TCP数据包未存储在所述缓存单元中,则确定需要清除所述缓存单元中所存储的所述待清除下行数据包及其上下文条目。
- 如权利要求15至16中任意一项所述的装置,其特征在于,所述处理单元采用如下方式根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传:若确定所述第一下行数据包的确认包计数值等于第一重传阈值,则确定需要进行所述第一下行数据包的重传;所述处理单元,还用于:在所述发送单元向所述终端重传存储的所述第一下行数据包之后,将所述第一下行数据包的确认包计数值置为0。
- 如权利要求15至17任意一项所述的装置,其特征在于,所述发送单元,还用于:在所述处理单元更新所述第一下行数据包的上下文条目之后,若所述处理单元确定所述第一下行数据包的确认包计数值等于第一转发阈值,则向网络设备转发所述TCP确认数据包。
- 如权利要求15所述的装置,其特征在于,所述处理单元,采用如下方式根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传:若确定所述第一下行数据包的确认包计数值大于第二重传阈值,则确定需要进行所述第一下行数据包的重传。
- 如权利要求15或19所述的装置,其特征在于,所述处理单元,还用于:更新所述第一下行数据包的上下文条目之后,若确定所述第一下行数据包的确认包计数值大于第二重传阈值,则判断所述第一下行数据包的确认包计数值是否小于第二转发阈值,确定所述第一下行数据包的确认包计数值不小于第二转发阈值时,进一步确定所述第一下行数据包的确认包计数值是否为所述第二转发阈值的正整数倍;所述缓存单元,还用于:若所述处理单元确定所述第一下行数据包的确认包计数值小于第二转发阈值,则存储所述TCP确认数据包;所述发送单元,还用于:若所述处理单元确定所述第一下行数据包的确认包计数值不小于第二转发阈值,则将所存储的所述第一下行数据包的所有TCP确认数据包发给网络设备,或者,若所述处理单元确定所述第一下行数据包的确认包计数值不小于第二转发阈值且所述第一下行数据 包的确认包计数值为所述第二转发阈值的正整数倍,则向所述网络设备发送指示信息,所述指示信息用于指示所述网络设备不减小TCP发送窗口。
- 如权利要求13至14任意一项所述的装置,其特征在于,所述第一下行数据包的上下文条目包括所述第一下行数据包的序列号、所述第一下行数据包的标识、所述第一下行数据包在媒体接入控制MAC层组帧的帧号、所述第一下行数据包的重传计数以及标识所述第一下行数据包成功发送与否的标识位,其中,所述第一下行数据包的标识包括TCP序列号;所述处理单元采用如下方式更新所述第一下行数据包的上下文条目:若所述接收单元接收终端发送的所述第一下行数据包的确认数据包为MAC正确认ACK包,则将用于表征所述第一下行数据包成功发送与否的标识位置位为表征第一下行数据包已成功发送的标识位;若所述接收单元接收终端发送的所述第一下行数据包的确认数据包为MAC层负确认NACK包,且所述MAC层负确认NACK包所对应的MAC帧已达到MAC层最大重传次数时,则对所述第一下行数据包的上下文条目中的重传计数值加1;所述处理单元,采用如下方式根据所述第一下行数据包的上下文条目确定需要清除存储的待清除下行数据包及其上下文条目:若确定表征所述第一下行数据包成功发送与否的标识位置位为表征第一下行数据包已成功发送的标识位,则确定需要清除所述缓存单元中所存储的待清除下行数据包及其上下文条目;所述处理单元,采用如下方式根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传:若确定所述重传计数值大于第三重传阈值,则确定需要进行所述第一下行数据包的重传;所述处理单元,还用于:在所述发送单元向所述终端重传所述第一下行数据包之后,在MAC层组帧后用新的MAC层帧号更新所述上下文条目中的MAC帧号。
- 如权利要求13、14或21所述的装置,其特征在于,所述处理单元,还用于:更新所述第一下行数据包的上下文条目之后,若确定所述重传计数值大于第三重传阈值,则判断所述重传计数值是否小于第三转发阈值,确定所述重传计数值不小于第三转发阈值时,进一步确定所述第一下行数据包的确认包计数值是否为所述第三转发阈值的正整数倍;所述缓存单元,还用于:若所述处理单元确定所述重传计数值小于第三转发阈值,则存储接收到的所述第一下行数据包的TCP确认数据包;所述发送单元,还用于:若所述处理单元确定所述重传计数值不小于第三转发阈值,则将所存储的所述第一下行数据包的所有TCP确认数据包发给网络设备,或者,若所述处理单元确定所述重传计数值不小于第三转发阈值且所述第一下行数据包的确认包计数值为所述第三转发阈值的正整数倍,则向所述网络设备发送指示信息,所述指示信息用于指示所述网络设备不减小TCP发送窗口。
- 如权利要求13、14或21所述的装置,其特征在于,所述发送单元,还用于:在所述缓存单元存储所述第一下行数据包之后,向网络设备发送所述第一下行数据包的TCP确认数据包。
- 如权利要求23所述的装置,其特征在于,所述接收单元,还用于:在所述发送单元向网络设备发送所述第一下行数据包的TCP确认数据包之后,若接收到终端发送的所述第一下行数据包的TCP确认数据包,则丢弃所述终端发送的所述第一下行数据包的TCP确认数据包。
- 一种客户终端设备,其特征在于,包括接收器、存储器、处理器和发射器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,执行处理器的如下功能,并控制接收器、存储器和发射器执行如下功能:所述接收器,用于接收网络设备发送的第一下行数据包,并接收终端发送的所述第一下行数据包的确认数据包;所述发射器,用于发射所述接收器接收到的所述第一下行数据包;所述存储器,用于存储所述第一下行数据包;所述处理器,用于创建并维护所述第一下行数据包的上下文条目,在所述接收器接收到终端发送的所述第一下行数据包的确认数据包后,更新所述第一下行数据包的上下文条目,以及根据所述第一下行数据包的上下文条目确定是否需要进行所述第一下行数据包的重传,根据所述第一下行数据包的上下文条目确定是否需要清除所述存储器存储的待清除下行数据包及其上下文条目,其中,所述待清除下行数据包与所述第一下行数据包属于同一传输控制协议TCP链接,且所述待清除下行数据包的TCP序列号小于所述第一下行数据包的TCP序列号;若所述处理器根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传,则发射器用于向所述终端重传存储的所述第一下行数据包;若所述处理器根据所述第一下行数据包的上下文条目确定需要清除存储的待清除下行数据包及其上下文条目,则所述存储器清除所述待清除下行数据包及其上下文条目。
- 如权利要求25所述的客户终端设备,其特征在于,所述存储器,还用于:存储所述第一下行数据包之前,确定所述第一下行数据包为TCP数据包,且所述存储器的缓存小于预设的缓存大小,或者所述存储器的缓存等于预设的缓存大小且已缓存的下行数据包中存在有业务优先级低于接收到的第一下行数据包的业务优先级的第二下行数据包。
- 如权利要求25至26中任意一项所述的客户终端设备,其特征在于,所述第一下行数据包的上下文条目包括所述第一下行数据包的序列号、所述第一下行数据包的标识以及所述第一下行数据包的确认包计数,其中,所述第一下行数据包的标识包括TCP序列号。
- 如权利要求25至27中任意一项所述的客户终端设备,其特征在于,所述处理器采用如下方式更新所述第一下行数据包的上下文条目:若所述接收器接收终端发送的所述第一下行数据包的确认数据包为TCP确认数据包,则对所述第一下行数据包的上下文条目中的确认计数值加1;所述处理器,采用如下方式根据所述第一下行数据包的上下文条目确定需要清除存储的待清除下行数据包及其上下文条目:若确定所述第一下行数据包的确认包计数值为预定的确认包计数值或者确定所述TCP 数据包未存储在所述存储器中,则确定需要清除所述存储器中所存储的所述待清除下行数据包及其上下文条目。
- 如权利要求27至28中任意一项所述的客户终端设备,其特征在于,所述处理器采用如下方式根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传:若确定所述第一下行数据包的确认包计数值等于第一重传阈值,则确定需要进行所述第一下行数据包的重传;所述处理器,还用于:在所述发射器向所述终端重传存储的所述第一下行数据包之后,将所述第一下行数据包的确认包计数值置为0。
- 如权利要求27至29任意一项所述的客户终端设备,其特征在于,所述发射器,还用于:在所述处理器更新所述第一下行数据包的上下文条目之后,若所述处理器确定所述第一下行数据包的确认包计数值等于第一转发阈值,则向网络设备转发所述TCP确认数据包。
- 如权利要求27所述的客户终端设备,其特征在于,所述处理器,采用如下方式根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传:若确定所述第一下行数据包的确认包计数值大于第二重传阈值,则确定需要进行所述第一下行数据包的重传。
- 如权利要求27或31所述的客户终端设备,其特征在于,所述处理器,还用于:更新所述第一下行数据包的上下文条目之后,若确定所述第一下行数据包的确认包计数值大于第二重传阈值,则判断所述第一下行数据包的确认包计数值是否小于第二转发阈值,确定所述第一下行数据包的确认包计数值不小于第二转发阈值时,进一步确定所述第一下行数据包的确认包计数值是否为所述第二转发阈值的正整数倍;所述存储器,还用于:若所述处理器确定所述第一下行数据包的确认包计数值小于第二转发阈值,则存储所述TCP确认数据包;所述发射器,还用于:若所述处理器确定所述第一下行数据包的确认包计数值不小于第二转发阈值,则将所存储的所述第一下行数据包的所有TCP确认数据包发给网络设备,或者,若所述处理器确定所述第一下行数据包的确认包计数值不小于第二转发阈值且所述第一下行数据包的确认包计数值为所述第二转发阈值的正整数倍,则向所述网络设备发送指示信息,所述指示信息用于指示所述网络设备不减小TCP发送窗口。
- 如权利要求25至26任意一项所述的客户终端设备,其特征在于,所述第一下行数据包的上下文条目包括所述第一下行数据包的序列号、所述第一下行数据包的标识、所述第一下行数据包在媒体接入控制MAC层组帧的帧号、所述第一下行数据包的重传计数以及标识所述第一下行数据包成功发送与否的标识位,其中,所述第一下行数据包的标识包括TCP序列号;所述处理器采用如下方式更新所述第一下行数据包的上下文条目:若所述接收器接收终端发送的所述第一下行数据包的确认数据包为MAC正确认ACK 包,则将用于表征所述第一下行数据包成功发送与否的标识位置位为表征第一下行数据包已成功发送的标识位;若所述CPE接收终端发送的所述第一下行数据包的确认数据包为MAC层负确认NACK包,且所述MAC层负确认NACK包所对应的MAC帧已达到MAC层最大重传次数时,则对所述第一下行数据包的上下文条目中的重传计数值加1;所述处理器,采用如下方式根据所述第一下行数据包的上下文条目确定需要清除存储的待清除下行数据包及其上下文条目:若确定表征所述第一下行数据包成功发送与否的标识位置位为表征第一下行数据包已成功发送的标识位,则确定需要清除所述存储器中所存储的所述待清除下行数据包及其上下文条目;所述处理器,采用如下方式根据所述第一下行数据包的上下文条目确定需要进行所述第一下行数据包的重传:若确定所述重传计数值大于第三重传阈值,则确定需要进行所述第一下行数据包的重传;所述处理器,还用于:在所述发射器向所述终端重传所述第一下行数据包之后,在MAC层组帧后用新的MAC层帧号更新所述上下文条目中的MAC帧号。
- 如权利要求25、26或33所述的客户终端设备,其特征在于,所述处理器,还用于:更新所述第一下行数据包的上下文条目之后,若确定所述重传计数值大于第三重传阈值,则判断所述重传计数值是否小于第三转发阈值,确定所述重传计数值不小于第三转发阈值时,进一步确定所述第一下行数据包的确认包计数值是否为所述第三转发阈值的正整数倍;所述存储器,还用于:若所述处理器确定所述重传计数值小于第三转发阈值,则存储接收到的所述第一下行数据包的TCP确认数据包;所述发射器,还用于:若所述处理器确定所述重传计数值不小于第三转发阈值,则将所存储的所述第一下行数据包的所有TCP确认数据包发给网络设备,或者,若所述处理器确定所述重传计数值不小于第三转发阈值且所述第一下行数据包的确认包计数值为所述第三转发阈值的正整数倍,则向所述网络设备发送指示信息,所述指示信息用于指示所述网络设备不减小TCP发送窗口。
- 如权利要求25、26或33所述的客户终端设备,其特征在于,所述发射器,还用于:在所述存储器存储所述第一下行数据包之后,向网络设备发送所述第一下行数据包的TCP确认数据包;
- 如权利要求35所述的客户终端设备,其特征在于,所述接收器,还用于:在所述发射器向网络设备发送所述第一下行数据包的TCP确认数据包之后,若接收到终端发送的所述第一下行数据包的TCP确认数据包,则丢弃所述终端发送的所述第一下行数据包的TCP确认数据包。
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)
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)
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)
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)
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数据报文重传的方法及设备 |
-
2017
- 2017-01-24 BR BR112019015070-6A patent/BR112019015070A2/pt not_active IP Right Cessation
- 2017-01-24 MX MX2019008647A patent/MX2019008647A/es unknown
- 2017-01-24 WO PCT/CN2017/072518 patent/WO2018137158A1/zh unknown
- 2017-01-24 EP EP17894306.4A patent/EP3562076A4/en not_active Withdrawn
- 2017-01-24 JP JP2019539989A patent/JP2020507963A/ja not_active Ceased
- 2017-01-24 CN CN201780061395.8A patent/CN109792325A/zh active Pending
- 2017-01-24 KR KR1020197023536A patent/KR20190105061A/ko not_active Application Discontinuation
- 2017-01-24 RU RU2019126620A patent/RU2728803C1/ru not_active IP Right Cessation
-
2019
- 2019-07-23 US US16/519,132 patent/US20190349308A1/en not_active Abandoned
Patent Citations (5)
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)
Title |
---|
See also references of EP3562076A4 * |
Cited By (5)
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 |