WO2013159516A1 - 无线侧tcp数据重传的方法和设备 - Google Patents

无线侧tcp数据重传的方法和设备 Download PDF

Info

Publication number
WO2013159516A1
WO2013159516A1 PCT/CN2012/085231 CN2012085231W WO2013159516A1 WO 2013159516 A1 WO2013159516 A1 WO 2013159516A1 CN 2012085231 W CN2012085231 W CN 2012085231W WO 2013159516 A1 WO2013159516 A1 WO 2013159516A1
Authority
WO
WIPO (PCT)
Prior art keywords
data packet
terminal device
message
tcp
dup ack
Prior art date
Application number
PCT/CN2012/085231
Other languages
English (en)
French (fr)
Inventor
柴新旺
Original Assignee
大唐移动通信设备有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 大唐移动通信设备有限公司 filed Critical 大唐移动通信设备有限公司
Publication of WO2013159516A1 publication Critical patent/WO2013159516A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a method and device for wireless side TCP data retransmission. Background technique
  • TCP Transmission Control Protocol
  • connection-oriented connection-oriented
  • reliable byte-based transport layer transport protocol
  • the terminal On the radio side of a RNC (Radio Network Controller) with a TCP proxy function or a 3G (3rd Generation, 3rd Generation, 3rd Generation Mobile Telecommunications) terminal with a TCP entity, due to air packet loss and non-sequential delivery, The terminal receives a large number of out-of-order packets.
  • the TCP entity corresponding to the terminal sends a Dup ACK (repeated acknowledgement) or SACK (selective acknowledgement) after receiving the out-of-order packet, indicating that a certain packet is lost.
  • Dup ACK peerated acknowledgement
  • SACK selective acknowledgement
  • these packets are divided into many small packets for transmission in the air interface. Due to the discarding of a small packet, the entire large packet cannot be delivered to the TCP entity of the terminal. At this time, the TCP entity of the terminal sends a Dup ACK or SACK, requesting the RNC side. The TCP proxy retransmits the packet data. After the packet is lost, it will be retransmitted at the RLC (Radio Link Control) layer. When the retransmitted packet is correctly received by the terminal, the entire packet is handed over to the TCP layer of the terminal.
  • RLC Radio Link Control
  • the RNC's TCP layer retransmits the packet data at this time, it will cause the packet to be repeatedly transmitted in the air interface, resulting in waste of air interface resources and bandwidth.
  • Dup ACK or SACK is the TCP protocol to inform the sender that data loss can be used in two ways:
  • One way is to continuously receive 3 Dup ACKs (a total of 4 ACKs have the same acknowledgment number), indicating that the data packet receiving end of the acknowledgment number is not received; another way is that SACK directly tells the sender which data is received. , which data was not received.
  • TCP proxy For the unreceived data, retransmission processing is required.
  • the TCP proxy has a large processing for retransmission.
  • the retransmission mechanism of TCP protocol or the improvement of TCP retransmission mechanism including: (1) TCP protocol fast retransmission algorithm
  • TCP When TCP sends a segment, it creates a retransmission timer for a specific segment based on RTT (Round-Trip Time). If the acknowledgment of the segment is received before the timer expires, the timer is revoked; if the acknowledgment for the segment is not received before the timer expires, the segment is retransmitted, and Clear the timer.
  • RTT Red-Trip Time
  • This algorithm is an improvement on the fast retransmission algorithm. If 3 Dup ACKs are received before the retransmission timer expires (-a total of 4 ACKs have the same acknowledgment number), the packet is retransmitted immediately and continues to be received later. 3 Dup ACKs, no longer retransmitted, until 8 ACKs are received with the same acknowledgment number, the packet is retransmitted, and subsequent 16 ACKs have the same acknowledgment number before retransmitting the packet... ... thus avoiding unnecessary unnecessary multiple retransmissions.
  • the inventors have found that at least the following problems exist in the prior art:
  • the above three methods, the TCP protocol fast retransmission algorithm and the retransmission timer are part of the TCP protocol, and the power retransmission algorithm is based on fast An improvement in the retransmission algorithm.
  • These methods have great limitations in solving the problem of whether the wireless side needs to retransmit data packets.
  • the specific analysis is as follows:
  • TCP protocol fast retransmission algorithm this is the implementation method specified by the TCP protocol.
  • the drawback of this method is obvious.
  • the data packet sent by the TCP entity is divided into multiple in the RLC. If a small packet is lost, and the process of retransmitting these small packets takes a certain amount of time or the packets are repeatedly discarded in the air interface, the terminal will send a large number of Dup ACKs. If the fast retransmission algorithm is used, the entire data packet Being sent non-stop, wasting bandwidth and air interface resources.
  • the method of retransmission timer has limitations in the wireless environment, mainly because the RTT is a very large value in the air interface, and the prediction according to the previous value is often inaccurate. If the RTT time prediction is short, It will lead to unnecessary retransmission, waste bandwidth and air interface resources; if the RTT time prediction is long, the real-time performance will be poor first, and then the transmission window will be full, which will also cause the air interface to be idle, resulting in unnecessary waste of air interface resources.
  • the power retransmission algorithm is an improvement to the TCP protocol fast retransmission algorithm. Although it can reduce the number of times a TCP entity sends duplicate packets, it cannot be avoided. Moreover, if the data packet is lost again, the data packet is retransmitted again. The real-time performance is poor.
  • the embodiments of the present invention provide a method and a device for retransmitting a TCP data on a wireless side.
  • the wireless side retransmission processing cannot be reasonably solved, and the system resources are wasted. .
  • an embodiment of the present invention provides a method for retransmitting a wireless side TCP data, including at least the following steps: When a TCP entity receives an uplink message sent by a terminal device, the TCP entity determines the uplink.
  • the TCP entity determines whether the RLC layer has sent all the fragment packets of the data packet corresponding to the Dup ACK message to the terminal device, and receives the terminal device The acknowledgment message returned; if the judgment result is yes, the TCP entity counts and accumulates the Dup ACK message; the TCP entity determines whether the current count value of the Dup ACK message reaches 2; The data packet corresponding to the Dup ACK message is transmitted, and the count value of the Dup ACK message is set to zero.
  • the TCP entity determines whether the RLC layer has sent all the fragmented packets of the data packet corresponding to the Dup ACK message to the terminal device, and receives the acknowledgement message returned by the terminal device, including: The TCP entity determines a sequence number of the fragment packet that has been confirmed by the terminal device in each fragment packet of the data packet corresponding to the Dup ACK message; and the TCP entity determines whether the maximum value of the sequence number reaches the Determining the sequence number of the data packet corresponding to the Dup ACK message at the RLC layer; if so, the TCP entity confirms that the RLC layer has already performed the Dup ACK All the fragmented packets of the data packet corresponding to the message are sent to the terminal device, and an acknowledgement message returned by the terminal device is received.
  • the TCP entity determines whether the RLC layer has sent all the fragmented packets of the data packet corresponding to the Dup ACK message to the terminal device, and after receiving the acknowledgement message returned by the terminal device, The method includes: if the judgment result is no, the TCP entity sets the count value of the Dup ACK message to zero.
  • the TCP entity further includes: the TCP entity records a termination sequence number of the data packet that is retransmitted at the RLC layer.
  • the method further includes: the TCP entity determining the uplink Whether the SACK message is included in the message; if yes, the TCP entity selects a corresponding data packet according to the sending sequence of each data packet corresponding to the SACK message; the TCP entity determines whether the RLC layer has already selected the currently selected data. All the fragmented packets of the packet are sent to the terminal device, and an acknowledgement message returned by the terminal device is received; if the determination result is yes, the TCP entity retransmits the currently selected data packet.
  • the TCP entity determines whether the RLC layer has sent all the fragmented packets of the currently selected data packet to the terminal device, and receives the acknowledgement message returned by the terminal device, including: a sequence number of a fragment packet that has been confirmed by the terminal device in each fragment packet of the currently selected data packet; the TCP entity determining whether the maximum value of the sequence number reaches the currently selected data a termination sequence number of the RLC layer; if so, the TCP entity confirms that the RLC layer has sent all the fragment packets of the currently selected data packet to the terminal device, and receives the return from the terminal device Confirm the message.
  • the TCP entity determines whether the RLC layer has sent all the fragmented packets of the currently selected data packet to the terminal device, and after receiving the acknowledgement message returned by the terminal device, the method further includes: If not, the TCP entity confirms that each data packet corresponding to the SACK message after the currently selected data packet is not sent.
  • the TCP entity further includes: the TCP entity records a termination sequence number of the data packet that is retransmitted at the RLC layer.
  • the embodiment of the present invention further provides a network device, as a TCP entity, is applied to a network system that has a TCP connection across a wireless network, and includes: a receiving module, configured to receive an uplink message sent by the terminal device; a determining module, configured to determine whether the uplink message received by the receiving module includes a Dup ACK message, and the second determining module is configured to determine whether the RLC layer is already included when the determining result of the first determining module is included Sending, to the terminal device, all the fragmented packets of the data packet corresponding to the Dup ACK message, and receiving an acknowledgement message returned by the terminal device; and the counting module configured to be determined by the second determining module If yes, the Dup ACK message received by the receiving module is counted and accumulated; the
  • the second determining module is configured to: determine a sequence number of a fragment packet that has been confirmed by the terminal device in each fragment packet of the data packet corresponding to the Dup ACK message; determine the sequence Whether the maximum value of the number reaches the termination sequence number of the data packet corresponding to the Dup ACK message at the RLC layer; if so, it is confirmed that the RLC layer has sent all the fragment packets of the data packet corresponding to the Dup ACK message to the The terminal device is received, and an acknowledgement message returned by the terminal device is received.
  • the counting module is further configured to: when the determination result of the second determining module is negative, set the count value of the Dup ACK message to zero.
  • the processing module is further configured to: when retransmitting the data packet corresponding to the Dup ACK message, record a termination sequence number of the data packet that is retransmitted at the RLC layer.
  • the fourth determining module, the selecting module, and the fifth determining module are configured to: the fourth determining module is configured to determine, in the first determining module, that the uplink message does not include a Dup ACK message, or After the processing module retransmits the data packet corresponding to the Dup ACK message, it is determined whether the uplink message includes a SACK message, and the selecting module is configured to: when the determination result of the fourth determining module is included, The sending sequence of each data packet corresponding to the SACK message selects a corresponding data packet; the fifth determining module is configured to determine whether the RLC layer has been Sending, by the processing module, all the fragmented packets of the data packet currently selected by the selection module to the terminal device, and receiving the confirmation message returned by the terminal device; When the judgment result of the module is YES, the currently selected data packet is retransmitted.
  • the fifth determining module is configured to: determine, in each fragment packet of the data packet currently selected by the selecting module, a sequence number of the fragment packet that has been confirmed by the terminal device; determine the sequence Whether the maximum value of the number reaches the termination sequence number of the currently selected data packet at the RLC layer; if so, confirming that the RLC layer has sent all the fragmented packets of the currently selected data packet to the terminal device, And receiving the confirmation message returned by the terminal device.
  • the processing module is further configured to: when the determination result of the fifth determining module is negative, confirm that each data packet corresponding to the SACK message after the data packet currently selected by the selecting module is Not sent.
  • the processing module is further configured to: when retransmitting the data packet currently selected by the selecting module, record a termination sequence number of the data packet that is retransmitted at the RLC layer.
  • the technical solution proposed by the embodiment of the present invention has the following advantages: In the case that the TCP entity receives the uplink message including the Dup ACK message sent by the terminal device, by applying the technical solution of the embodiment of the present invention, If the TCP entity determines that the RLC layer has sent all the fragmented packets of the data packet corresponding to the Dup ACK message to the terminal device, and receives the acknowledgement message returned by the terminal device, the Dup ACK message is counted and accumulated, and is counted.
  • the data packet corresponding to the Dup ACK message is retransmitted, so that the characteristics of the local buffering and retransmission of the TCP entity data can be flexibly utilized, and the Dup ACK of the terminal device is distinguished according to the characteristics of the reliable transmission of the RLC.
  • To achieve fast retransmission of TCP layer data accurately determine whether the data packet needs TCP layer retransmission on the wireless side of the TCP proxy, improve TCP performance and air interface resource utilization, and avoid unnecessary data retransmission. The system resources are wasted.
  • FIG. 1 is a schematic flowchart of a method for wireless side TCP data retransmission according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a method for retransmitting wireless side TCP data according to an embodiment of the present invention. Schematic diagram of a SACK message for performing packet retransmission processing;
  • FIG. 3 is a schematic flowchart of a method for retransmitting wireless side TCP data in a specific scenario according to an embodiment of the present disclosure
  • FIG. 4 is a schematic structural diagram of a network device according to an embodiment of the present invention. detailed description
  • TCP is a reliable transmission protocol researched and developed for the wired network Internet.
  • the transmission characteristics of the wired network are low bit error rate and easy congestion. Therefore, its transmission control algorithm is mainly designed based on the network congestion model.
  • TCP when a TCP connection spans both wired and wireless networks, TCP will not be able to adapt to the high bit error rate, high latency jitter, cell handover, out-of-order, etc. of the wireless transmission channel, causing false slow start and congestion avoidance. And retransmission, when the quality of the air interface is quickly restored, TCP data cannot be transmitted in time, resulting in a decrease in bandwidth resource utilization, a decrease in effective bandwidth, and fluctuations in throughput.
  • a common practice in the prior art is to set a TCP proxy on the RNC side, and enhance the wireless side through mechanisms such as local buffering, sorting, flow control, local retransmission, and suppression of Dup ACK.
  • the performance of the transmission is to set a TCP proxy on the RNC side, and enhance the wireless side through mechanisms such as local buffering, sorting, flow control, local retransmission, and suppression of Dup ACK. The performance of the transmission.
  • the embodiment of the present invention provides a method for wireless side TCP data retransmission, which mainly solves how to determine whether a data packet needs a TCP layer retransmission in a wireless side of a TCP proxy, so as to improve TCP performance and air interface. Resource utilization issues.
  • FIG. 1 it is a schematic flowchart of a method for retransmitting a wireless side TCP data according to an embodiment of the present invention, where the method specifically includes the following steps:
  • Step S101 When the TCP entity receives the uplink message sent by the terminal device, the TCP entity determines whether the uplink message includes a Dup ACK message.
  • step S102 is performed
  • Step S102 The TCP entity determines whether the RLC layer has sent all the fragmented packets of the data packet corresponding to the Dup ACK message to the terminal device, and receives an acknowledgement message returned by the terminal device.
  • step S103 is performed.
  • the TCP entity further performs step S106.
  • processing of this step specifically includes:
  • the TCP entity determines a sequence number of a fragment packet that has been confirmed by the terminal device in each fragment packet of the data packet corresponding to the Dup ACK message.
  • the TCP entity determines whether the maximum value of the sequence number reaches the termination sequence number of the data packet corresponding to the Dup ACK message at the RLC layer.
  • the TCP entity confirms that the RLC layer has sent all the fragmented packets of the data packet corresponding to the Dup ACK message to the terminal device, and receives an acknowledgement message returned by the terminal device.
  • Step S103 The TCP entity counts and accumulates the Dup ACK message.
  • Step S104 The TCP entity determines whether the current count value of the Dup ACK message reaches 2.
  • step S105 If yes, proceed to step S105; If not, it indicates that the TCP entity does not need to perform retransmission processing for the data packet corresponding to the Dup ACK message, and returns to step S101.
  • the ACK message (including the Dup ACK message) and the RLC layer acknowledgment data (including the correct received acknowledgment message sent after the terminal device side receives the fragment packet in the data packet) are often in the same FP (Frame) In the Protocol, frame protocol, for this reason, if the count value of the Dup ACK message is set to 1 to trigger the packet retransmission, a large probability of repeated multiple transmission occurs. However, if the count value of the Dup ACK message is equal to 2, the data packet retransmission is triggered, indicating that the RLC layer has sent the data packet to the terminal device side and receives the terminal device when the Dup ACK message is received last time. Side confirmation.
  • Step S105 The TCP entity retransmits the data packet corresponding to the Dup ACK message, and sets the count value of the Dup ACK message to zero.
  • the TCP entity in the process of performing data packet retransmission, the TCP entity also needs to record the termination sequence number of the data packet that is retransmitted in the RLC layer, so as to use the termination sequence number as a subsequent processing. In the process, it is judged whether or not the data packet is retransmitted.
  • step S106 the retransmission processing of the data packet corresponding to the Dup ACK message is completed. After the execution of this step is completed, the process proceeds to step S106.
  • Step S106 The TCP entity sets the count value of the Dup ACK message to zero.
  • a new counting process can be started for the Dup ACK message to determine to perform a new retransmission process.
  • the TCP entity performs the process of retransmitting the data packet according to the Dup ACK message.
  • the TCP entity may also use other methods according to the preset rule (for example, processing according to the SACK message or other information). The subsequent processing is continued, and the specific processing manner is described in the following description, and details are not described herein again.
  • the process in which the TCP entity processes in other manners according to the preset rule is mentioned.
  • the preset rule corresponds to Processing can include multiple types, where The comprehensiveness and accuracy of the packet retransmission process can be handled in accordance with the SACK message. Specifically, when the TCP entity determines in step S101 that the uplink message does not include Dup
  • the following process includes performing the data packet retransmission process according to the SACK message, and the process flow diagram of the process is shown in FIG. 2. As shown, the following steps are specifically included:
  • Step S201 The TCP entity determines whether the uplink message received by itself is included in the uplink message.
  • step S202 is performed
  • Step S202 The TCP entity selects a corresponding data packet according to a sending sequence of each data packet corresponding to the SACK message.
  • Step S203 The TCP entity determines whether the RLC layer has sent all the fragmented packets of the currently selected data packet to the terminal device, and receives the acknowledgement message returned by the terminal device.
  • step S204 is performed
  • step S205 is performed.
  • the process of determining in this step is specifically as follows: the TCP entity determines, among the fragment packets of the currently selected data packet, the fragment packet that has been confirmed by the terminal device. serial number.
  • the TCP entity determines whether the maximum value of the sequence number reaches the termination sequence number of the currently selected data packet at the RLC layer.
  • the TCP entity confirms that the RLC layer has sent all the fragmented packets of the currently selected data packet to the terminal device, and receives an acknowledgement message returned by the terminal device.
  • Step S204 The TCP entity retransmits the currently selected data packet.
  • the TCP entity in the process of performing data packet retransmission, the TCP entity also needs to record the termination sequence number of the data packet that is retransmitted in the RLC layer, so as to use the termination sequence number as a subsequent processing. In the process, it is judged whether or not the data packet is retransmitted.
  • Step S205 the TCP entity confirms the SACK after the currently selected data packet Each packet corresponding to the message has not been sent.
  • the transmission status of subsequent data packets can be quickly determined, and the system resources and processing time caused by separately determining each data packet corresponding to the SACK message can be avoided, and the corresponding processing efficiency is improved.
  • the foregoing process of processing according to the SACK message may perform more comprehensive processing on the information returned by the terminal device on the basis of the foregoing retransmission process according to the Dup ACK message, thereby determining whether the data is more accurately determined. Retransmit the corresponding data packet.
  • the technical solution proposed by the embodiment of the present invention has the following advantages: In the case that the TCP entity receives the uplink message including the Dup ACK message sent by the terminal device, by applying the technical solution of the embodiment of the present invention, If the TCP entity determines that the RLC layer has sent all the fragmented packets of the data packet corresponding to the Dup ACK message to the terminal device, and receives the acknowledgement message returned by the terminal device, the Dup ACK message is counted and accumulated, and is counted.
  • the data packet corresponding to the Dup ACK message is retransmitted, so that the characteristics of the local buffering and retransmission of the TCP entity data can be flexibly utilized, and the Dup ACK of the terminal device is distinguished according to the characteristics of the reliable transmission of the RLC.
  • To achieve fast retransmission of TCP layer data accurately determine whether the data packet needs TCP layer retransmission on the wireless side of the TCP proxy, improve TCP performance and air interface resource utilization, and avoid unnecessary data retransmission. The system resources are wasted.
  • the technical solution proposed by the embodiment of the present invention is a feature of flexibly utilizing local buffering and retransmission of TCP entity data, and combining the characteristics of reliable transmission of RLC (Radio Link Layer) to perform Dup ACK message sent by the terminal device side. Screening to achieve fast retransmission of TCP layer data.
  • RLC Radio Link Layer
  • FIG. 3 is a schematic flowchart of a method for retransmitting a wireless side TCP data in a specific application scenario according to an embodiment of the present disclosure, where the method specifically includes the following steps:
  • Step S301 The TCP entity performs normal data packet transmission at the RLC layer.
  • the TCP entity records the sequence number of the last fragment packet of each packet at the RLC layer, that is, the aforementioned termination sequence number.
  • the processing of this step is actually:
  • the TCP layer sends the data packet to the RLC layer, and the RLC segments the data packet into a plurality of fragment packets, and records the sequence number (EndSn, that is, the foregoing termination sequence number) of the last fragment packet at the TCP layer.
  • Step S302 The TCP entity receives an ACK message sent by the terminal device, and determines whether it is Dup.
  • step S303 is performed
  • step S308 is performed.
  • Step S303 The TCP entity determines an EndSn of the data packet that needs to be retransmitted corresponding to the Dup ACK message, and a fragment packet sequence number AckSn of the data packet that has been confirmed by the terminal device received by the RLC layer.
  • Step S304 The TCP entity compares the determined maximum AckSn and EndSn.
  • step S305 is performed;
  • AckSn is smaller than the EndSn, it indicates that the TCP entity does not need to perform retransmission processing for the data packet corresponding to the Dup ACK message, and the processing of the Dup ACK message in the received ACK message ends, and the steps may be performed.
  • S308 performs SACK processing or performs other processing, and in Fig. 3, it indicates that other processing is performed.
  • Step S305 The TCP entity adds 1 to the Dup Ack variable corresponding to the Dup Ack message.
  • Step S306 The TCP entity determines whether the Dup Ack variable is equal to 2.
  • step S307 is performed
  • step S308 Processing or other processing is shown in Fig. 3 as performing other processing.
  • Step S307 The TCP entity retransmits the data packet to the RLC layer, and records the Sn of the last fragment packet of the newly transmitted data packet to update the EndSn of the data packet, and simultaneously clears the Dup Ack variable.
  • Step S308 is performed in one step.
  • Step S308 The TCP entity determines whether a SACK message is currently received.
  • step S309 is performed to perform a corresponding SACK processing flow
  • Step S309 The TCP entity selects a corresponding data packet according to the sending sequence of each data packet corresponding to the SACK message.
  • Step S310 The TCP entity determines the EndSn of the data packet, and the fragment packet sequence number AckSn of the data packet that has been confirmed by the terminal device received by the RLC layer.
  • Step S311 The TCP entity compares the determined maximum AckSn with the EndSn of the data packet.
  • step S312 is performed
  • step S314 is performed.
  • Step S312 The TCP entity retransmits the data packet.
  • the TCP entity in the process of performing data packet retransmission, the TCP entity also needs to record the termination sequence number of the data packet that is retransmitted in the RLC layer, so as to use the termination sequence number as a subsequent processing. In the process, it is judged whether or not the data packet is retransmitted.
  • Step S313 The TCP entity determines whether all the data packets that need to be retransmitted corresponding to the SACK message are selected.
  • step S309 If the result of the determination is no, then return to step S309;
  • Step S314 The TCP entity confirms that each data packet corresponding to the SACK message after the currently selected data packet has not been sent.
  • step S302 it continues to wait for the subsequent ACK message, or performs other processing operations according to the preset processing rule, and the change of the specific content of the other processing does not affect the protection scope of the present invention.
  • the technical solution proposed by the embodiment of the present invention has the following advantages: In the case that the TCP entity receives the uplink message including the Dup ACK message sent by the terminal device, by applying the technical solution of the embodiment of the present invention, If the TCP entity determines that the RLC layer has sent all the fragmented packets of the data packet corresponding to the Dup ACK message to the terminal device, and receives the acknowledgement message returned by the terminal device, the Dup ACK message is counted and accumulated, and is counted.
  • the data packet corresponding to the Dup ACK message is retransmitted, so that the characteristics of the local buffering and retransmission of the TCP entity data can be flexibly utilized, and the Dup ACK of the terminal device is distinguished according to the characteristics of the reliable transmission of the RLC.
  • To achieve fast retransmission of TCP layer data accurately determine whether the data packet needs TCP layer retransmission on the wireless side of the TCP proxy, improve TCP performance and air interface resource utilization, and avoid unnecessary data retransmission. The system resources are wasted.
  • the embodiment of the present invention further provides a network device, which is used as a TCP entity in a network system that has a TCP connection across a wireless network, and a schematic structural diagram thereof is shown in FIG. 4, which includes at least :
  • the receiving module 41 is configured to receive an uplink message sent by the terminal device.
  • the first determining module 42 is configured to determine whether the uplink message received by the receiving module 41 includes a Dup ACK message
  • the second judging module 43 is configured to: when the judgment result of the first judging module 42 is included, determine whether the RLC layer has sent all the fragment packets of the data packet corresponding to the Dup ACK message to the terminal device. Receiving an acknowledgement message returned by the terminal device;
  • the counting module 44 is configured to count and accumulate the Dup ACK message received by the receiving module 41 when the determination result of the second determining module 43 is YES;
  • the third determining module 45 is configured to determine whether the current count value of the Dup ACK message counted by the counting module 44 reaches 2;
  • the processing module 46 is configured to retransmit the data packet corresponding to the Dup ACK message when the determination result of the third determining module 45 is reached, and notify the counting module 44 to count the Dup ACK message. Zero.
  • the second determining module 43 is specifically configured as:
  • the RLC layer has sent all the fragment packets of the data packet corresponding to the Dup ACK message to the terminal device, and receives the acknowledgement message returned by the terminal device.
  • the counting module 44 is further configured to set the count value of the Dup ACK message to zero when the determination result of the second determining module 43 is negative.
  • the processing module 46 is further configured to record, in the process of retransmitting the data packet corresponding to the Dup ACK message, the termination sequence number of the data packet that is retransmitted at the RLC layer.
  • the network device further includes a fourth determining module 47, a selecting module 48, and a fifth determining module 49, wherein:
  • the fourth determining module 47 is configured to: after the first determining module 42 determines that the uplink message does not include a Dup ACK message, or the processing module 46 retransmits the data packet corresponding to the Dup ACK message, Determining whether the uplink message includes a SACK message;
  • the selecting module 48 is configured to select a corresponding data packet according to a sending sequence of each data packet corresponding to the SACK message when the determining result of the fourth determining module 47 is included; the fifth determining module 49.
  • the method is configured to determine whether the RLC layer has sent all the fragmented packets of the data packet currently selected by the selecting module 48 to the terminal device, and receives an acknowledgement message returned by the terminal device.
  • the processing module 46 is further configured to retransmit the currently selected data packet when the determination result of the fifth determining module 49 is YES.
  • the fifth determining module 49 is specifically configured as:
  • the RLC layer has sent all the fragmented packets of the currently selected data packet to the terminal device, and receives an acknowledgement message returned by the terminal device.
  • processing module 46 is further configured to: when the determination result of the fifth determining module 49 is negative, confirm each data corresponding to the SACK message after the data packet currently selected by the selecting module 48 None of the packages have been sent.
  • the processing module 46 is further configured to record, in the process of retransmitting the data packet currently selected by the selecting module 48, the termination sequence number of the data packet that is retransmitted in the RLC layer. .
  • the technical solution proposed by the embodiment of the present invention has the following advantages: In the case that the TCP entity receives the uplink message including the Dup ACK message sent by the terminal device, by applying the technical solution of the embodiment of the present invention, If the TCP entity determines that the RLC layer has sent all the fragmented packets of the data packet corresponding to the Dup ACK message to the terminal device, and receives the acknowledgement message returned by the terminal device, the Dup ACK message is counted and accumulated, and is counted.
  • the data packet corresponding to the Dup ACK message is retransmitted, so that the characteristics of the local buffering and retransmission of the TCP entity data can be flexibly utilized, and the Dup ACK of the terminal device is distinguished according to the characteristics of the reliable transmission of the RLC.
  • To achieve fast retransmission of TCP layer data accurately determine whether the data packet needs TCP layer retransmission on the wireless side of the TCP proxy, improve TCP performance and air interface resource utilization, and avoid unnecessary data retransmission. The system resources are wasted.
  • the technical solution of the embodiment of the present invention may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, a USB flash drive, a mobile hard disk, etc.). Including a plurality of instructions for causing a computer device (which may be a personal computer, a server, or a network side device, etc.) to perform the various implementation scenarios of the embodiments of the present invention. Methods.
  • modules in the apparatus in the implementation scenario may be distributed in the apparatus for implementing the scenario according to the implementation scenario description, or may be correspondingly changed in one or more devices different from the implementation scenario.
  • the modules of the above implementation scenarios may be combined into one module, or may be further split into multiple sub-modules.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明实施例公开了一种无线侧TCP数据重传的方法和设备,通过应用本发明实施例的技术方案,在TCP实体接收到终端设备发送的包含Dup ACK消息的上行消息的情况下,如果TCP实体判断RLC层已经将该Dup ACK消息所对应的数据包的所有分片包发送给终端设备,并接收到了终端设备返回的确认消息,则对该Dup ACK消息进行计数累加,并在计数值达到2时,重传该Dup ACK消息所对应的数据包,从而,可以灵活运用TCP实体数据本地缓冲及重传的特点,并结合RLC可靠传输的特性,对终端设备的Dup ACK进行甄别,实现TCP层数据的快速重传,在TCP代理的无线侧准确确定数据包是否需要TCP层的重传,提高了TCP的性能和空口资源利用率,避免了非必要的数据重传所带来的***资源浪费。

Description

无线侧 TCP数据重传的方法和设备 技术领域
本发明涉及通信技术领域, 特别涉及一种无线侧 TCP数据重传的方法和 设备。 背景技术
TCP ( Transmission Control Protocol,传输控制协议 )是一种面向连接 (连 接导向) 的、 可靠的、 基于字节流的运输层( Transport Layer )通信协议。
在具有 TCP代理功能的 RNC ( Radio Network Controller, 无线网络控制 器)或者有 TCP实体的 3G ( 3rd Generation, 第三代移动通信技术)终端的无 线侧, 由于空口丟包和非按序递交, 会导致终端收到大量的乱序包, 终端对 应的 TCP实体在收到乱序包后会发送 Dup ACK (重复确认 )或者 SACK (选 择性确认) , 表示丟失某个数据包。
其实, 这些包在空口被分成很多小包进行传输, 由于某个小包的丟弃, 导致整个大包不能递交给终端的 TCP实体,这时候终端的 TCP实体就会发送 Dup ACK或者 SACK, 要求 RNC侧的 TCP代理重传这包数据。 而小包丟失 后会在 RLC ( Radio Link Control, 无线链路控制 )层重传, 当重传的小包被 终端正确接收后, 整个大包就交给终端的 TCP层。
但是,如果这时候 RNC的 TCP层也重传了这包数据,就会导致这包在空 口中重复传输, 导致空口资源和带宽的浪费。
上述过程中, 通过 Dup ACK或者 SACK是 TCP协议告知发送端数据丟 失可以使用两种方式:
一种方式是连续收到 3个 Dup ACK(一共 4个 ACK具有相同的确认号), 表示确认号开始的数据包接收端没有收到; 另一种方式是 SACK直接告诉发 送端哪些数据收到了, 哪些数据没有收到。
对于未接收到的数据需要进行重传处理, 目前 TCP代理对重传的处理大 多是按照 TCP协议的重传机制或者对 TCP协议重传机制的改进, 包括: ( 1 ) TCP协议快速重传算法
如果发送方在重传计时器超时之前连续收到 3个 Dup ACK (一共 4个 ACK具有相同的确认号) , 则说明极有可能某一包数据已经丟失, 此时立即 启动快速重传算法, 也就是立即重传这一包数据。
( 2 )重传定时器
当 TCP发送一个报文段时, 会根据 RTT ( Round-Trip Time, 往返时间) 创建一个针对特定报文段的重传计时器。 如果在计时器截止时间之前收到对 这个报文段的确认, 则撤销这个定时器; 如果在计时器截止时间之前没有收 到对这个报文段的确认, 则重传这个报文段, 并清除定时器。
( 3 )次冪重传算法
这个算法是在快速重传算法上的改进, 如果重传计时器超时之前收到 3 个 Dup ACK (—共 4个 ACK具有相同的确认号) , 则立即重传这一包, 后 续继续收到 3个 Dup ACK, 不再重传, 直到收到 8个 ACK具有相同的确认 号,才重传这一包,后续收到 16个 ACK具有相同的确认号,才重传这一包 ... ... 从而, 避免后续不必要的多次重传。
在实现本发明的过程中, 发明人发现现有技术中至少存在以下问题: 以上三种方法, TCP协议快速重传算法和重传定时器是 TCP协议的一部 分, 次冪重传算法是基于快速重传算法的一种改进。 这些方法在解决无线侧 是否需要重传数据包的问题上有很大的局限性, 具体分析如下:
( 1 ) TCP协议快速重传算法, 这个是 TCP协议规定的实现方式, 这种 方式的弊端^ ί艮明显,在无线环境较差的情况下, TCP实体发送的数据包在 RLC 被分割成多个小包, 如果丟失其中的部分小包, 而重传这些小包的过程需要 一定的时间或者这些小包在空口反复的丟弃, 都会导致终端发送大量的 Dup ACK, 如果按照快速重传算法, 整个数据包被不停的发送, 浪费带宽和空口 的资源。
( 2 )重传定时器的方法在无线环境中具有局限性,主要是 RTT在空口是 一个变化很大的值, 根据以前的值预测往往不准。 如果 RTT时间预测短了, 会导致没必要的重传, 浪费带宽和空口资源; 如果 RTT时间预测长了, 首先 实时性较差, 其次发送窗满, 也会导致空口空闲, 导致空口资源不必要的浪 费。
( 3 ) 次冪重传算法是对 TCP协议快速重传算法的改进, 虽然可以减少 TCP 实体发送重复数据包的次数, 但是不能避免, 而且, 如果数据包再次丟 失了, 再次重传数据包的实时性较差。
综上所述, 这些方法都不可避免的带来空口带宽资源浪费的问题, 而且 还有可能引入实时性差等其他问题。 发明内容
本发明实施例提供一种无线侧 TCP数据重传的方法和设备, 解决现有的 技术方案中在存在跨无线网络 TCP连接的***中, 无法合理解决无线侧重传 处理, 造成***资源浪费的问题。
为达到上述目的, 本发明实施例一方面提供了一种无线侧 TCP数据重传 的方法, 至少包括以下步骤: 当 TCP实体接收到终端设备发送的上行消息时, 所述 TCP实体判断所述上行消息中是否包含 Dup ACK消息;如果包含,所述 TCP实体判断 RLC层是否已经将所述 Dup ACK消息所对应的数据包的所有 分片包发送给所述终端设备, 并接收到了所述终端设备返回的确认消息; 如 果判断结果为是, 所述 TCP实体对所述 Dup ACK消息进行计数累加; 所述 TCP实体判断所述 Dup ACK消息当前的计数值是否达到 2; 如果达到, 所述 TCP实体重传所述 Dup ACK消息所对应的数据包, 并将所述 Dup ACK消息 的计数值置零。
优选地, 所述 TCP实体判断 RLC层是否已经将所述 Dup ACK消息所对 应的数据包的所有分片包发送给所述终端设备, 并接收到了所述终端设备返 回的确认消息包括:所述 TCP实体确定所述 Dup ACK消息所对应的数据包的 各分片包中, 已经由所述终端设备确认的分片包的序列号; 所述 TCP实体判 断所述序列号的最大值是否达到所述 Dup ACK消息所对应的数据包在 RLC 层的终止序列号;如果达到,所述 TCP实体确认 RLC层已经将所述 Dup ACK 消息所对应的数据包的所有分片包发送给所述终端设备, 并接收到了所述终 端设备返回的确认消息。
优选地, 在所述 TCP实体判断 RLC层是否已经将所述 Dup ACK消息所 对应的数据包的所有分片包发送给所述终端设备, 并接收到了所述终端设备 返回的确认消息之后,还包括:如果判断结果为否,所述 TCP实体将所述 Dup ACK消息的计数值置零。
优选地,所述 TCP实体重传所述 Dup ACK消息所对应的数据包的过程中, 还包括: 所述 TCP实体记录进行重传的所述数据包在 RLC层的终止序列号。
优选地, 当所述 TCP实体判断所述上行消息中不包含 Dup ACK消息,或 所述 TCP实体重传所述 Dup ACK消息所对应的数据包之后, 还包括: 所述 TCP实体判断所述上行消息中是否包含 SACK消息; 如果包含, 所述 TCP实 体按照所述 SACK消息所对应的各数据包的发送顺序, 选择相应的数据包; 所述 TCP实体判断 RLC层是否已经将当前所选择的数据包的所有分片包发送 给所述终端设备, 并接收到了所述终端设备返回的确认消息; 如果判断结果 为是, 所述 TCP实体重传所述当前所选择的数据包。
优选地,所述 TCP实体判断 RLC层是否已经将当前所选择的数据包的所 有分片包发送给所述终端设备, 并接收到了所述终端设备返回的确认消息包 括: 所述 TCP实体确定所述当前所选择的数据包的各分片包中, 已经由所述 终端设备确认的分片包的序列号; 所述 TCP实体判断所述序列号的最大值是 否达到所述当前所选择的数据包在 RLC层的终止序列号;如果达到,所述 TCP 实体确认 RLC层已经将所述当前所选择的数据包的所有分片包发送给所述终 端设备, 并接收到了所述终端设备返回的确认消息。
优选地,所述 TCP实体判断 RLC层是否已经将当前所选择的数据包的所 有分片包发送给所述终端设备, 并接收到了所述终端设备返回的确认消息之 后, 还包括: 如果判断结果为否, 所述 TCP实体确认当前所选择的数据包之 后的所述 SACK消息所对应的各数据包均没有发送完毕。
优选地,所述 TCP实体重传所述当前所选择的数据包的过程中,还包括: 所述 TCP实体记录进行重传的所述数据包在 RLC层的终止序列号。 另一方面, 本发明实施例还提供了一种网络设备, 作为 TCP实体应用于 存在跨无线网络的 TCP连接的网络***中, 至少包括: 接收模块, 配置为接 收终端设备发送的上行消息; 第一判断模块, 配置为判断所述接收模块所接 收到的上行消息中是否包含 Dup ACK消息; 第二判断模块, 配置为在所述第 一判断模块的判断结果为包含时, 判断 RLC层是否已经将所述 Dup ACK消 息所对应的数据包的所有分片包发送给所述终端设备, 并接收到了所述终端 设备返回的确认消息; 计数模块, 配置为在所述第二判断模块的判断结果为 是时, 对所述接收模块所接收到的 Dup ACK消息进行计数累加; 第三判断模 块, 配置为判断所述计数模块所计数的 Dup ACK消息当前的计数值是否达到 2; 处理模块, 配置为在所述第三判断模块的判断结果为达到时, 重传所述 Dup ACK消息所对应的数据包,并通知所述计数模块将所述 Dup ACK消息的 计数值置零。
优选地, 所述第二判断模块, 配置为: 确定所述 Dup ACK消息所对应的 数据包的各分片包中, 已经由所述终端设备确认的分片包的序列号; 判断所 述序列号的最大值是否达到所述 Dup ACK消息所对应的数据包在 RLC层的 终止序列号; 如果达到, 确认 RLC层已经将所述 Dup ACK消息所对应的数 据包的所有分片包发送给所述终端设备, 并接收到了所述终端设备返回的确 认消息。
优选地, 所述计数模块, 还配置为在所述第二判断模块的判断结果为否 时, 将所述 Dup ACK消息的计数值置零。
优选地, 所述处理模块, 还配置为: 在重传所述 Dup ACK消息所对应的 数据包的过程中, 记录进行重传的所述数据包在 RLC层的终止序列号。
优选地, 还包括第四判断模块、 选择模块和第五判断模块; 其中, 所述 第四判断模块, 配置为在所述第一判断模块判断所述上行消息中不包含 Dup ACK消息,或所述处理模块重传所述 Dup ACK消息所对应的数据包之后,判 断所述上行消息中是否包含 SACK消息; 所述选择模块, 配置为在所述第四 判断模块的判断结果为包含时, 按照所述 SACK消息所对应的各数据包的发 送顺序, 选择相应的数据包; 所述第五判断模块, 配置为判断 RLC层是否已 经将所述选择模块当前所选择的数据包的所有分片包发送给所述终端设备, 并接收到了所述终端设备返回的确认消息; 所述处理模块, 还配置为在所述 第五判断模块的判断结果为是时, 重传所述当前所选择的数据包。
优选地, 所述第五判断模块, 配置为: 确定所述选择模块当前所选择的 数据包的各分片包中, 已经由所述终端设备确认的分片包的序列号; 判断所 述序列号的最大值是否达到所述当前所选择的数据包在 RLC 层的终止序列 号; 如果达到, 确认 RLC层已经将所述当前所选择的数据包的所有分片包发 送给所述终端设备, 并接收到了所述终端设备返回的确认消息。
优选地, 所述处理模块, 还配置为: 在所述第五判断模块的判断结果为 否时, 确认所述选择模块当前所选择的数据包之后的所述 SACK消息所对应 的各数据包均没有发送完毕。
优选地, 所述处理模块, 还配置为: 在重传所述选择模块当前所选择的 数据包的过程中, 记录进行重传的所述数据包在 RLC层的终止序列号。
与现有技术相比, 本发明实施例所提出的技术方案具有以下优点: 通过应用本发明实施例的技术方案, 在 TCP实体接收到终端设备发送的 包含 Dup ACK消息的上行消息的情况下, 如果 TCP实体判断 RLC层已经将 该 Dup ACK消息所对应的数据包的所有分片包发送给终端设备, 并接收到了 终端设备返回的确认消息, 则对该 Dup ACK消息进行计数累加, 并在计数值 达到 2时, 重传该 Dup ACK消息所对应的数据包, 从而, 可以灵活运用 TCP 实体数据本地緩冲及重传的特点, 并结合 RLC可靠传输的特性, 对终端设备 的 Dup ACK进行甄别, 实现 TCP层数据的快速重传, 在 TCP代理的无线侧 准确确定数据包是否需要 TCP层的重传,提高了 TCP的性能和空口资源利用 率, 避免了非必要的数据重传所带来的***资源浪费。 附图说明
图 1为本发明实施例所提出的一种无线侧 TCP数据重传的方法的流程示 意图;
图 2为本发明实施例所提出的一种无线侧 TCP数据重传的方法中的根据 SACK消息进行数据包重传处理的流程示意图;
图 3为本发明实施例所提出的一种具体场景中的无线侧 TCP数据重传的 方法的流程示意图;
图 4为本发明实施例提出的一种网络设备的结构示意图。 具体实施方式
如背景技术所述, TCP是为有线网络 Internet而研究、 开发出来的可靠的 传输协议。 有线网络的传输特性是低误码率、 易拥塞性, 因此, 它的传输控 制算法主要是基于网络的拥塞模型而设计的。
但是, 当一个 TCP连接跨越了有线和无线两个网络时, TCP将不能适应无 线传输信道的高误码率、 高时延抖动、 小区切换、 乱序等特性, 引起错误的 慢启动、拥塞避免和重传, 当空口质量迅速恢复的时候, TCP数据不能及时传 输, 造成带宽资源利用率降低、 有效带宽下降和吞吐波动等现象。
为了提升上述跨越无线网络 TCP连接的传输性能,现有技术中比较通用的 做法是在 RNC侧设置 TCP代理, 通过本地緩存、 排序、 流量控制、 本地重传、 抑制 Dup ACK等机制来增强无线侧传输的性能。
但是, 在无线环境中, 由于空口环境变化大, 会导致很多的乱序包, 这 些包的重传可以在 RLC解决,如果在 TCP层重传, 会导致空口资源不必要的浪 费。
为了克服这样的缺陷, 本发明实施例提出了一种无线侧 TCP数据重传的 方法,主要解决在 TCP代理的无线侧如何确定数据包是否需要 TCP层的重传, 以提高 TCP的性能和空口资源利用率的问题。
如图 1所示, 为本发明实施例所提出的一种无线侧 TCP数据重传的方法 的流程示意图, 该方法具体包括以下步骤:
步骤 S101、 当 TCP 实体接收到终端设备发送的上行消息时, 所述 TCP 实体判断所述上行消息中是否包含 Dup ACK消息。
如果包含, 则执行步骤 S102;
如果不包含, 则按照预设规则釆用其它方式(例如, 根据 SACK消息或 者其他信息进行处理)进行相应的处理, 具体的处理方式在后续说明中进行 描述, 在此不再赘述。
步骤 S102、所述 TCP实体判断 RLC层是否已经将所述 Dup ACK消息所 对应的数据包的所有分片包发送给所述终端设备, 并接收到了所述终端设备 返回的确认消息。
如果判断结果为是, 则表示相应的数据包已经在 RLC层发送完毕, 但是 终端设备侧并没有正确接收, 可能需要进行相应的重传处理, 需要通过后续 过程进行判断, 因此, 执行步骤 S 103;
如果判断结果为否, 则表示相应的数据包在 RLC层中还没有发送完毕, 或者, 虽然 RLC已经发送, 但是暂时还没有收到终端设备侧返回的正确接收 的确认消息, 相应的 Dup ACK消息所提出的重传请求有可能随着数据包完成 发送并接收到终端设备的确认而解决, 因此, 可以暂时进行相应的重传处理, 在本实施例中, TCP实体进一步执行步骤 S106。
在实际的应用场景中, 本步骤的处理具体包括:
( 1 )所述 TCP实体确定所述 Dup ACK消息所对应的数据包的各分片包 中, 已经由所述终端设备确认的分片包的序列号。
( 2 )所述 TCP实体判断所述序列号的最大值是否达到所述 Dup ACK消 息所对应的数据包在 RLC层的终止序列号。
如果达到, 所述 TCP实体确认 RLC层已经将所述 Dup ACK消息所对应 的数据包的所有分片包发送给所述终端设备, 并接收到了所述终端设备返回 的确认消息。
相反,如果没有达到,则表示相应的数据包在 RLC层中还没有发送完毕, 或者, 虽然 RLC已经发送, 但是暂时还没有收到终端设备侧返回的正确接收 的确认消息。
步骤 S103、 所述 TCP实体对所述 Dup ACK消息进行计数累加。
步骤 S 104、 所述 TCP实体判断所述 Dup ACK消息当前的计数值是否达 到 2。
如果达到, 则执行步骤 S105; 如果没有达到,则表示 TCP实体对于该 Dup ACK消息所对应的数据包暂 时不需要进行重传处理, 返回步骤 S101。
需要说明的是, 在本实施例中, 釆用 Dup ACK消息的计数值等于 2的依 据作为数据包重传的触发条件的思想在于:
在上行数据中, ACK消息(包括 Dup ACK消息)和 RLC层确认数据 (包 括终端设备侧接收到数据包中的分片包后所发送的正确接收的确认消息) 经 常会在同一个 FP ( Frame Protocol, 帧协议)帧中, 基于这样的原因, 如果设 置 Dup ACK消息的计数值等于 1即触发数据包重传, 则会出现很大概率的重 复多发。 但是, 如果 Dup ACK消息的计数值等于 2才触发数据包重传, 则说 明在上次收到到 Dup ACK消息时, RLC层已经将该数据包全部发送给终端设 备侧, 并收到终端设备侧的确认。
步骤 S105、 所述 TCP实体重传所述 Dup ACK消息所对应的数据包, 并 将所述 Dup ACK消息的计数值置零。
在实际的应用场景中, 所述 TCP实体在进行数据包重传的过程中, 还需 要记录进行重传的所述数据包在 RLC层的终止序列号, 以便将该终止序列号 作为在后续处理过程中判断是否对该数据包是否进行重传处理的依据。
通过这样的处理,完成了对该 Dup ACK消息所对应的数据包的重传处理 , 本步骤执行完成后, 继续执行步骤 S106。
步骤 S106、 所述 TCP实体将所述 Dup ACK消息的计数值置零。
将 Dup ACK消息的计数值置零后, 可以对该 Dup ACK消息开始新的计 数过程, 以便确定执行新的重传处理过程。
需要进一步说明的是, TCP实体完成根据 Dup ACK消息进行数据包重传 的处理过程, 在此基础上, TCP 实体还可以按照预设规则釆用其它方式(例 如, 根据 SACK消息或者其他信息进行处理)继续进行后续的处理, 具体的 处理方式在后续说明中进行描述, 在此不再赘述。
需要说明的是, 在步骤 S101判断结果为否, 以及步骤 S106完成之后, 均提到了 TCP实体按照预设规则釆用其它方式进行处理的过程, 在实际应用 中, 这样的预设规则所对应的处理过程可以包括多种类型, 其中, 为了提高 数据包重传过程的全面性和准确性, 可以根据 SACK消息进行这样的处理。 具体地,当所述 TCP实体在步骤 S101中判断所述上行消息中不包含 Dup
ACK消息,或所述 TCP实体在步骤 S105中重传所述 Dup ACK消息所对应的 数据包之后, 还包括以下的根据 SACK消息进行数据包重传处理的过程, 该 过程的流程示意图如图 2所示, 具体包括以下步骤:
步骤 S201、 所述 TCP 实体判断自身所接收到的上行消息中是否包含
SACK消息。
如果包含, 则执行步骤 S202;
如果不包含, 则进行其他处理或者直接停止当前的数据包重传处理。 步骤 S202、所述 TCP实体按照所述 SACK消息所对应的各数据包的发送 顺序, 选择相应的数据包。
步骤 S203、 所述 TCP实体判断 RLC层是否已经将当前所选择的数据包 的所有分片包发送给所述终端设备, 并接收到了所述终端设备返回的确认消 息。
如果判断结果为是, 则执行步骤 S204;
如果判断结果为否, 则执行步骤 S205。
与前述的步骤 S102相类似, 本步骤中进行判断的过程具体如下: 所述 TCP实体确定所述当前所选择的数据包的各分片包中, 已经由所述 终端设备确认的分片包的序列号。
所述 TCP实体判断所述序列号的最大值是否达到所述当前所选择的数据 包在 RLC层的终止序列号。
如果达到,所述 TCP实体确认 RLC层已经将所述当前所选择的数据包的 所有分片包发送给所述终端设备, 并接收到了所述终端设备返回的确认消息。
步骤 S204、 所述 TCP实体重传所述当前所选择的数据包。
在实际的应用场景中, 所述 TCP实体在进行数据包重传的过程中, 还需 要记录进行重传的所述数据包在 RLC层的终止序列号, 以便将该终止序列号 作为在后续处理过程中判断是否对该数据包是否进行重传处理的依据。
步骤 S205、所述 TCP实体确认当前所选择的数据包之后的所述 SACK消 息所对应的各数据包均没有发送完毕。
通过本步骤,可以快速的确定后续数据包的发送状态,避免分别对 SACK 消息所对应的每个数据包进行分别判断所带来的***资源和处理时间的消 耗, 提高相应的处理效率。
需要说明的是, 上述的根据 SACK消息进行处理的过程可以在前述的根 据 Dup ACK消息进行重传处理的基础上, 对终端设备侧返回的信息进行更加 全面的处理, 从而, 更加准确的确定是否对相应的数据包进行重传处理。
与现有技术相比, 本发明实施例所提出的技术方案具有以下优点: 通过应用本发明实施例的技术方案, 在 TCP实体接收到终端设备发送的 包含 Dup ACK消息的上行消息的情况下, 如果 TCP实体判断 RLC层已经将 该 Dup ACK消息所对应的数据包的所有分片包发送给终端设备, 并接收到了 终端设备返回的确认消息, 则对该 Dup ACK消息进行计数累加, 并在计数值 达到 2时, 重传该 Dup ACK消息所对应的数据包, 从而, 可以灵活运用 TCP 实体数据本地緩冲及重传的特点, 并结合 RLC可靠传输的特性, 对终端设备 的 Dup ACK进行甄别, 实现 TCP层数据的快速重传, 在 TCP代理的无线侧 准确确定数据包是否需要 TCP层的重传,提高了 TCP的性能和空口资源利用 率, 避免了非必要的数据重传所带来的***资源浪费。 下面, 结合具体的应用场景, 对本发明实施例所提出的技术方案进行说 明。
本发明实施例所提出的技术方案是一种灵活运用 TCP实体数据本地緩冲 及重传的特点, 并结合 RLC (无线链路层)可靠传输的特性, 对终端设备侧 发送的 Dup ACK消息进行甄别, 以实现快速重传 TCP层数据的方法。
如图 3所示,为本发明实施例所提出的一种具体应用场景下的无线侧 TCP 数据重传的方法的流程示意图, 该方法具体包括以下步骤:
步骤 S301、 TCP实体在 RLC层进行正常的数据包发送。
在此过程中, TCP实体记录下每个数据包在 RLC层最后一个分片包的序 列号, 即前述的终止序列号。 在实际的应用场景中, 本步骤的处理过程实际为:
TCP层将数据包发送给 RLC层, RLC将数据包分段形成多个分片包, 并 将最后一个分片包的序列号 (EndSn, 即前述的终止序列号)在 TCP层记录 下来。
步骤 S302、 TCP实体接收到终端设备发送的 ACK消息,判断是否是 Dup
ACK消息。
如果判断结果为是, 则执行步骤 S303;
如果判断结果为否, 则执行步骤 S308。
步骤 S303、 TCP实体确定该 Dup ACK消息所对应的需要重传的数据包 的 EndSn, 以及 RLC层收到的终端设备已经确认的该数据包的分片包序列号 AckSn。
步骤 S304、 TCP实体将所确定的最大的 AckSn和 EndSn进行比较。
如果该 AckSn大于等于 EndSn, 则执行步骤 S305;
如果该 AckSn小于 EndSn, 则表示 TCP实体对于该 Dup ACK消息所对 应的数据包暂时不需要进行重传处理,对本次所接收到的 ACK消息中的 Dup ACK消息的处理过程结束, 可以执行步骤 S308进行 SACK处理, 或者进行 其他处理, 在图 3中, 表示为进行其他处理。
步骤 S305、 TCP实体将该 Dup Ack消息所对应的 Dup Ack变量加 1。 步骤 S306、 TCP实体判断该 Dup Ack变量是否等于 2。
如果是, 则执行步骤 S307;
如果否,则表示 TCP实体对于该 Dup ACK消息所对应的数据包暂时不需 要进行重传处理, 对本次所接收到的 ACK消息中的 Dup ACK消息的处理过 程结束,可以执行步骤 S308进行 SACK处理,或者进行其他处理,在图 3中, 表示为进行其他处理。
步骤 S307、 TCP实体重发该数据包给 RLC层, 并记录新发送数据包的最 后一个分片包的 Sn, 以更新该数据包的 EndSn, 同时, 将该 Dup Ack变量清 令。
本步骤执行完成后, 为了实现更加准确和全面的数据重传处理, 可以进 一步执行步骤 S308。
步骤 S308、 TCP实体判断当前是否接收到 SACK消息。
如果有, 则执行步骤 S309, 进行相应的转 SACK处理流程;
如果没有, 则表示 TCP实体不需要根据 SACK消息对相应的数据包进行 重传处理, 在实际的应用场景中, 此种情况下, 可以进行其他处理。
步骤 S309、 TCP实体按照所述 SACK消息所对应的各数据包的发送顺序, 选择相应的数据包。
步骤 S310、 TCP实体确定该数据包的 EndSn, 以及 RLC层收到的终端设 备已经确认的该数据包的分片包序列号 AckSn。
步骤 S311、 TCP实体将所确定的最大的 AckSn和该数据包的 EndSn进行 比较。
如果该 AckSn大于等于 EndSn, 则执行步骤 S312;
如果该 AckSn小于 EndSn, 则执行步骤 S314。
步骤 S312、 TCP实体重传该数据包。
在实际的应用场景中, 所述 TCP实体在进行数据包重传的过程中, 还需 要记录进行重传的所述数据包在 RLC层的终止序列号, 以便将该终止序列号 作为在后续处理过程中判断是否对该数据包是否进行重传处理的依据。
本步骤执行完成后, 继续执行步骤 S313。
步骤 S313、 TCP实体判断 SACK消息对应的需要重传的数据包是否全部 选择完毕。
如果判断结果为否, 则返回步骤 S309;
如果判断结果为是, 则执行其他处理。
步骤 S314、 TCP实体确认当前所选择的数据包之后的 SACK消息所对应 的各数据包均没有发送完毕。
本步骤完成后, 直接执行其他处理。
通过本步骤,可以快速的确定后续数据包的发送状态,避免分别对 SACK 消息所对应的每个数据包进行分别判断所带来的***资源和处理时间的消 耗, 提高相应的处理效率。 需要说明的是, 在实际的应用场景中, 上述的各步骤中所提及的其他处 理, 可以包括:
返回步骤 S302继续等待后续的 ACK消息, 或者按照预设的处理规则进 行其他处理操作, 该其他处理具体内容的变化并不会影响本发明的保护范围。
与现有技术相比, 本发明实施例所提出的技术方案具有以下优点: 通过应用本发明实施例的技术方案, 在 TCP实体接收到终端设备发送的 包含 Dup ACK消息的上行消息的情况下, 如果 TCP实体判断 RLC层已经将 该 Dup ACK消息所对应的数据包的所有分片包发送给终端设备, 并接收到了 终端设备返回的确认消息, 则对该 Dup ACK消息进行计数累加, 并在计数值 达到 2时, 重传该 Dup ACK消息所对应的数据包, 从而, 可以灵活运用 TCP 实体数据本地緩冲及重传的特点, 并结合 RLC可靠传输的特性, 对终端设备 的 Dup ACK进行甄别, 实现 TCP层数据的快速重传, 在 TCP代理的无线侧 准确确定数据包是否需要 TCP层的重传,提高了 TCP的性能和空口资源利用 率, 避免了非必要的数据重传所带来的***资源浪费。 为了实现本发明实施例的技术方案, 本发明实施例还提供了一种网络设 备, 作为 TCP实体应用于存在跨无线网络的 TCP连接的网络***中, 其结构 示意图如图 4所示, 至少包括:
接收模块 41 , 配置为接收终端设备发送的上行消息;
第一判断模块 42,配置为判断所述接收模块 41所接收到的上行消息中是 否包含 Dup ACK消息;
第二判断模块 43 , 配置为在所述第一判断模块 42的判断结果为包含时, 判断 RLC层是否已经将所述 Dup ACK消息所对应的数据包的所有分片包发 送给所述终端设备, 并接收到了所述终端设备返回的确认消息;
计数模块 44, 配置为在所述第二判断模块 43的判断结果为是时, 对所述 接收模块 41所接收到的 Dup ACK消息进行计数累加;
第三判断模块 45, 配置为判断所述计数模块 44所计数的 Dup ACK消息 当前的计数值是否达到 2; 处理模块 46, 配置为在所述第三判断模块 45的判断结果为达到时, 重传 所述 Dup ACK消息所对应的数据包,并通知所述计数模块 44将所述 Dup ACK 消息的计数值置零。
其中, 所述第二判断模块 43 , 具体配置为:
确定所述 Dup ACK消息所对应的数据包的各分片包中, 已经由所述终端 设备确认的分片包的序列号;
判断所述序列号的最大值是否达到所述 Dup ACK消息所对应的数据包在 RLC层的终止序列号;
如果达到, 确认 RLC层已经将所述 Dup ACK消息所对应的数据包的所 有分片包发送给所述终端设备, 并接收到了所述终端设备返回的确认消息。
进一步地, 所述计数模块 44, 还配置为在所述第二判断模块 43的判断结 果为否时, 将所述 Dup ACK消息的计数值置零。
需要说明的是, 所述处理模块 46,还配置为在重传所述 Dup ACK消息所 对应的数据包的过程中,记录进行重传的所述数据包在 RLC层的终止序列号。
另一方面, 该网络设备还包括第四判断模块 47、选择模块 48和第五判断 模块 49, 其中:
所述第四判断模块 47,配置为在所述第一判断模块 42判断所述上行消息 中不包含 Dup ACK消息, 或所述处理模块 46重传所述 Dup ACK消息所对应 的数据包之后, 判断所述上行消息中是否包含 SACK消息;
所述选择模块 48, 配置为在所述第四判断模块 47的判断结果为包含时, 按照所述 SACK消息所对应的各数据包的发送顺序, 选择相应的数据包; 所述第五判断模块 49, 配置为判断 RLC层是否已经将所述选择模块 48 当前所选择的数据包的所有分片包发送给所述终端设备, 并接收到了所述终 端设备返回的确认消息;
所述处理模块 46, 还配置为在所述第五判断模块 49的判断结果为是时, 重传所述当前所选择的数据包。
其中, 所述第五判断模块 49, 具体配置为:
确定所述选择模块 48当前所选择的数据包的各分片包中, 已经由所述终 端设备确认的分片包的序列号;
判断所述序列号的最大值是否达到所述当前所选择的数据包在 RLC层的 终止序列号;
如果达到, 确认 RLC层已经将所述当前所选择的数据包的所有分片包发 送给所述终端设备, 并接收到了所述终端设备返回的确认消息。
进一步地, 所述处理模块 46, 还配置为在所述第五判断模块 49的判断结 果为否时,确认所述选择模块 48当前所选择的数据包之后的所述 SACK消息 所对应的各数据包均没有发送完毕。
在实际的应用场景中, 所述处理模块 46, 还配置为在重传所述选择模块 48当前所选择的数据包的过程中,记录进行重传的所述数据包在 RLC层的终 止序列号。
与现有技术相比, 本发明实施例所提出的技术方案具有以下优点: 通过应用本发明实施例的技术方案, 在 TCP实体接收到终端设备发送的 包含 Dup ACK消息的上行消息的情况下, 如果 TCP实体判断 RLC层已经将 该 Dup ACK消息所对应的数据包的所有分片包发送给终端设备, 并接收到了 终端设备返回的确认消息, 则对该 Dup ACK消息进行计数累加, 并在计数值 达到 2时, 重传该 Dup ACK消息所对应的数据包, 从而, 可以灵活运用 TCP 实体数据本地緩冲及重传的特点, 并结合 RLC可靠传输的特性, 对终端设备 的 Dup ACK进行甄别, 实现 TCP层数据的快速重传, 在 TCP代理的无线侧 准确确定数据包是否需要 TCP层的重传,提高了 TCP的性能和空口资源利用 率, 避免了非必要的数据重传所带来的***资源浪费。 通过以上的实施方式的描述, 本领域的技术人员可以清楚地了解到本发 明实施例可以通过硬件实现, 也可以借助软件加必要的通用硬件平台的方式 来实现。 基于这样的理解, 本发明实施例的技术方案可以以软件产品的形式 体现出来, 该软件产品可以存储在一个非易失性存储介质(可以是 CD-ROM, U盘, 移动硬盘等) 中, 包括若干指令用以使得一台计算机设备(可以是个 人计算机, 服务器, 或网络侧设备等)执行本发明实施例各个实施场景所述 的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图, 附图中 的模块或流程并不一定是实施本发明实施例所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景 描述进行分布于实施场景的装置中, 也可以进行相应变化位于不同于本实施 场景的一个或多个装置中。 上述实施场景的模块可以合并为一个模块, 也可 以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述, 不代表实施场景的优劣。 例并非局限于此, 任何本领域的技术人员能思之的变化都应落入本发明实施 例的业务限制范围。

Claims

权 利 要 求 书
1.一种无线侧 TCP数据重传的方法, 包括以下步骤:
当 TCP实体接收到终端设备发送的上行消息时,所述 TCP实体判断所述上行消息中是 否包含 Dup ACK消息;
如果包含, 所述 TCP实体判断 RLC层是否已经将所述 Dup ACK消息所对应的数据包的 所有分片包发送给所述终端设备, 并接收到了所述终端设备返回的确认消息;
如果判断结果为是, 所述 TCP实体对所述 Dup ACK消息进行计数累加;
所述 TCP实体判断所述 Dup ACK消息当前的计数值是否达到 2;
如果达到, 所述 TCP实体重传所述 Dup ACK消息所对应的数据包, 并将所述 Dup ACK 消息的计数值置零。
2.如权利要求 1所述的方法,其中,所述 TCP实体判断 RLC层是否已经将所述 Dup ACK 消息所对应的数据包的所有分片包发送给所述终端设备, 并接收到了所述终端设备返回的 确认消息包括:
所述 TCP实体确定所述 Dup ACK消息所对应的数据包的各分片包中, 已经由所述终端 设备确认的分片包的序列号;
所述 TCP实体判断所述序列号的最大值是否达到所述 Dup ACK消息所对应的数据包在
RLC层的终止序列号;
如果达到, 所述 TCP实体确认 RLC层已经将所述 Dup ACK消息所对应的数据包的所有 分片包发送给所述终端设备, 并接收到了所述终端设备返回的确认消息。
3.如权利要求 1所述的方法,其中,在所述 TCP实体判断 RLC层是否已经将所述 Dup ACK 消息所对应的数据包的所有分片包发送给所述终端设备, 并接收到了所述终端设备返回的 确认消息之后, 还包括:
如果判断结果为否, 所述 TCP实体将所述 Dup ACK消息的计数值置零。
4.如权利要求 1所述的方法, 其中, 所述 TCP实体重传所述 Dup ACK消息所对应的数 据包的过程中, 还包括:
所述 TCP实体记录进行重传的所述数据包在 RLC层的终止序列号。
5.如权利要求 1所述的方法, 其中, 当所述 TCP实体判断所述上行消息中不包含 Dup ACK消息, 或所述 TCP实体重传所述 Dup ACK消息所对应的数据包之后, 还包括:
所述 TCP实体判断所述上行消息中是否包含 SACK消息; 如果包含, 所述 TCP实体按照所述 SACK消息所对应的各数据包的发送顺序, 选择相 应的数据包;
所述 TCP实体判断 RLC层是否已经将当前所选择的数据包的所有分片包发送给所述终 端设备, 并接收到了所述终端设备返回的确认消息;
如果判断结果为是, 所述 TCP实体重传所述当前所选择的数据包。
6.如权利要求 5所述的方法, 其中, 所述 TCP实体判断 RLC层是否已经将当前所选择 的数据包的所有分片包发送给所述终端设备,并接收到了所述终端设备返回的确认消息包 括:
所述 TCP实体确定所述当前所选择的数据包的各分片包中, 已经由所述终端设备确认 的分片包的序列号;
所述 TCP实体判断所述序列号的最大值是否达到所述当前所选择的数据包在 RLC层的 终止序列号;
如果达到,所述 TCP实体确认 RLC层已经将所述当前所选择的数据包的所有分片包发 送给所述终端设备, 并接收到了所述终端设备返回的确认消息。
7.如权利要求 5所述的方法, 其中, 所述 TCP实体判断 RLC层是否已经将当前所选择 的数据包的所有分片包发送给所述终端设备,并接收到了所述终端设备返回的确认消息之 后, 还包括:
如果判断结果为否, 所述 TCP实体确认当前所选择的数据包之后的所述 SACK消息所 对应的各数据包均没有发送完毕。
8.如权利要求 5所述的方法, 其中, 所述 TCP实体重传所述当前所选择的数据包的过 程中, 还包括:
所述 TCP实体记录进行重传的所述数据包在 RLC层的终止序列号。
9.一种网络设备, 作为 TCP实体应用于存在跨无线网络的 TCP连接的网络***中, 其 中, 所述网络设备包括:
接收模块, 配置为接收终端设备发送的上行消息;
第一判断模块, 配置为判断所述接收模块所接收到的上行消息中是否包含 Dup ACK消 息; 第二判断模块, 配置为在所述第一判断模块的判断结果为包含时, 判断 RLC层是否已 经将所述 Dup ACK消息所对应的数据包的所有分片包发送给所述终端设备, 并接收到了所 述终端设备返回的确认消息;
计数模块, 配置为在所述第二判断模块的判断结果为是时, 对所述接收模块所接收到 的 Dup ACK消息进行计数累加;
第三判断模块, 配置为判断所述计数模块所计数的 Dup ACK消息当前的计数值是否达 到 2;
处理模块, 配置为在所述第三判断模块的判断结果为达到时, 重传所述 Dup ACK消息 所对应的数据包, 并通知所述计数模块将所述 Dup ACK消息的计数值置零。
10.如权利要求 9所述的网络设备, 其中, 所述第二判断模块, 配置为:
确定所述 Dup ACK消息所对应的数据包的各分片包中, 已经由所述终端设备确认的分 片包的序列号;
判断所述序列号的最大值是否达到所述 Dup ACK消息所对应的数据包在 RLC层的终止 序列号;
如果达到, 确认 RLC层已经将所述 Dup ACK消息所对应的数据包的所有分片包发送给 所述终端设备, 并接收到了所述终端设备返回的确认消息。
11.如权利要求 9所述的网络设备, 其中, 所述计数模块, 还配置为在所述第二判断 模块的判断结果为否时, 将所述 Dup ACK消息的计数值置零。
12.如权利要求 9所述的网络设备, 其中, 所述处理模块, 还配置为:
在重传所述 Dup ACK消息所对应的数据包的过程中,记录进行重传的所述数据包在 RLC 层的终止序列号。
13.如权利要求 9所述的网络设备, 其中, 还包括第四判断模块、 选择模块和第五判 断模块;
其中,
所述第四判断模块, 配置为在所述第一判断模块判断所述上行消息中不包含 Dup ACK 消息, 或所述处理模块重传所述 Dup ACK消息所对应的数据包之后, 判断所述上行消息中 是否包含 SACK消息;
所述选择模块, 配置为在所述第四判断模块的判断结果为包含时, 按照所述 SACK消 息所对应的各数据包的发送顺序, 选择相应的数据包;
所述第五判断模块,配置为判断 RLC层是否已经将所述选择模块当前所选择的数据包 的所有分片包发送给所述终端设备, 并接收到了所述终端设备返回的确认消息;
所述处理模块, 还配置为在所述第五判断模块的判断结果为是时, 重传所述当前所选 择的数据包。
14.如权利要求 13所述的网络设备, 其中, 所述第五判断模块, 配置为:
确定所述选择模块当前所选择的数据包的各分片包中, 已经由所述终端设备确认的分 片包的序列号;
判断所述序列号的最大值是否达到所述当前所选择的数据包在 RLC层的终止序列号; 如果达到,确认 RLC层已经将所述当前所选择的数据包的所有分片包发送给所述终端 设备, 并接收到了所述终端设备返回的确认消息。
15.如权利要求 13所述的网络设备, 其中, 所述处理模块, 还配置为:
在所述第五判断模块的判断结果为否时,确认所述选择模块当前所选择的数据包之后 的所述 SACK消息所对应的各数据包均没有发送完毕。
16.如权利要求 13所述的网络设备, 其中, 所述处理模块, 还配置为:
在重传所述选择模块当前所选择的数据包的过程中, 记录进行重传的所述数据包在 RLC层的终止序列号。
PCT/CN2012/085231 2012-04-28 2012-11-26 无线侧tcp数据重传的方法和设备 WO2013159516A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210129854.0 2012-04-28
CN201210129854.0A CN102664718B (zh) 2012-04-28 2012-04-28 无线侧tcp数据重传的方法和设备

Publications (1)

Publication Number Publication Date
WO2013159516A1 true WO2013159516A1 (zh) 2013-10-31

Family

ID=46774141

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/085231 WO2013159516A1 (zh) 2012-04-28 2012-11-26 无线侧tcp数据重传的方法和设备

Country Status (2)

Country Link
CN (1) CN102664718B (zh)
WO (1) WO2013159516A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018137449A1 (en) * 2017-01-30 2018-08-02 Huawei Technologies Co., Ltd. Controlling tcp data transmission

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102664718B (zh) * 2012-04-28 2015-09-09 大唐移动通信设备有限公司 无线侧tcp数据重传的方法和设备
US9584384B2 (en) 2012-09-19 2017-02-28 Intel Corporation Methods for retransmitting reverse link data and apparatuses using the same
WO2014117359A1 (zh) * 2013-01-31 2014-08-07 华为技术有限公司 反馈丢包的消息处理方法及装置
WO2017107148A1 (zh) * 2015-12-24 2017-06-29 华为技术有限公司 一种数据传输方法及网络侧设备
CN107040343A (zh) * 2016-02-03 2017-08-11 ***通信集团公司 一种重传调度方法及装置
CN107454626B (zh) * 2016-05-31 2020-06-05 ***通信有限公司研究院 一种信息发送方法、无线网络设备及终端
EP3506540A4 (en) * 2016-09-28 2019-09-18 Huawei Technologies Co., Ltd. DATA TRANSMISSION METHOD, NETWORK DEVICE, AND TERMINAL DEVICE
CN108234087B (zh) * 2016-12-22 2021-08-03 华为技术有限公司 数据传输方法及发送端
KR20190105061A (ko) * 2017-01-24 2019-09-11 후아웨이 테크놀러지 컴퍼니 리미티드 데이터를 송신하는 방법과 데이터 송신 장치, 및 고객 댁내 장치
CN109905209B (zh) * 2017-12-07 2020-12-29 网宿科技股份有限公司 一种设置网络乱序值的方法和装置
CN114710446B (zh) * 2022-03-23 2024-04-26 维沃移动通信有限公司 数据传输方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101141405A (zh) * 2007-10-17 2008-03-12 华为技术有限公司 无线网络数据传输方法及无线网络控制器
CN101547192A (zh) * 2008-03-24 2009-09-30 大唐移动通信设备有限公司 一种分发传输tcp数据包的方法及装置
CN101631065A (zh) * 2008-07-16 2010-01-20 华为技术有限公司 一种无线多跳网络拥塞的控制方法和装置
CN102355462A (zh) * 2011-10-09 2012-02-15 大唐移动通信设备有限公司 一种实现tcp传输的方法及装置
CN102664718A (zh) * 2012-04-28 2012-09-12 大唐移动通信设备有限公司 无线侧tcp数据重传的方法和设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7593338B2 (en) * 2003-06-27 2009-09-22 Samsung Electronics Co., Ltd. Congestion control method and system for reducing a retransmission timeout count in a transmission control protocol
CN101119183A (zh) * 2007-09-06 2008-02-06 上海华为技术有限公司 重传控制方法及传输设备
CN102098150B (zh) * 2009-12-10 2014-10-22 中兴通讯股份有限公司 接收确认处理方法和基站

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101141405A (zh) * 2007-10-17 2008-03-12 华为技术有限公司 无线网络数据传输方法及无线网络控制器
CN101547192A (zh) * 2008-03-24 2009-09-30 大唐移动通信设备有限公司 一种分发传输tcp数据包的方法及装置
CN101631065A (zh) * 2008-07-16 2010-01-20 华为技术有限公司 一种无线多跳网络拥塞的控制方法和装置
CN102355462A (zh) * 2011-10-09 2012-02-15 大唐移动通信设备有限公司 一种实现tcp传输的方法及装置
CN102664718A (zh) * 2012-04-28 2012-09-12 大唐移动通信设备有限公司 无线侧tcp数据重传的方法和设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018137449A1 (en) * 2017-01-30 2018-08-02 Huawei Technologies Co., Ltd. Controlling tcp data transmission
US10462711B2 (en) 2017-01-30 2019-10-29 Futurewei Technologies, Inc. Controlling TCP data transmission

Also Published As

Publication number Publication date
CN102664718A (zh) 2012-09-12
CN102664718B (zh) 2015-09-09

Similar Documents

Publication Publication Date Title
WO2013159516A1 (zh) 无线侧tcp数据重传的方法和设备
KR102249741B1 (ko) 데이터 전송을 위한 방법 및 장치
US9860915B2 (en) Apparatus and method for moving a receive window in a radio access network
JP5523350B2 (ja) Tcpフロー制御のための方法及び装置
EP2759164B1 (en) Dynamic subflow control for a multipath transport connection in a wireless communication network
US9577791B2 (en) Notification by network element of packet drops
WO2017050216A1 (zh) 一种报文传输方法及用户设备
US20080022180A1 (en) Method and apparatus for handling transmission errors in a wireless communications system
WO2014092779A1 (en) Notification by network element of packet drops
KR101470637B1 (ko) 이동통신 시스템에서의 무선자원 향상 방법, 상태정보 보고방법 및 수신장치
EP2109954A1 (en) Efficient tcp ack prioritization in wireless networks
WO2016201904A1 (zh) 一种基于tcp的数据传输方法及装置
WO2012129922A1 (zh) 一种报文处理方法、转发设备及***
WO2015066836A1 (zh) 视频业务数据传输方法、数据接收装置和数据发送装置
WO2020147453A1 (zh) 数据传输方法及相关装置
KR101024461B1 (ko) 전송 윈도우를 사용하는 통신 시스템에서의 최적화된 패킷 데이터 전송 프로토콜
CN102769520A (zh) 基于sctp协议的无线网络拥塞控制方法
JP4384676B2 (ja) データ通信装置の制御方法
WO2020010511A1 (zh) 数据传输方法及基站
CN111092907B (zh) 基于udp协议的数据流快速传输方法、***及介质
JP2014192811A (ja) 中継装置及び通信方法
JP2006101339A (ja) データ通信装置
US20150071273A1 (en) Efficient transfer of tcp traffic over wlan
US11502986B2 (en) Reducing transmission delay of transmitting data in Wi-Fi
Schüler et al. Performance improvements for TCP in mobile networks with high packet delay variations

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12875643

Country of ref document: EP

Kind code of ref document: A1