WO2013174095A1 - Method and device for controlling data transmission - Google Patents

Method and device for controlling data transmission Download PDF

Info

Publication number
WO2013174095A1
WO2013174095A1 PCT/CN2012/083197 CN2012083197W WO2013174095A1 WO 2013174095 A1 WO2013174095 A1 WO 2013174095A1 CN 2012083197 W CN2012083197 W CN 2012083197W WO 2013174095 A1 WO2013174095 A1 WO 2013174095A1
Authority
WO
WIPO (PCT)
Prior art keywords
received
arrive
data
expected order
sender
Prior art date
Application number
PCT/CN2012/083197
Other languages
French (fr)
Chinese (zh)
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 WO2013174095A1 publication Critical patent/WO2013174095A1/en

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/1829Arrangements specially adapted for the receiver end
    • H04L1/1864ARQ related signaling

Definitions

  • the present invention relates to the field of data transmission, and more particularly to a method and apparatus for controlling data transmission. Background technique
  • Transmission Control Protocol is a connection-oriented, reliable, byte-based transport layer communication protocol.
  • the receiver device each time after receiving a data message from the sender device, the receiver device sends an acknowledgement message (ACK: Acknowledgment) to the sender device to inform the sender device of the acknowledged data packet. information.
  • ACK Acknowledgment
  • the receiving device usually only acknowledges the data packets arriving in the expected order to the sender device.
  • the next data packet arriving at the receiver device in the expected order should be the data packet n+1, so if the data packet arriving at the receiver device is a datagram If n+1, the receiving device acknowledges the data packet n+1, and if the data packet arriving at the receiving device is not the data packet n+1 but other data packets that do not arrive in the expected order (for example, If the data message is n+4, n+5 or n+7, etc., the receiver device will not acknowledge the data packets that did not arrive in the expected order. According to the acknowledgement message received from the receiver device, the sender device will re-send the data packet that has been sent but the receiver device has not received the acknowledgement to ensure that the receiver device acknowledges the sender device. All data messages sent.
  • the receiving device does not acknowledge the data message that did not arrive in the expected order
  • the receiving device has indeed received the data message that did not arrive in the expected order
  • the sender device still receives the data message.
  • the party device retransmits the data packets that have been received by the receiver device but are not acknowledged by the receiver device until the receiver device acknowledges the data packets.
  • the sender device retransmits the data packet that the receiver device has received to the receiver device, which will waste a lot of network bandwidth and reduce the throughput of data transmission.
  • the receiving device When the receiving device receives the data packet that does not arrive in the expected order, the receiving device sends the acknowledgement packet to the sender device, in addition to the information of the data packet that the receiver device has received, including the receiver.
  • the information of the data message that the device has received but not acknowledged that did not arrive in the expected order and thus, according to the receiving device received from the receiving device, the receiving device received by the receiving device does not arrive in the expected order.
  • the information of the data packet the sender device can only retransmit the data packet that has been sent but the receiver device has not received, without wasting network bandwidth and reducing the throughput of the data transmission.
  • An acknowledgment message including information of a data message that has been received by the receiving device that is not in the expected order is generally referred to as a selective acknowledgement message (SACK: Selective Acknowledgment), wherein the receiving device has received the sequence in the expected order.
  • SACK Selective Acknowledgment
  • the information of the arriving data message is included in the SACK option included in the SACK.
  • each acknowledgement message sent by the receiver device to the sender device needs to include the SACK option to the sender.
  • the device notifies the recipient device of the information that has not been received in the expected order.
  • each acknowledgment message including the SACK option will waste system resources, because this increases the processing load of the sender device, and the SACK option needs to be transmitted. Consume network bandwidth.
  • the receiver device before the receiver device sends an acknowledgment message containing the SACK option to the sender device, it first determines the SACK option included in the acknowledgment message to be sent and the previously sent acknowledgment message. Whether the included SACK option is the same and the acknowledgment message to be sent does not include additional information, and when the judgment result is negative, the acknowledgment message containing the SACK option to be sent is sent to the sender device, otherwise The sender device sends the acknowledgement message containing the SACK option to be sent.
  • the transmission of the SACK option is indeed reduced, thereby avoiding waste of system resources.
  • the transmission of the SACK option is reduced by reducing the transmission of the acknowledgment message.
  • reducing the transmission of the acknowledgment message deteriorates the effect of the fast retransmission congestion control mechanism based on the number of repeated acknowledgment messages, thereby affecting the normal retransmission of data.
  • Embodiments of the present invention provide a method and apparatus for controlling data transmission that can Reduce the waste of system resources in the case of normal data retransmission.
  • a method for controlling data transmission includes the following steps: when a receiving device receives a data message that does not arrive in an expected sequence from a sender device, determining that the recipient device has been Whether the data packet received by the sender device that does not arrive in the expected order satisfies the specified quantity condition; when the judgment result is positive, the acknowledgement message not including the selective response SACK option is sent to the sender device, where The SACK option carries information of data messages that the recipient device has received from the sender device that did not arrive in the expected order.
  • An apparatus for controlling data transmission includes: a determining module, configured to determine, when a receiving device receives a data message that does not arrive in an expected sequence from a sending device, determine the receiving device Whether the data packet that has been received from the sender device that does not arrive in the expected order satisfies the specified quantity condition; the sending module, configured to send the selective response SACK to the sender device when the determination result is positive An acknowledgment message of the option, wherein the SACK option carries information of a data message that the receiver device has received from the sender device that does not arrive in an expected sequence.
  • the receiving device when the receiving device receives a data message that does not arrive in the expected order from the sender device, the data message that the receiver device has received from the sender device that does not arrive in the expected order satisfies
  • the solution disclosed by the embodiments of the present invention can reduce the waste of system resources without affecting the normal retransmission of data.
  • FIG. 1 is a schematic diagram showing a technical solution for controlling data transmission according to an embodiment of the present invention
  • FIG. 2 is a flow chart showing a method for controlling data transmission according to a first embodiment of the present invention
  • FIG. 3 is a flow chart showing a method for controlling data transmission according to a second embodiment of the present invention
  • Figure 5 shows a schematic diagram of a communication system in accordance with one embodiment of the present invention
  • FIG. 6 shows a schematic diagram of a computer system in accordance with one embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE EMBODIMENTS Hereinafter, various embodiments of the present invention will be described in detail with reference to the accompanying drawings.
  • FIG. 1 a schematic diagram of a technical solution for controlling data transmission in accordance with an embodiment of the present invention.
  • step S10 when the receiver device receives a data message that does not arrive in the expected order from the sender device, it determines that the data packet that the receiver device has received from the sender device that does not arrive in the expected order Whether the text satisfies the specified quantity condition.
  • step S20 when the determination result of step S10 is YES, an acknowledgement message not including the selective response SACK option is sent to the sender device, where the SACK option carries the receiver device that has received the notification from the sender device. Information about the data packets that arrive in sequence.
  • the acknowledgement message including the SACK option is sent to the sender device.
  • the receiving device when the receiving device receives the data message that does not arrive in the expected order from the sending device, the receiving device has received the received device from the transmitting device. If the data message arriving in the expected order satisfies the specified quantity condition, the receiver device does not send information to the sender device about the data message that the receiver device has received from the sender device and does not arrive in the expected order, but The normal acknowledgement message is still sent, so the waste of system resources is reduced without affecting the normal retransmission of data.
  • step S100 the receiver device R receives a data message D from the sender device S.
  • step S102 the recipient device R determines whether the received data message D is a data message that does not arrive in the expected order.
  • step S104 when the result of the determination in step S100 is negative, that is, the data message D is a data message arriving in the expected order, the receiving device R clears the first count value DJ.
  • the first count value DJ is used to calculate that the receiver device R has continuously received from the sender device S after the selective acknowledgement message including the SACK option is transmitted from the last receiver device R to the sender device S. The number of data packets that arrive in sequence, wherein the SACK option is used to carry information of the data message that the receiver device R has received from the sender device S that did not arrive in the expected order.
  • the recipient device R transmits a normal acknowledgment message that does not include the SACK option to the sender device S. Then, the process ends.
  • step S112 when the result of the determination in step S100 is affirmative, that is, the data message D is a data message that does not arrive in the expected order, the receiver device R calculates that the data packet D has been received from the sender device S. The cumulative number of data messages that did not arrive in the expected order.
  • step S116 the recipient device R determines whether the calculated cumulative number has not reached the first number threshold FI.
  • the first number threshold FI may be equal to half of the reception window of the recipient device R.
  • step S116 When the decision result in the step S116 is negative, that is, the calculated cumulative number reaches the first number threshold F, the flow proceeds to steps S136 and S140.
  • step S120 when the result of the determination in step S116 is affirmative, the receiver device R calculates the sum of the numbers included in all the data messages that have been received from the sender device S and that have not arrived in the expected order, including the data message D. .
  • the recipient device R determines whether the calculated sum has not reached the third number threshold H.
  • the third number threshold H may be equal to the amount of data that can be accommodated by half of the receiving window of the receiving device R.
  • step S124 When the decision result in the step S124 is negative, that is, the calculated sum reaches the third number threshold H, the flow proceeds to steps S136 and S140.
  • step S128 when the result of the determination in step S124 is affirmative, that is, the calculated sum does not reach the third number threshold H, the receiving device R increases the first count value DJ by one.
  • the recipient device R determines whether the first count value DJ has not reached the second number threshold SE.
  • the second number threshold SE may be equal to the number of duplicate acknowledgement messages required by the sender device S to trigger the congestion control mechanism.
  • the second number threshold SE may be equal to three.
  • step S132 When the result of the determination in step S132 is negative, that is, the first count value DJ reaches the second number threshold SE, the flow proceeds to steps S136 and S140.
  • step S136 the recipient device R transmits a selective acknowledgment message including the SACK option to the sender device S.
  • step S140 the receiving device R clears the first count value DJ, and then the flow ends.
  • step S144 when the result of the determination in step S132 is affirmative, that is, the first count value DJ does not reach the second number threshold SE, the receiver device R transmits a normal acknowledgement message not including the SACK option to the sender device S.
  • FIG. 3 there is shown a flow chart of a method for controlling data transmission in accordance with a second embodiment of the present invention.
  • the second embodiment includes the steps S100-S140 and the steps S144-S152.
  • the steps S100-S140 included in the second embodiment are the same as the steps S100-S140 described in the first embodiment. For the sake of simplicity, only steps S144-S152 will be described below, and steps S100-S140 will not be described again.
  • step S144 when the result of the determination in step S132 is affirmative, that is, the first count value DJ does not reach the second number threshold SE, the receiver device R calculates that there is a failure to receive from the sender device S in the receiving device R. The time that the expected sequence of data packets has been expected to last.
  • step S148 the receiver device R determines whether the calculated time has not reached the first time threshold.
  • step S148 When the decision result in the step S148 is negative, that is, the calculated time reaches the first time threshold SJ, the flow proceeds to steps S136 and S140.
  • step S152 when the result of the determination in step S152 is affirmative, that is, the calculated time does not reach the first time threshold SJ, the receiving device R transmits a normal acknowledgement message not including the SACK option to the sender device S.
  • the first number threshold FI it is first determined whether the cumulative number of data messages that the receiver device R has received from the sender device S that did not arrive in the expected order has not reached the first number threshold FI. And then determining that the recipient device R has received from the sender device S if the cumulative number of data messages that the receiver device R has received from the sender device S that did not arrive in the expected order does not reach the first number threshold FI Whether the sum of the data included in all data messages not arriving in the expected order has not reached the third number threshold H, and finally, all the datagrams that the receiver device R has received from the sender device S that did not arrive in the expected order Included in the text If the sum of the data does not reach the third number threshold H, it is judged that the receiver device R has continuously received from the sender device S after the last receiver device R transmitted the selective acknowledgment message including the SACK option to the sender device S.
  • the number of data messages that did not arrive in the expected order did not reach the second number threshold SE.
  • the order of the three judgments of the present invention is not limited thereto. In other embodiments of the present invention, the order of the three determinations may be arbitrarily combined as needed.
  • the receiver device R when the receiver device R receives a data message that does not arrive in the expected order from the sender device S, the receiver device R has received from the sender device S.
  • the received data message not arriving in the expected order satisfies the quantity condition specified below, gP: (A) the cumulative number of data messages that the receiver device R has received from the sender device S that did not arrive in the expected order The first number threshold FI is not reached, (B) the sum of the data included in all data messages that the receiver device R has received from the sender device S that did not arrive in the expected order has not reached the third number threshold H, and ( C) the number of data packets that the receiver device R has continuously received from the sender device S that did not arrive in the expected order since the last time the receiver device R sent the selective acknowledgement message of the SACK option to the sender device S
  • the second number threshold SE the receiver device R sends a normal acknowledgement message that does not include the SACK option to the sender device
  • the specified number of conditions includes: The cumulative number of data messages that the receiver device R has received from the sender device S that did not arrive in the expected order did not reach the first number threshold F, and the receiver device R has received from the sender device S The sum of the data included in all received data messages not arriving in the expected order does not reach the third number threshold H, and the selective acknowledgement message including the SACK option is sent from the last receiver device R to the sender device S The number of data messages that the receiver device R has continuously received from the sender device S that did not arrive in the expected order does not reach the second number threshold SE.
  • the specified number of conditions may also include, for example, only one or both of the following: accumulation of data messages that the recipient device R has received from the sender device S that did not arrive in the expected order If the number does not reach the first quantity threshold F, the sum of the data included in all data messages that the receiver device R has received from the sender device S that did not arrive in the expected order does not reach the third number threshold H, and since the last time After the receiver device R sends the selective acknowledgment message including the SACK option to the sender device S, the number of data packets that the receiver device R has continuously received from the sender device S that does not arrive in the expected order does not reach the second number threshold. SE.
  • the specified quantity condition may also be, for example, or Included: Since the last time the receiver device R sent the selective acknowledgment message including the SACK option to the sender device S, the number of data messages that the receiver device R has received from the sender device S that did not arrive in the expected order reached the predetermined number. Quantity. It should be understood by those skilled in the art that although in the above second embodiment, when the receiver device R receives a data message that does not arrive in the expected order from the sender device S, it is determined that the receiver device R has been from the sender device.
  • the data message that the receiver device R has received from the sender device S that does not arrive in the expected order satisfies the specified time condition (ie, : The receiving device R sends to the sender device S when there is a time in the receiver device R that the data message received from the sender device S that has not arrived in the expected order has lasted for less than the first time threshold SJ)
  • the normal acknowledgement message of the SACK option is not included, however, the present invention is not limited thereto.
  • the receiver device R may be directly determined without considering whether the data message that the receiver device R has received from the sender device S that does not arrive in the expected order meets the specified quantity condition. Whether the data message received from the sender device S that does not arrive in the expected order satisfies the specified time condition, and when it is determined that the data message that the receiver device R has received from the sender device S that does not arrive in the expected order satisfies the specified In the time condition, the receiver device R sends a normal acknowledgement message that does not include the SACK option to the sender device S.
  • the specified time condition is not limited to: Since the presence of the data message received from the sender device S in the receiver device R that has not arrived in the expected order has lasted for less than the first time Threshold SJ.
  • the specified time condition may be, for example, in the case that there is a data message that does not arrive in the expected order in the receiving device R, since the last time the receiving device R is sent to the sender The time elapsed since the device S sends the selective acknowledgment message including the SACK option does not reach the predetermined time threshold.
  • the first number threshold FI is equal to half of the receiving window of the receiving device R, the present invention is not limited thereto. In some other embodiments of the present invention, the first number threshold FI may also be other values, such as 1/3 or 3/4 of the receiving window of the receiving device R, and the like.
  • Figure 4 there is shown a schematic diagram of an apparatus for controlling data transmission in accordance with one embodiment of the present invention. Those skilled in the art should understand that the apparatus shown in FIG. 3 can be implemented by means of software, hardware or a combination of software and hardware, and can be installed in a receiver device.
  • means 30 for controlling data transmission may include a decision module 310 and a transmit module 320.
  • the determining module 310 is configured to: when the receiving device R receives the data message that does not arrive in the expected order from the sending device S, determine that the receiving device R has received from the sending device S and does not arrive in the expected order. Whether the data message meets the specified quantity condition.
  • the sending module 320 is configured to: when the determination result is yes, send, to the sender device S, an acknowledgement message that does not include the selective acknowledgement SACK option, where the SACK option carries the receiver that the receiver device R has received from the sender device S. Information about data packets arriving in the expected order.
  • the sending module 320 is further configured to: when the determination result is no, send an acknowledgement message including the SACK option to the sender device.
  • the determining module 310 may include: a first calculating module, configured to calculate a cumulative quantity of data messages that the receiving device R has received from the sending device S and that are not in the expected order; and a first checking module, configured to: Check if the calculated cumulative quantity does not reach the first quantity threshold.
  • the determining module 310 may include: a second calculating module, configured to calculate that the receiving device R has continuously received from the sending device S after the acknowledgment message including the SACK option is sent to the sending device S last time The number of data packets that arrive in sequence; and, the second checking module, is configured to check whether the calculated quantity does not reach the second quantity threshold.
  • the determining module 310 may include: a third calculating module, configured to calculate a sum of data included in all data messages that the receiving device R has received from the sender device S and that are not in the expected order; and, the third check A module, configured to check if the calculated sum does not reach a third number threshold.
  • the second number threshold may be equal to the number of repeated acknowledgment messages required by the sender device S to trigger the congestion control mechanism, and the first number threshold may be equal to half of the receiving window of the receiver device R.
  • the device 30 may further include: a determining module, configured to determine, when the determination result of the determining module 310 is YES, whether the data that the receiving device R has received from the sender device S that does not arrive in the expected order meets the specified time condition. And, the transmitting module is configured to send, to the sender device S, an acknowledgement message that does not include the SACK option when the determination result is yes.
  • a determining module configured to determine, when the determination result of the determining module 310 is YES, whether the data that the receiving device R has received from the sender device S that does not arrive in the expected order meets the specified time condition.
  • the transmitting module is configured to send, to the sender device S, an acknowledgement message that does not include the SACK option when the determination result is yes.
  • the determining module may further include: a fourth calculating module, configured to calculate the receiving device There is a time in R that the data message received from the sender device S that has not arrived in the expected order has been continued; and a fourth checking module is configured to check whether the calculated time has not reached the specified time threshold.
  • communication system 40 can include a sender device 410 and a receiver device 420.
  • the sender device 410 is configured to send a data packet to the receiver device 420.
  • the receiving device 420 is configured to, when receiving a data message that does not arrive in the expected order from the sender device 410, determine whether the data message that the receiving device 420 has received from the sender device 10 that does not arrive in the expected order satisfies the designation. The quantity condition, and when the determination result is yes, send an acknowledgement message to the sender device 410 that does not include the SACK option, wherein the SACK option carries the recipient device 420 that has received from the sender device 410 and does not arrive in the expected order. Information about the data message.
  • the receiver device 420 is further configured to: when the determination result is no, determine whether the data that the receiver device 420 has received from the sender device 410 that does not arrive in the expected order meets the specified time condition, and when the determination result is positive Sending an acknowledgement message that does not include the SACK option to the sender device 410.
  • computer system 60 includes: a bus 610; a processor 620 coupled to bus 610 and a memory 630 coupled to bus 610.
  • the processor 620 calls the executable instructions stored in the memory 630 via the bus 610 for determining that the computer system 60 has been received from the sender device when receiving a data message that does not arrive in the expected order. Whether the data message received by the sender device that does not arrive in the expected order satisfies the specified quantity condition; and, when the determination result is yes, sends an acknowledgement message that does not include the SACK option to the sender device, where the SACK option carries the computer The system 60 has received information from the sender device that the data message did not arrive in the expected order.
  • the processor 620 may be further configured to: when the determination result is no, determine whether the data that the computer system 60 has received from the sender device that does not arrive in the expected order meets the specified time condition, and when the determination result is affirmative, The sender device sends an acknowledgment message that does not include the SACK option.
  • Embodiments of the present invention also provide a machine readable medium having executable instructions stored thereon that, when executed, cause a machine to perform the steps performed by processor 620.
  • UDP User Datagram Protocol
  • SCTP Stream Control Transmission Protocol

Abstract

The invention relates to a method and device for controlling data transmission. The device comprises: a judgment module, used for judging whether the data messages, which have been received by receiving equipment from transmitting equipment not in an anticipated sequence, meet the appointed amount condition, when the receiving equipment receives the data messages not in an anticipated sequence from the transmitting equipment; a transmission module, used for sending an affirmation message not including a selective response SACK option to the transmitting equipment when the condition is met, wherein the SACK option carries the information indicating that the receiving equipment has already received the data messages from the transmitting equipment not in an anticipated sequence. According to the method and device provided by the invention, the waste of the system resources is reduced under the condition of not affecting the normal retransmission of the data.

Description

一种用于控制数据传输的方法和装置  Method and device for controlling data transmission
技术领域 Technical field
本发明涉及数据传输领域, 尤其涉及一种用于控制数据传输的方法和装 置。 背景技术  The present invention relates to the field of data transmission, and more particularly to a method and apparatus for controlling data transmission. Background technique
传输控制协议(TCP: Transmission Control Protocol)是一种面向连接的、 可靠的、 基于字节流的运输层通信协议。  Transmission Control Protocol (TCP) is a connection-oriented, reliable, byte-based transport layer communication protocol.
按照 TCP的机制, 每次从发送方设备接收到数据报文之后, 接收方设备 都会向发送方设备发送确认报文(ACK: Acknowledgment) , 以告知发送方设 备其已确收的数据报文的信息。 接收方设备通常只向发送方设备确收按照预 期顺序到达的数据报文。 例如, 在接收方设备确收数据报文 n之后, 下一个 按照预期顺序到达接收方设备的数据报文应该是数据报文 n+l, 因此, 如果 到达接收方设备的数据报文是数据报文 n+l, 则接收方设备确收数据报文 n+1 ,而如果到达接收方设备的数据报文不是数据报文 n+1而是未按照预期顺 序到达的其它数据报文 (例如, 数据报文 n+4、 n+5或 n+7等), 则接收方设 备不会确收这些未按照预期顺序到达的数据报文。 根据从接收方设备接收到 的确认报文, 发送方设备将会重新向接收方设备发送其已发送过但接收方设 备未确收的数据报文, 以确保接收方设备确收发送方设备所发送的所有数据 报文。  According to the TCP mechanism, each time after receiving a data message from the sender device, the receiver device sends an acknowledgement message (ACK: Acknowledgment) to the sender device to inform the sender device of the acknowledged data packet. information. The receiving device usually only acknowledges the data packets arriving in the expected order to the sender device. For example, after the receiver device acknowledges the data packet n, the next data packet arriving at the receiver device in the expected order should be the data packet n+1, so if the data packet arriving at the receiver device is a datagram If n+1, the receiving device acknowledges the data packet n+1, and if the data packet arriving at the receiving device is not the data packet n+1 but other data packets that do not arrive in the expected order (for example, If the data message is n+4, n+5 or n+7, etc., the receiver device will not acknowledge the data packets that did not arrive in the expected order. According to the acknowledgement message received from the receiver device, the sender device will re-send the data packet that has been sent but the receiver device has not received the acknowledgement to ensure that the receiver device acknowledges the sender device. All data messages sent.
从上面的描述可见, 虽然接收方设备不确收未按照预期顺序到达的数据 报文, 但接收方设备确实已经接收到这些未按照预期顺序到达的数据报文, 但是, 发送方设备仍然向接收方设备重传这些已被接收方设备收到但未被接 收方设备确收的数据报文, 直到接收方设备确收这些数据报文为止。 显然, 发送方设备向接收方设备重传接收方设备已收到的数据报文将会浪费大量的 网络带宽, 降低数据传输的吞吐率。  As can be seen from the above description, although the receiving device does not acknowledge the data message that did not arrive in the expected order, the receiving device has indeed received the data message that did not arrive in the expected order, but the sender device still receives the data message. The party device retransmits the data packets that have been received by the receiver device but are not acknowledged by the receiver device until the receiver device acknowledges the data packets. Obviously, the sender device retransmits the data packet that the receiver device has received to the receiver device, which will waste a lot of network bandwidth and reduce the throughput of data transmission.
为了克服上述缺陷,人们对 TCP机制进行改进。按照改进后的 TCP机制, 当接收方设备接收到未按照预期顺序到达的数据报文时, 接收方设备向发送 方设备发送的确收报文除了包括接收方设备已确收的数据报文的信息之外, 还包括接收方设备已接收到但未确收的未按照预期顺序到达的数据报文的信 息, 从而, 根据从接收方设备接收的确收报文中所包含的接收方设备已接收 到的未按照预期顺序到达的数据报文的信息, 发送方设备可以仅重传已发送 过但接收方设备仍未接收到的数据报文, 不浪费网络带宽和降低数据传输的 吞吐率。 包括接收方设备已接收的未按照预期顺序到达的数据报文的信息的 确认报文通常被称作选择性确认报文 (SACK: Selective Acknowledgment), 其中, 接收方设备已接收的未按照预期顺序到达的数据报文的信息包含在 SACK所包括的 SACK选项中。 In order to overcome the above drawbacks, people have improved the TCP mechanism. According to the improved TCP mechanism, When the receiving device receives the data packet that does not arrive in the expected order, the receiving device sends the acknowledgement packet to the sender device, in addition to the information of the data packet that the receiver device has received, including the receiver. The information of the data message that the device has received but not acknowledged that did not arrive in the expected order, and thus, according to the receiving device received from the receiving device, the receiving device received by the receiving device does not arrive in the expected order. The information of the data packet, the sender device can only retransmit the data packet that has been sent but the receiver device has not received, without wasting network bandwidth and reducing the throughput of the data transmission. An acknowledgment message including information of a data message that has been received by the receiving device that is not in the expected order is generally referred to as a selective acknowledgement message (SACK: Selective Acknowledgment), wherein the receiving device has received the sequence in the expected order. The information of the arriving data message is included in the SACK option included in the SACK.
然而, 按照改进后的 TCP机制, 在接收方设备接收到未按照预期顺序到 达的数据报文之后, 接收方设备向发送方设备发送的每一个确认报文都需要 包括 SACK选项, 以向发送方设备通知接收方设备已接收到的未按照预期顺 序到达的数据报文的信息。 但是, 由于很多确认报文所包括的 SACK选项的 内容是相同的, 因此,每一个确认报文都包括 SACK选项将会浪费系统资源, 因为这增加发送方设备的处理负担,而且传输 SACK选项需要消耗网络带宽。  However, according to the improved TCP mechanism, after the receiver device receives the data message that does not arrive in the expected order, each acknowledgement message sent by the receiver device to the sender device needs to include the SACK option to the sender. The device notifies the recipient device of the information that has not been received in the expected order. However, since the content of the SACK option included in many acknowledgment messages is the same, each acknowledgment message including the SACK option will waste system resources, because this increases the processing load of the sender device, and the SACK option needs to be transmitted. Consume network bandwidth.
为此, 人们对 TCP机制做进一步改进。 按照该进一步改进的 TCP机制, 在接收方设备要向发送方设备发送一个包含 SACK选项的确认报文之前, 先 判断该要发送的确认报文所包括的 SACK选项与以前发送过的确认报文所包 括的 SACK选项是否相同并且该要发送的确认报文没有包括额外的信息, 并 当判断结果为否定时, 才向发送方设备发送该要发送的包含 SACK选项的确 认报文, 否则不向发送方设备发送该要发送的包含 SACK选项的确认报文。 采用该进一步改进的 TCP机制, 确实减少了 SACK选项的发送, 从而避免系 统资源的浪费。  To this end, people have made further improvements to the TCP mechanism. According to the further improved TCP mechanism, before the receiver device sends an acknowledgment message containing the SACK option to the sender device, it first determines the SACK option included in the acknowledgment message to be sent and the previously sent acknowledgment message. Whether the included SACK option is the same and the acknowledgment message to be sent does not include additional information, and when the judgment result is negative, the acknowledgment message containing the SACK option to be sent is sent to the sender device, otherwise The sender device sends the acknowledgement message containing the SACK option to be sent. With this further improved TCP mechanism, the transmission of the SACK option is indeed reduced, thereby avoiding waste of system resources.
在该进一步改进的 TCP机制中, 是通过减少确认报文的发送来实现减少 SACK选项的发送。 然而, 减少确认报文的发送会恶化依据重复的确认报文 的数量进行快速重传的拥塞控制机制的效果, 从而影响数据的正常重传。 发明内容  In the further improved TCP mechanism, the transmission of the SACK option is reduced by reducing the transmission of the acknowledgment message. However, reducing the transmission of the acknowledgment message deteriorates the effect of the fast retransmission congestion control mechanism based on the number of repeated acknowledgment messages, thereby affecting the normal retransmission of data. Summary of the invention
本发明的实施例提供一种用于控制数据传输的方法和装置, 其能够在不 影响数据正常重传的情况下, 减少系统资源的浪费。 Embodiments of the present invention provide a method and apparatus for controlling data transmission that can Reduce the waste of system resources in the case of normal data retransmission.
按照本发明实施例的一种用于控制数据传输的方法, 包括步骤: 当接收 方设备从发送方设备接收到未按照预期顺序到达的数据报文时, 判断所述接 收方设备已从所述发送方设备接收的未按照预期顺序到达的数据报文是否满 足指定的数量条件; 当判断结果为肯定时, 向所述发送方设备发送未包括选 择性应答 SACK选项的确认报文, 其中, 所述 SACK选项携带所述接收方设 备已从所述发送方设备接收到的未按照预期顺序到达的数据报文的信息。  A method for controlling data transmission according to an embodiment of the present invention includes the following steps: when a receiving device receives a data message that does not arrive in an expected sequence from a sender device, determining that the recipient device has been Whether the data packet received by the sender device that does not arrive in the expected order satisfies the specified quantity condition; when the judgment result is positive, the acknowledgement message not including the selective response SACK option is sent to the sender device, where The SACK option carries information of data messages that the recipient device has received from the sender device that did not arrive in the expected order.
按照本发明实施例的一种用于控制数据传输的装置, 包括: 判断模块, 用于当接收方设备从发送方设备接收到未按照预期顺序到达的数据报文时, 判断所述接收方设备已从所述发送方设备接收的未按照预期顺序到达的数据 报文是否满足指定的数量条件; 发送模块, 用于当判断结果为肯定时, 向所 述发送方设备发送未包括选择性应答 SACK选项的确认报文, 其中, 所述 SACK选项携带所述接收方设备已从所述发送方设备接收到的未按照预期顺 序到达的数据报文的信息。  An apparatus for controlling data transmission according to an embodiment of the present invention includes: a determining module, configured to determine, when a receiving device receives a data message that does not arrive in an expected sequence from a sending device, determine the receiving device Whether the data packet that has been received from the sender device that does not arrive in the expected order satisfies the specified quantity condition; the sending module, configured to send the selective response SACK to the sender device when the determination result is positive An acknowledgment message of the option, wherein the SACK option carries information of a data message that the receiver device has received from the sender device that does not arrive in an expected sequence.
从上面的描述可以看出, 当接收方设备从发送方设备接收到未按照预期 顺序到达的数据报文时, 在接收方设备已从发送方设备接收的未按照预期顺 序到达的数据报文满足指定的数量条件的情况下, 不向发送方设备发送关于 接收方设备已从发送方设备接收的未按照预期顺序到达的数据报文的信息, 但仍然发送未包括 SACK选项的普通确认报文, 因此, 相对于现有技术, 本 发明的实施例所公开的方案能够在不影响数据正常重传的情况下减少系统资 源的浪费。 附图说明  As can be seen from the above description, when the receiving device receives a data message that does not arrive in the expected order from the sender device, the data message that the receiver device has received from the sender device that does not arrive in the expected order satisfies In the case of the specified number of conditions, no information is sent to the sender device regarding the data message that the receiver device has received from the sender device that did not arrive in the expected order, but still sends a normal acknowledgement message that does not include the SACK option. Therefore, compared with the prior art, the solution disclosed by the embodiments of the present invention can reduce the waste of system resources without affecting the normal retransmission of data. DRAWINGS
本发明的特点、 特征、 益处和优点通过以下结合附图的详细描述将变得 更加显而易见。 其中:  The features, characteristics, advantages and advantages of the present invention will become more apparent from the detailed description of the appended claims. among them:
图 1示出了按照本发明实施例的用于控制数据传输的技术方案概略示意 图;  1 is a schematic diagram showing a technical solution for controlling data transmission according to an embodiment of the present invention;
图 2示出了按照本发明实施例一的用于控制数据传输的方法的流程图; 图 3示出了按照本发明实施例二的用于控制数据传输的方法的流程图; 图 4 示出了按照本发明一个实施例的用于控制数据传输的装置的示意 图; 2 is a flow chart showing a method for controlling data transmission according to a first embodiment of the present invention; FIG. 3 is a flow chart showing a method for controlling data transmission according to a second embodiment of the present invention; Illustrative apparatus for controlling data transmission in accordance with one embodiment of the present invention Figure
图 5示出了按照本发明一个实施例的通信系统的示意图; 以及  Figure 5 shows a schematic diagram of a communication system in accordance with one embodiment of the present invention;
图 6示出了按照本发明一个实施例的计算机系统的示意图。 具体实施方式 下面, 将结合附图详细描述本发明的各个实施例。 现在参见图 1, 其示出了按照本发明实施例的用于控制数据传输的技术 方案概略示意图。 如图 1所示, 在步骤 S10, 当接收方设备从发送方设备接 收到未按照预期顺序到达的数据报文时, 判断接收方设备已从发送方设备接 收的未按照预期顺序到达的数据报文是否满足指定的数量条件。  Figure 6 shows a schematic diagram of a computer system in accordance with one embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS Hereinafter, various embodiments of the present invention will be described in detail with reference to the accompanying drawings. Referring now to Figure 1, there is shown a schematic diagram of a technical solution for controlling data transmission in accordance with an embodiment of the present invention. As shown in FIG. 1, in step S10, when the receiver device receives a data message that does not arrive in the expected order from the sender device, it determines that the data packet that the receiver device has received from the sender device that does not arrive in the expected order Whether the text satisfies the specified quantity condition.
在步骤 S20, 当步骤 S10的判断结果为是时, 向发送方设备发送未包括 选择性应答 SACK选项的确认报文, 其中, SACK选项携带接收方设备已从 发送方设备接收到的未按照预期顺序到达的数据报文的信息。  In step S20, when the determination result of step S10 is YES, an acknowledgement message not including the selective response SACK option is sent to the sender device, where the SACK option carries the receiver device that has received the notification from the sender device. Information about the data packets that arrive in sequence.
进一步的, 可选的, 当判断结果为否时, 向所述发送方设备发送包括 SACK选项的确认报文。  Further, optionally, when the determination result is no, the acknowledgement message including the SACK option is sent to the sender device.
从上述可见, 由于在本发明实施例所提供的技术方案中, 当接收方设备 从发送方设备接收到未按照预期顺序到达的数据报文时, 在接收方设备已从 发送方设备接收的未按照预期顺序到达的数据报文满足指定的数量条件的情 况下, 接收方设备不向发送方设备发送关于接收方设备已从发送方设备接收 的未按照预期顺序到达的数据报文的信息, 但仍然发送普通确认报文, 因此, 在不影响数据正常重传的情况下减少了系统资源的浪费。  It can be seen from the above that, in the technical solution provided by the embodiment of the present invention, when the receiving device receives the data message that does not arrive in the expected order from the sending device, the receiving device has received the received device from the transmitting device. If the data message arriving in the expected order satisfies the specified quantity condition, the receiver device does not send information to the sender device about the data message that the receiver device has received from the sender device and does not arrive in the expected order, but The normal acknowledgement message is still sent, so the waste of system resources is reduced without affecting the normal retransmission of data.
参见图 2, 其示出了按照本发明实施例一的用于控制数据传输的方法的 流程图。 如图 2所示, 在步骤 S100, 接收方设备 R从发送方设备 S接收到一 个数据报文 D。 Referring to Figure 2, there is shown a flow chart of a method for controlling data transmission in accordance with a first embodiment of the present invention. As shown in FIG. 2, in step S100, the receiver device R receives a data message D from the sender device S.
在步骤 S102,接收方设备 R判断所接收的数据报文 D是否是未按照预期 顺序到达的数据报文。 在步骤 S104, 当步骤 S100的判断结果为否定, 即数据报文 D是按照预 期顺序到达的数据报文时, 接收方设备 R将第一计数值 DJ清零。 这里, 第 一计数值 DJ用于计算自上一次接收方设备 R向发送方设备 S发送包括 SACK 选项的选择性确认报文之后, 接收方设备 R已连续从发送方设备 S接收的未 按照预期顺序到达的数据报文的数量, 其中, SACK选项用于携带接收方设 备 R已从发送方设备 S接收到的未按照预期顺序到达的数据报文的信息。 In step S102, the recipient device R determines whether the received data message D is a data message that does not arrive in the expected order. In step S104, when the result of the determination in step S100 is negative, that is, the data message D is a data message arriving in the expected order, the receiving device R clears the first count value DJ. Here, the first count value DJ is used to calculate that the receiver device R has continuously received from the sender device S after the selective acknowledgement message including the SACK option is transmitted from the last receiver device R to the sender device S. The number of data packets that arrive in sequence, wherein the SACK option is used to carry information of the data message that the receiver device R has received from the sender device S that did not arrive in the expected order.
在步骤 S108,接收方设备 R向发送方设备 S发送未包括 SACK选项的普 通确认报文。 然后, 流程结束。  At step S108, the recipient device R transmits a normal acknowledgment message that does not include the SACK option to the sender device S. Then, the process ends.
在步骤 S112, 当步骤 S100的判断结果为肯定, 即数据报文 D是未按照 预期顺序到达的数据报文时, 接收方设备 R计算包括数据报文 D在内的已从 发送方设备 S接收的未按照预期顺序到达的数据报文的累积数量。  In step S112, when the result of the determination in step S100 is affirmative, that is, the data message D is a data message that does not arrive in the expected order, the receiver device R calculates that the data packet D has been received from the sender device S. The cumulative number of data messages that did not arrive in the expected order.
在步骤 S116,接收方设备 R判断所计算的累积数量是否未达到第一数量 阈值 FI。 这里, 第一数量阈值 FI可以等于接收方设备 R的接收窗口的一半。  In step S116, the recipient device R determines whether the calculated cumulative number has not reached the first number threshold FI. Here, the first number threshold FI may be equal to half of the reception window of the recipient device R.
当步骤 S116的判断结果为否定,即所计算的累积数量达到第一数量阈值 F时, 流程进行到步骤 S136和 S140。  When the decision result in the step S116 is negative, that is, the calculated cumulative number reaches the first number threshold F, the flow proceeds to steps S136 and S140.
在步骤 S120, 当步骤 S116的判断结果为肯定, 接收方设备 R计算包括 数据报文 D在内的已从发送方设备 S接收的未按照预期顺序到达的所有数据 报文所包括的数量的总和。  In step S120, when the result of the determination in step S116 is affirmative, the receiver device R calculates the sum of the numbers included in all the data messages that have been received from the sender device S and that have not arrived in the expected order, including the data message D. .
在步骤 S124,接收方设备 R判断所计算的总和是否未达到第三数量阈值 H。 这里, 第三数量阈值 H可以等于接收方设备 R的接收窗口的一半所能容 纳的数据量。  At step S124, the recipient device R determines whether the calculated sum has not reached the third number threshold H. Here, the third number threshold H may be equal to the amount of data that can be accommodated by half of the receiving window of the receiving device R.
当步骤 S124 的判断结果为否定, 即所计算的总和达到第三数量阈值 H 时, 流程进行到步骤 S136和 S140。  When the decision result in the step S124 is negative, that is, the calculated sum reaches the third number threshold H, the flow proceeds to steps S136 and S140.
在步骤 S128, 当步骤 S124的判断结果为肯定, 即所计算的总和未达到 第三数量阈值 H时, 接收方设备 R把第一计数值 DJ增加 1。  In step S128, when the result of the determination in step S124 is affirmative, that is, the calculated sum does not reach the third number threshold H, the receiving device R increases the first count value DJ by one.
在步骤 S132, 接收方设备 R判断第一计数值 DJ是否未达到第二数量阈 值 SE。 这里, 第二数量阈值 SE可以等于发送方设备 S触发拥塞控制机制所 要求的重复的确认报文的数量。 例如, 第二数量阈值 SE可以等于 3。  In step S132, the recipient device R determines whether the first count value DJ has not reached the second number threshold SE. Here, the second number threshold SE may be equal to the number of duplicate acknowledgement messages required by the sender device S to trigger the congestion control mechanism. For example, the second number threshold SE may be equal to three.
当步骤 S132的判断结果为否定,即第一计数值 DJ达到第二数量阈值 SE 时, 流程进行到步骤 S136和 S140。 在步骤 S136 ,接收方设备 R向发送方设备 S发送包括 SACK选项的选择 性确认报文。 When the result of the determination in step S132 is negative, that is, the first count value DJ reaches the second number threshold SE, the flow proceeds to steps S136 and S140. At step S136, the recipient device R transmits a selective acknowledgment message including the SACK option to the sender device S.
在步骤 S140 , 接收方设备 R将第一计数值 DJ清零, 然后流程结束。 在步骤 S144 , 当步骤 S132的判断结果为肯定, 即第一计数值 DJ未达到 第二数量阈值 SE时, 接收方设备 R向发送方设备 S发送未包括 SACK选项 的普通确认报文。 参见图 3, 其示出了按照本发明实施例二的用于控制数据传输的方法的 流程图。本实施例二包括步骤 S100-S140和步骤 S144-S152, 其中, 本实施例 二所包括的步骤 S100-S140与前述实施例一所记载的步骤 S100-S140相同。 为了简单起见, 下面只描述步骤 S144-S152 , 而步骤 S100-S140不再赘述。  At step S140, the receiving device R clears the first count value DJ, and then the flow ends. In step S144, when the result of the determination in step S132 is affirmative, that is, the first count value DJ does not reach the second number threshold SE, the receiver device R transmits a normal acknowledgement message not including the SACK option to the sender device S. Referring to Figure 3, there is shown a flow chart of a method for controlling data transmission in accordance with a second embodiment of the present invention. The second embodiment includes the steps S100-S140 and the steps S144-S152. The steps S100-S140 included in the second embodiment are the same as the steps S100-S140 described in the first embodiment. For the sake of simplicity, only steps S144-S152 will be described below, and steps S100-S140 will not be described again.
在步骤 S144 , 当步骤 S132的判断结果为肯定, 即第一计数值 DJ未达到 第二数量阈值 SE时, 接收方设备 R计算自从接收方设备 R中存在有从发送 方设备 S接收的未按照预期顺序到达的数据报文已持续的时间。  In step S144, when the result of the determination in step S132 is affirmative, that is, the first count value DJ does not reach the second number threshold SE, the receiver device R calculates that there is a failure to receive from the sender device S in the receiving device R. The time that the expected sequence of data packets has been expected to last.
在步骤 S148 ,接收方设备 R判断所计算的时间是否未达到第一时间阈值 In step S148, the receiver device R determines whether the calculated time has not reached the first time threshold.
SJ。 SJ.
当步骤 S148 的判断结果为否定, 即所计算的时间达到第一时间阈值 SJ 时, 流程进行到步骤 S136和 S140。  When the decision result in the step S148 is negative, that is, the calculated time reaches the first time threshold SJ, the flow proceeds to steps S136 and S140.
在步骤 S152, 当步骤 S152的判断结果为肯定, 即所计算的时间未达到 第一时间阈值 SJ时, 接收方设备 R向发送方设备 S发送未包括 SACK选项 的普通确认报文。  In step S152, when the result of the determination in step S152 is affirmative, that is, the calculated time does not reach the first time threshold SJ, the receiving device R transmits a normal acknowledgement message not including the SACK option to the sender device S.
<其它变型> <Other variants>
本领域技术人员应当理解, 虽然在上面的实施例一中, 首先判断接收方 设备 R已从发送方设备 S接收的未按照预期顺序到达的数据报文的累积数量 是否未达到第一数量阈值 FI, 然后, 在接收方设备 R已从发送方设备 S接收 的未按照预期顺序到达的数据报文的累积数量未达到第一数量阈值 FI的情况 下判断接收方设备 R已从发送方设备 S接收的未按照预期顺序到达的所有数 据报文所包括的数据的总和是否未达到第三数量阈值 H, 最后, 在接收方设 备 R已从发送方设备 S接收的未按照预期顺序到达的所有数据报文所包括的 数据的总和未达到第三数量阈值 H的情况下判断自上一次接收方设备 R向发 送方设备 S发送包括 SACK选项的选择性确认报文之后接收方设备 R已连续 从发送方设备 S接收的未按照预期顺序到达的数据报文的数量未达到第二数 量阈值 SE, 然而, 本发明对于这三个判断的先后次序并不局限于此。 在本发 明的其他实施例中, 这三个判断的先后次序可以根据需要任意进行组合。 It should be understood by those skilled in the art that, in the first embodiment above, it is first determined whether the cumulative number of data messages that the receiver device R has received from the sender device S that did not arrive in the expected order has not reached the first number threshold FI. And then determining that the recipient device R has received from the sender device S if the cumulative number of data messages that the receiver device R has received from the sender device S that did not arrive in the expected order does not reach the first number threshold FI Whether the sum of the data included in all data messages not arriving in the expected order has not reached the third number threshold H, and finally, all the datagrams that the receiver device R has received from the sender device S that did not arrive in the expected order Included in the text If the sum of the data does not reach the third number threshold H, it is judged that the receiver device R has continuously received from the sender device S after the last receiver device R transmitted the selective acknowledgment message including the SACK option to the sender device S. The number of data messages that did not arrive in the expected order did not reach the second number threshold SE. However, the order of the three judgments of the present invention is not limited thereto. In other embodiments of the present invention, the order of the three determinations may be arbitrarily combined as needed.
本领域技术人员应当理解, 虽然在上面的实施例一中, 当接收方设备 R 从发送方设备 S接收到未按照预期顺序到达的数据报文时, 在接收方设备 R 已从发送方设备 S接收的未按照预期顺序到达的数据报文满足以下指定的数 量条件的情况下, gP : (A)接收方设备 R已从发送方设备 S接收的未按照预 期顺序到达的数据报文的累积数量未达到第一数量阈值 FI, (B) 接收方设备 R已从发送方设备 S接收的未按照预期顺序到达的所有数据报文所包括的数 据的总和未达到第三数量阈值 H, 并且, (C) 自上一次接收方设备 R向发送 方设备 S发送 SACK选项的选择性确认报文之后接收方设备 R已连续从发送 方设备 S接收的未按照预期顺序到达的数据报文的数量未达到第二数量阈值 SE,接收方设备 R才向发送方设备 S发送未包括 SACK选项的普通确认报文, 然而, 本发明并不局限于该指定的数量条件包括: 接收方设备 R已从发送方 设备 S接收的未按照预期顺序到达的数据报文的累积数量未达到第一数量阈 值 F, 接收方设备 R已从发送方设备 S接收的未按照预期顺序到达的所有数 据报文所包括的数据的总和未达到第三数量阈值 H, 并且, 自上一次接收方 设备 R向发送方设备 S发送包括 SACK选项的选择性确认报文之后接收方设 备 R已连续从发送方设备 S接收的未按照预期顺序到达的数据报文的数量未 达到第二数量阈值 SE。  It should be understood by those skilled in the art that although in the above first embodiment, when the receiver device R receives a data message that does not arrive in the expected order from the sender device S, the receiver device R has received from the sender device S. In case the received data message not arriving in the expected order satisfies the quantity condition specified below, gP: (A) the cumulative number of data messages that the receiver device R has received from the sender device S that did not arrive in the expected order The first number threshold FI is not reached, (B) the sum of the data included in all data messages that the receiver device R has received from the sender device S that did not arrive in the expected order has not reached the third number threshold H, and ( C) the number of data packets that the receiver device R has continuously received from the sender device S that did not arrive in the expected order since the last time the receiver device R sent the selective acknowledgement message of the SACK option to the sender device S The second number threshold SE, the receiver device R sends a normal acknowledgement message that does not include the SACK option to the sender device S. However, the present invention is not limited. The specified number of conditions includes: The cumulative number of data messages that the receiver device R has received from the sender device S that did not arrive in the expected order did not reach the first number threshold F, and the receiver device R has received from the sender device S The sum of the data included in all received data messages not arriving in the expected order does not reach the third number threshold H, and the selective acknowledgement message including the SACK option is sent from the last receiver device R to the sender device S The number of data messages that the receiver device R has continuously received from the sender device S that did not arrive in the expected order does not reach the second number threshold SE.
在本发明的其他一些实施例, 该指定的数量条件也可以例如只包括以下 的其中一个或两个: 接收方设备 R已从发送方设备 S接收的未按照预期顺序 到达的数据报文的累积数量未达到第一数量阈值 F, 接收方设备 R已从发送 方设备 S接收的未按照预期顺序到达的所有数据报文所包括的数据的总和未 达到第三数量阈值 H, 以及, 自上一次接收方设备 R向发送方设备 S发送包 括 SACK选项的选择性确认报文之后接收方设备 R已连续从发送方设备 S接 收的未按照预期顺序到达的数据报文的数量未达到第二数量阈值 SE。  In some other embodiments of the present invention, the specified number of conditions may also include, for example, only one or both of the following: accumulation of data messages that the recipient device R has received from the sender device S that did not arrive in the expected order If the number does not reach the first quantity threshold F, the sum of the data included in all data messages that the receiver device R has received from the sender device S that did not arrive in the expected order does not reach the third number threshold H, and since the last time After the receiver device R sends the selective acknowledgment message including the SACK option to the sender device S, the number of data packets that the receiver device R has continuously received from the sender device S that does not arrive in the expected order does not reach the second number threshold. SE.
在本发明的其他一些实施例, 该指定的数量条件也可以例如是或者还包 括: 自上一次接收方设备 R向发送方设备 S发送包括 SACK选项的选择性确 认报文之后接收方设备 R已从发送方设备 S接收的未按照预期顺序到达的数 据报文的数量达到预定数量。 本领域技术人员应当理解, 虽然在上面的实施例二中, 在接收方设备 R 从发送方设备 S接收到未按照预期顺序到达的数据报文时, 在确定接收方设 备 R已从发送方设备 S接收的未按照预期顺序到达的数据报文满足指定的数 量条件的情况下, 当接收方设备 R已从发送方设备 S接收的未按照预期顺序 到达的数据报文满足指定的时间条件 (即: 自从接收方设备 R中存在有从发 送方设备 S接收的未按照预期顺序到达的数据报文已持续的时间未达到第一 时间阈值 SJ)时, 接收方设备 R才向发送方设备 S发送未包括 SACK选项的 普通确认报文, 然而, 本发明并不局限于此。 在本发明的其它一些实施例中, 也可以在不考虑接收方设备 R已从发送方设备 S接收的未按照预期顺序到达 的数据报文是否满足指定的数量条件, 直接确定接收方设备 R已从发送方设 备 S接收的未按照预期顺序到达的数据报文是否满足指定的时间条件, 并当 确定接收方设备 R已从发送方设备 S接收的未按照预期顺序到达的数据报文 满足指定的时间条件时, 接收方设备 R就向发送方设备 S发送未包括 SACK 选项的普通确认报文。 In some other embodiments of the present invention, the specified quantity condition may also be, for example, or Included: Since the last time the receiver device R sent the selective acknowledgment message including the SACK option to the sender device S, the number of data messages that the receiver device R has received from the sender device S that did not arrive in the expected order reached the predetermined number. Quantity. It should be understood by those skilled in the art that although in the above second embodiment, when the receiver device R receives a data message that does not arrive in the expected order from the sender device S, it is determined that the receiver device R has been from the sender device. When the data message received by the S that does not arrive in the expected order satisfies the specified quantity condition, the data message that the receiver device R has received from the sender device S that does not arrive in the expected order satisfies the specified time condition (ie, : The receiving device R sends to the sender device S when there is a time in the receiver device R that the data message received from the sender device S that has not arrived in the expected order has lasted for less than the first time threshold SJ) The normal acknowledgement message of the SACK option is not included, however, the present invention is not limited thereto. In some other embodiments of the present invention, the receiver device R may be directly determined without considering whether the data message that the receiver device R has received from the sender device S that does not arrive in the expected order meets the specified quantity condition. Whether the data message received from the sender device S that does not arrive in the expected order satisfies the specified time condition, and when it is determined that the data message that the receiver device R has received from the sender device S that does not arrive in the expected order satisfies the specified In the time condition, the receiver device R sends a normal acknowledgement message that does not include the SACK option to the sender device S.
此外, 对于本发明来说, 指定的时间条件并不局限于: 自从接收方设备 R中存在有从发送方设备 S接收的未按照预期顺序到达的数据报文已持续的 时间未达到第一时间阈值 SJ。 在本发明的其它一些实施例中, 指定的时间条 件例如也可以是: 在接收方设备 R中存在有未按照预期顺序到达的数据报文 的情况下, 自上一次接收方设备 R向发送方设备 S发送包括 SACK选项的选 择性确认报文起所流逝的时间未达到预定时间阈值。 本领域技术人员应当理解, 虽然在上面的各个实施例中, 第一数量阈值 FI等于接收方设备 R的接收窗口的一半, 然而, 本发明并不局限于此。 在本 发明的其它一些实施例中, 第一数量阈值 FI也可以是其它数值, 例如等于接 收方设备 R的接收窗口的 1/3或 3/4等。 参见图 4, 其示出了按照本发明一个实施例的用于控制数据传输的装置 的示意图。 本领域技术人员应当理解, 图 3所示的装置可以利用软件、 硬件 或软硬件结合的方式来实现, 并且可以安装在接收方设备中。 In addition, for the present invention, the specified time condition is not limited to: Since the presence of the data message received from the sender device S in the receiver device R that has not arrived in the expected order has lasted for less than the first time Threshold SJ. In some other embodiments of the present invention, the specified time condition may be, for example, in the case that there is a data message that does not arrive in the expected order in the receiving device R, since the last time the receiving device R is sent to the sender The time elapsed since the device S sends the selective acknowledgment message including the SACK option does not reach the predetermined time threshold. It will be understood by those skilled in the art that although in the above various embodiments, the first number threshold FI is equal to half of the receiving window of the receiving device R, the present invention is not limited thereto. In some other embodiments of the present invention, the first number threshold FI may also be other values, such as 1/3 or 3/4 of the receiving window of the receiving device R, and the like. Referring to Figure 4, there is shown a schematic diagram of an apparatus for controlling data transmission in accordance with one embodiment of the present invention. Those skilled in the art should understand that the apparatus shown in FIG. 3 can be implemented by means of software, hardware or a combination of software and hardware, and can be installed in a receiver device.
如图 4所示,用于控制数据传输的装置 30可以包括判断模块 310和发送 模块 320。其中, 判断模块 310, 用于当接收方设备 R从发送方设备 S接收到 未按照预期顺序到达的数据报文时, 判断接收方设备 R已从发送方设备 S接 收的未按照预期顺序到达的数据报文是否满足指定的数量条件。 发送模块 320, 用于当判断结果为是时, 向发送方设备 S发送未包括选择性应答 SACK 选项的确认报文, 其中, SACK选项携带接收方设备 R已从发送方设备 S接 收到的未按照预期顺序到达的数据报文的信息。  As shown in FIG. 4, means 30 for controlling data transmission may include a decision module 310 and a transmit module 320. The determining module 310 is configured to: when the receiving device R receives the data message that does not arrive in the expected order from the sending device S, determine that the receiving device R has received from the sending device S and does not arrive in the expected order. Whether the data message meets the specified quantity condition. The sending module 320 is configured to: when the determination result is yes, send, to the sender device S, an acknowledgement message that does not include the selective acknowledgement SACK option, where the SACK option carries the receiver that the receiver device R has received from the sender device S. Information about data packets arriving in the expected order.
进一步的, 可选的, 发送模块 320还用于当判断结果为否时, 向所述发 送方设备发送包括 SACK选项的确认报文。  Further, optionally, the sending module 320 is further configured to: when the determination result is no, send an acknowledgement message including the SACK option to the sender device.
此外, 判断模块 310可以包括: 第一计算模块, 用于计算接收方设备 R 已从发送方设备 S接收的未按照预期顺序到达的数据报文的累积数量; 以及, 第一检查模块, 用于检查所计算的累积数量是否未达到第一数量阈值。或者, 判断模块 310可以包括: 第二计算模块, 用于计算自上一次向发送方设备 S 发送包括 SACK选项的确认报文之后, 接收方设备 R已连续从发送方设备 S 接收的未按照预期顺序到达的数据报文的数量; 以及, 第二检查模块, 用于 检查所计算的数量是否未达到第二数量阈值。或者, 判断模块 310可以包括: 第三计算模块, 用于计算接收方设备 R已从发送方设备 S接收的未按照预期 顺序到达的所有数据报文所包括的数据的总和; 以及, 第三检查模块, 用于 检查所计算的总和是否未达到第三数量阈值。  In addition, the determining module 310 may include: a first calculating module, configured to calculate a cumulative quantity of data messages that the receiving device R has received from the sending device S and that are not in the expected order; and a first checking module, configured to: Check if the calculated cumulative quantity does not reach the first quantity threshold. Alternatively, the determining module 310 may include: a second calculating module, configured to calculate that the receiving device R has continuously received from the sending device S after the acknowledgment message including the SACK option is sent to the sending device S last time The number of data packets that arrive in sequence; and, the second checking module, is configured to check whether the calculated quantity does not reach the second quantity threshold. Alternatively, the determining module 310 may include: a third calculating module, configured to calculate a sum of data included in all data messages that the receiving device R has received from the sender device S and that are not in the expected order; and, the third check A module, configured to check if the calculated sum does not reach a third number threshold.
其中, 第二数量阈值可以等于发送方设备 S触发拥塞控制机制所要求的 重复的确认报文的数量, 以及, 第一数量阈值可以等于接收方设备 R的接收 窗口的一半。  The second number threshold may be equal to the number of repeated acknowledgment messages required by the sender device S to trigger the congestion control mechanism, and the first number threshold may be equal to half of the receiving window of the receiver device R.
此外, 装置 30还可以包括: 确定模块, 用于当判断模块 310的判断结果 为是时, 确定接收方设备 R已从发送方设备 S接收的未按照预期顺序到达的 数据是否满足指定的时间条件; 以及, 传送模块用于当确定结果为是时, 向 发送方设备 S发送未包括 SACK选项的确认报文。  In addition, the device 30 may further include: a determining module, configured to determine, when the determination result of the determining module 310 is YES, whether the data that the receiving device R has received from the sender device S that does not arrive in the expected order meets the specified time condition. And, the transmitting module is configured to send, to the sender device S, an acknowledgement message that does not include the SACK option when the determination result is yes.
此外, 确定模块还可以包括: 第四计算模块, 用于计算自从接收方设备 R中存在有从发送方设备 S接收的未按照预期顺序到达的数据报文已持续的 时间; 以及, 第四检查模块, 用于检查所计算的时间是否未达到指定的时间 阈值。 参见图 5, 其示出了按照本发明一个实施例的通信系统的示意图。如图 5 所示, 通信系统 40可以包括发送方设备 410和接收方设备 420。 其中, 发送 方设备 410用于向接收方设备 420发送数据报文。 接收方设备 420用于当从 发送方设备 410接收到未按照预期顺序到达的数据报文时, 判断接收方设备 420已从发送方设备 10接收的未按照预期顺序到达的数据报文是否满足指定 的数量条件, 并当判断结果为是时, 向发送方设备 410发送未包括 SACK选 项的确认报文, 其中, SACK选项携带接收方设备 420 已从发送方设备 410 接收到的未按照预期顺序到达的数据报文的信息。 In addition, the determining module may further include: a fourth calculating module, configured to calculate the receiving device There is a time in R that the data message received from the sender device S that has not arrived in the expected order has been continued; and a fourth checking module is configured to check whether the calculated time has not reached the specified time threshold. Referring to Figure 5, a schematic diagram of a communication system in accordance with one embodiment of the present invention is shown. As shown in FIG. 5, communication system 40 can include a sender device 410 and a receiver device 420. The sender device 410 is configured to send a data packet to the receiver device 420. The receiving device 420 is configured to, when receiving a data message that does not arrive in the expected order from the sender device 410, determine whether the data message that the receiving device 420 has received from the sender device 10 that does not arrive in the expected order satisfies the designation. The quantity condition, and when the determination result is yes, send an acknowledgement message to the sender device 410 that does not include the SACK option, wherein the SACK option carries the recipient device 420 that has received from the sender device 410 and does not arrive in the expected order. Information about the data message.
此外, 接收方设备 420还用于当判断结果为否时, 确定接收方设备 420 已从发送方设备 410接收的未按照预期顺序到达的数据是否满足指定的时间 条件, 并当确定结果为肯定时, 向发送方设备 410发送未包括 SACK选项的 确认报文。  In addition, the receiver device 420 is further configured to: when the determination result is no, determine whether the data that the receiver device 420 has received from the sender device 410 that does not arrive in the expected order meets the specified time condition, and when the determination result is positive Sending an acknowledgement message that does not include the SACK option to the sender device 410.
参见图 6, 其示出了按照本发明一个实施例的计算机系统的示意图。 如 图 6所示, 计算机系统 60包括: 总线 610; 与总线 610相连的处理器 620和 与总线 610相连的存储器 630。 Referring to Figure 6, a schematic diagram of a computer system in accordance with one embodiment of the present invention is shown. As shown in FIG. 6, computer system 60 includes: a bus 610; a processor 620 coupled to bus 610 and a memory 630 coupled to bus 610.
其中, 处理器 620通过总线 610, 调用存储器 630中存储的可执行指令, 以用于:当计算机系统 60从发送方设备接收到未按照预期顺序到达的数据报 文时,判断计算机系统 60已从发送方设备接收的未按照预期顺序到达的数据 报文是否满足指定的数量条件; 以及, 当判断结果为是时, 向发送方设备发 送未包括 SACK选项的确认报文, 其中, SACK选项携带计算机系统 60已从 发送方设备接收到的未按照预期顺序到达的数据报文的信息。  The processor 620 calls the executable instructions stored in the memory 630 via the bus 610 for determining that the computer system 60 has been received from the sender device when receiving a data message that does not arrive in the expected order. Whether the data message received by the sender device that does not arrive in the expected order satisfies the specified quantity condition; and, when the determination result is yes, sends an acknowledgement message that does not include the SACK option to the sender device, where the SACK option carries the computer The system 60 has received information from the sender device that the data message did not arrive in the expected order.
此外, 处理器 620还可以用于当判断结果为否时, 确定计算机系统 60已 从发送方设备接收的未按照预期顺序到达的数据是否满足指定的时间条件, 并当确定结果为肯定时, 向发送方设备发送未包括 SACK选项的确认报文。 本发明的实施例还提供一种机器可读介质, 其上存储有可执行指令, 当 该可执行指令被执行时, 使得机器执行处理器 620所执行的步骤。 本领域技术人员应当理解, 本发明所公开的用于控制数据传输的方案不 但可以应用于 TCP, 也可以应用于其它数据传输协议, 例如用户数据报协议 (UDP: User Datagram Protocol), 流控制传送协议 (SCTP: Stream Control Transmission Protocol ) 等。 本领域技术人员应当理解, 本发明所公开的各个实施例可以在不偏离发 明实质的情况下做出各种变形和改变, 这些变形和改变都应落在本发明的保 护范围之内。 因此, 本发明的保护范围应当由所附的权利要求书来定义。 In addition, the processor 620 may be further configured to: when the determination result is no, determine whether the data that the computer system 60 has received from the sender device that does not arrive in the expected order meets the specified time condition, and when the determination result is affirmative, The sender device sends an acknowledgment message that does not include the SACK option. Embodiments of the present invention also provide a machine readable medium having executable instructions stored thereon that, when executed, cause a machine to perform the steps performed by processor 620. Those skilled in the art should understand that the solution for controlling data transmission disclosed by the present invention can be applied not only to TCP but also to other data transmission protocols, such as User Datagram Protocol (UDP), flow control transmission. Protocol (SCTP: Stream Control Transmission Protocol), etc. It should be understood by those skilled in the art that various modifications and changes may be made without departing from the spirit and scope of the invention. Therefore, the scope of the invention should be defined by the appended claims.

Claims

权 利 要 求 书 claims
1、 一种用于控制数据传输的方法, 包括步骤: 1. A method for controlling data transmission, including steps:
当接收方设备从发送方设备接收到未按照预期顺序到达的数据报文时, 判断所述接收方设备已从所述发送方设备接收的未按照预期顺序到达的数据 报文是否满足指定的数量条件; When the receiving device receives data packets that do not arrive in the expected order from the sending device, it determines whether the data packets that the receiving device has received from the sending device and do not arrive in the expected order satisfy the specified number. condition;
当判断结果为是时, 向所述发送方设备发送未包括选择性应答 SACK选 项的确认报文, 其中, 所述 SACK选项携带所述接收方设备已从所述发送方 设备接收到的未按照预期顺序到达的数据报文的信息。 When the judgment result is yes, send an acknowledgment message that does not include the selective response SACK option to the sender device, wherein the SACK option carries the message that the receiver device has received from the sender device and is not in accordance with the Information about the order in which data packets are expected to arrive.
2、 如权利要求 1所述的方法, 其中, 所述判断步骤包括: 2. The method of claim 1, wherein the judging step includes:
计算所述接收方设备已从所述发送方设备接收的未按照预期顺序到达的 数据报文的累积数量; 以及 Calculate the cumulative number of data packets that the recipient device has received from the sender device that did not arrive in the expected order; and
检查所计算的累积数量是否未达到第一数量阈值。 Check whether the calculated cumulative quantity does not reach the first quantity threshold.
3、 如权利要求 1所述的方法, 其中, 所述判断步骤包括: 3. The method of claim 1, wherein the judging step includes:
计算自上一次向所述发送方设备发送包括所述 SACK选项的确认报文之 后, 所述接收方设备已连续从所述发送方设备接收的未按照预期顺序到达的 数据报文的数量; 以及 Calculate the number of data packets that the receiving device has continuously received from the sending device since the last time it sent an acknowledgment message including the SACK option to the sending device that did not arrive in the expected order; and
检查所计算的数量是否未达到第二数量阈值。 Check whether the calculated quantity does not reach the second quantity threshold.
4、 如权利要求 1所述的方法, 其中, 所述判断步骤包括: 4. The method of claim 1, wherein the judging step includes:
计算所述接收方设备已从所述发送方设备接收的未按照预期顺序到达的 所有数据报文所包括的数据的总和; 以及 Calculating the sum of data included in all data packets that the recipient device has received from the sender device that did not arrive in the expected order; and
检查所计算的总和是否未达到第三数量阈值。 Check whether the calculated sum does not reach the third quantity threshold.
5、 如权利要求 2所述的方法, 其中 5. The method of claim 2, wherein
所述第一数量阈值等于所述接收方设备的接收窗口的一半。 The first quantity threshold is equal to half the reception window of the recipient device.
6、 如权利要求 3所述的方法, 其中 所述第二数量阈值等于所述发送方设备触发拥塞控制机制所要求的连续 重复的确认报文的数量。 6. The method of claim 3, wherein The second quantity threshold is equal to the number of consecutively repeated acknowledgment messages required by the sender device to trigger the congestion control mechanism.
7、 如权利要求 4所述的方法, 其中 7. The method of claim 4, wherein
所述第三数量阈值等于所述接收方设备的接收窗口的一半所能容纳的数 据量。 The third quantity threshold is equal to the amount of data that can be accommodated by half of the receiving window of the receiving device.
8、 如权利要求 1所述的方法, 其中, 还包括: 8. The method of claim 1, further comprising:
当判断结果为否时, 确定所述接收方设备已从所述发送方设备接收的未 按照预期顺序到达的数据是否满足指定的时间条件; 以及 When the judgment result is no, determine whether the data that the receiving device has received from the sending device and does not arrive in the expected order satisfies the specified time condition; and
当确定结果为肯定时, 向所述发送方设备发送未包括所述 SACK选项的 确认报文。 When the determination result is positive, a confirmation message not including the SACK option is sent to the sending device.
9、 如权利要求 8所述的方法, 其中, 所述确定步骤包括: 9. The method of claim 8, wherein the determining step includes:
计算自从所述接收方设备中存在有从所述发送方设备接收的未按照预期 顺序到达的数据报文已持续的时间; 以及 Calculate the time that has elapsed since there was a data packet in the receiving device that was received from the sending device and did not arrive in the expected order; and
检查所计算的时间是否未达到指定的时间阈值。 Checks whether the calculated time does not reach the specified time threshold.
10、 一种用于控制数据传输的装置, 包括: 10. A device for controlling data transmission, including:
判断模块, 用于当接收方设备从发送方设备接收到未按照预期顺序到达 的数据报文时, 判断所述接收方设备已从所述发送方设备接收的未按照预期 顺序到达的数据报文是否满足指定的数量条件; A judging module, configured to judge that the receiving device has received the data packets that have not arrived in the expected order from the sending device when the receiving device receives the data packets that have not arrived in the expected order from the sending device. Whether the specified quantity conditions are met;
发送模块, 用于当判断结果为是时, 向所述发送方设备发送未包括选择 性应答 SACK选项的确认报文, 其中, 所述 SACK选项携带所述接收方设备 已从所述发送方设备接收到的未按照预期顺序到达的数据报文的信息。 A sending module, configured to send a confirmation message that does not include a selective response SACK option to the sending device when the judgment result is yes, wherein the SACK option carries the information that the receiving device has received from the sending device. Information about received data packets that did not arrive in the expected order.
11、 如权利要求 10所述的装置, 其中, 所述判断模块包括: 11. The device according to claim 10, wherein the judgment module includes:
第一计算模块, 用于计算所述接收方设备已从所述发送方设备接收的未 按照预期顺序到达的数据报文的累积数量; 以及 A first calculation module, configured to calculate the cumulative number of data packets that the receiver device has received from the sender device that do not arrive in the expected order; and
第一检查模块, 用于检查所计算的累积数量是否未达到第一数量阈值。 The first checking module is used to check whether the calculated cumulative quantity does not reach the first quantity threshold.
12、 如权利要求 10所述的装置, 其中, 所述判断模块包括: 第二计算模块, 用于计算自上一次向所述发送方设备发送包括所述 SACK选项的确认报文之后, 所述接收方设备已连续从所述发送方设备接收 的未按照预期顺序到达的数据报文的数量; 以及 12. The device of claim 10, wherein the judgment module includes: a second calculation module, configured to calculate the The number of data packets that the receiving device has received consecutively from the sending device that did not arrive in the expected order; and
第二检查模块, 用于检查所计算的数量是否未达到第二数量阈值。 The second checking module is used to check whether the calculated quantity does not reach the second quantity threshold.
13、 如权利要求 10所述的装置, 其中, 所述判断模块包括: 13. The device according to claim 10, wherein the judgment module includes:
第三计算模块, 用于计算所述接收方设备已从所述发送方设备接收的未 按照预期顺序到达的所有数据报文所包括的数据的总和; 以及 A third calculation module, configured to calculate the sum of data included in all data packets that the receiver device has received from the sender device and do not arrive in the expected order; and
第三检查模块, 用于检查所计算的总和是否未达到第三数量阈值。 The third checking module is used to check whether the calculated sum does not reach the third quantity threshold.
14、 如权利要求 9所述的装置, 其中, 还包括: 14. The device of claim 9, further comprising:
确定模块, 用于当判断结果为否定时, 确定所述接收方设备已从所述发 送方设备接收的未按照预期顺序到达的数据是否满足指定的时间条件; 以及 传送模块用于当确定结果为是时, 向所述发送方设备发送未包括所述 SACK选项的确认报文。 a determination module, configured to determine whether the data that has been received by the receiving device from the sending device and has not arrived in the expected order when the determination result is negative, and whether the data that has not arrived in the expected order satisfies the specified time condition; and a transmitting module is configured to determine when the determination result is If yes, send an acknowledgment message that does not include the SACK option to the sender device.
15、 如权利要求 14所述的装置, 其中, 所述确定模块包括: 15. The device according to claim 14, wherein the determining module includes:
第四计算模块, 用于计算自从所述接收方设备中存在有从所述发送方设 备接收的未按照预期顺序到达的数据报文已持续的时间; 以及 The fourth calculation module is used to calculate the time that has lasted since the data packets received from the sender device that did not arrive in the expected order existed in the receiver device; and
第四检查模块, 用于检查所计算的时间是否未达到指定的时间阈值。 The fourth checking module is used to check whether the calculated time does not reach the specified time threshold.
16、 一种通信系统, 包括: 16. A communication system, including:
所述发送方设备, 用于向所述接收方设备发送数据报文; 以及 The sender device is used to send a data message to the receiver device; and
所述接收方设备用于当从所述发送方设备接收到未按照预期顺序到达的 数据报文时, 判断所述接收方设备已从所述发送方设备接收的未按照预期顺 序到达的数据报文是否满足指定的数量条件, 并当判断结果为是时, 向所述 发送方设备发送未包括选择性应答 SACK选项的确认报文,其中,所述 SACK 选项携带所述接收方设备已从所述发送方设备接收到的未按照预期顺序到达 的数据报文的信息。 The receiving device is configured to, when receiving a data packet that does not arrive in an expected order from the sending device, determine that the receiving device has received a data packet that does not arrive in an expected order from the sending device. Whether the message meets the specified quantity condition, and when the judgment result is yes, send a confirmation message that does not include the selective response SACK option to the sender device, wherein the SACK option carries the information that the receiver device has received from all The sending device received data that did not arrive in the order expected. information of the data packet.
17、 根据权利要求 16所述的通信系统, 其特征在于, 17. The communication system according to claim 16, characterized in that,
所述接收方设备还用于当所述判断结果为否时, 确定所述接收方设备已 从所述发送方设备接收的未按照预期顺序到达的数据是否满足指定的时间条 件, 并当确定结果为肯定时, 向所述发送方设备发送未包括所述 SACK选项 的确认报文。 The receiving device is also configured to determine whether the data that has been received by the receiving device from the sending device and does not arrive in an expected order when the judgment result is no, and determines whether the data that has not arrived in an expected order satisfies a specified time condition, and when the determination result If the result is positive, send an acknowledgment message that does not include the SACK option to the sender device.
18、 一种计算机系统, 其特征在于, 包括: 与所述总线相连的处理器; 18. A computer system, characterized in that it includes: a processor connected to the bus;
与所述总线相连的存储器; a memory connected to said bus;
其中, 所述处理器通过所述总线, 调用所述存储器中存储的可执行指令, 以用于: Wherein, the processor calls the executable instructions stored in the memory through the bus for:
当所述计算机系统从发送方设备接收到未按照预期顺序到达的数据报文 时, 判断所述计算机系统已从所述发送方设备接收的未按照预期顺序到达的 数据报文是否满足指定的数量条件; 以及 When the computer system receives data packets that do not arrive in the expected order from the sender device, it is determined whether the data packets that the computer system has received from the sender device and do not arrive in the expected order satisfy a specified number. conditions; and
当判断结果为是时, 向所述发送方设备发送未包括选择性应答 SACK选 项的确认报文, 其中, 所述 SACK选项携带所述计算机系统已从所述发送方 设备接收到的未按照预期顺序到达的数据报文的信息。 When the judgment result is yes, send an acknowledgment message that does not include a selective response SACK option to the sending device, where the SACK option carries an error message that the computer system has received from the sending device and is not as expected. Information about sequentially arriving data packets.
19、 根据权利要求 18所述的计算机系统, 其特征在于, 所述处理器还用 于当所述判断结果为否时, 确定所述计算机系统已从所述发送方设备接收的 未按照预期顺序到达的数据是否满足指定的时间条件, 并当确定结果为肯定 时, 向所述发送方设备发送未包括所述 SACK选项的确认报文。 19. The computer system according to claim 18, wherein the processor is further configured to determine that the computer system has received from the sender device not in an expected order when the judgment result is no. Whether the arriving data meets the specified time condition, and when the determination result is positive, an acknowledgment message not including the SACK option is sent to the sending device.
PCT/CN2012/083197 2012-05-23 2012-10-19 Method and device for controlling data transmission WO2013174095A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210169695.7 2012-05-23
CN201210169695.7A CN102694631B (en) 2012-05-23 2012-05-23 Method and device for controlling data transmission

Publications (1)

Publication Number Publication Date
WO2013174095A1 true WO2013174095A1 (en) 2013-11-28

Family

ID=46859925

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/083197 WO2013174095A1 (en) 2012-05-23 2012-10-19 Method and device for controlling data transmission

Country Status (2)

Country Link
CN (1) CN102694631B (en)
WO (1) WO2013174095A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114124299A (en) * 2021-11-08 2022-03-01 国汽智控(北京)科技有限公司 Radar data transmission method, device, equipment and medium

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102694631B (en) * 2012-05-23 2015-03-18 华为技术有限公司 Method and device for controlling data transmission
CN103856302B (en) * 2014-03-11 2017-09-19 广州天通智能技术有限公司 A kind of smart machine control method
CN105187949B (en) * 2015-08-21 2019-06-25 广州市百果园网络科技有限公司 A kind of transmission method and client of video
CN107623562B (en) * 2017-09-30 2021-05-07 新华三技术有限公司 Data transmission method and device and electronic equipment
CN110113293B (en) * 2018-02-01 2021-08-13 腾讯科技(深圳)有限公司 TCP data transmission control method and device, storage medium and electronic device
CN114448573B (en) * 2022-03-02 2024-02-23 新华三半导体技术有限公司 Message processing method and device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005018194A1 (en) * 2003-08-14 2005-02-24 International Business Machines Corporation Improved tcp performance during packet reordering
US20050243718A1 (en) * 2004-04-05 2005-11-03 Alcatel Wireless mobile terminal and telecommunication system
CN102299899A (en) * 2010-06-24 2011-12-28 清华大学 Method for accelerating TCP (Transmission Control Protocol) under severe channel
CN102413503A (en) * 2011-12-27 2012-04-11 上海海事大学 Method for adaptively determining packet delayed sending for Semi-TCP (transmission control protocol)
CN102694631A (en) * 2012-05-23 2012-09-26 华为技术有限公司 Method and device for controlling data transmission

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3158357B2 (en) * 1998-09-03 2001-04-23 株式会社超高速ネットワーク・コンピュータ技術研究所 Retransmission control method
JP4283589B2 (en) * 2003-03-25 2009-06-24 株式会社エヌ・ティ・ティ・ドコモ COMMUNICATION DEVICE, COMMUNICATION CONTROL METHOD, AND PROGRAM
US7864771B2 (en) * 2007-04-20 2011-01-04 Cisco Technology, Inc. Parsing out of order data packets at a content gateway of a network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005018194A1 (en) * 2003-08-14 2005-02-24 International Business Machines Corporation Improved tcp performance during packet reordering
US20050243718A1 (en) * 2004-04-05 2005-11-03 Alcatel Wireless mobile terminal and telecommunication system
CN102299899A (en) * 2010-06-24 2011-12-28 清华大学 Method for accelerating TCP (Transmission Control Protocol) under severe channel
CN102413503A (en) * 2011-12-27 2012-04-11 上海海事大学 Method for adaptively determining packet delayed sending for Semi-TCP (transmission control protocol)
CN102694631A (en) * 2012-05-23 2012-09-26 华为技术有限公司 Method and device for controlling data transmission

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114124299A (en) * 2021-11-08 2022-03-01 国汽智控(北京)科技有限公司 Radar data transmission method, device, equipment and medium
CN114124299B (en) * 2021-11-08 2024-04-23 国汽智控(北京)科技有限公司 Radar data transmission method, device, equipment and medium

Also Published As

Publication number Publication date
CN102694631B (en) 2015-03-18
CN102694631A (en) 2012-09-26

Similar Documents

Publication Publication Date Title
WO2013174095A1 (en) Method and device for controlling data transmission
US8010861B2 (en) System for fast recovery from losses for reliable data communication protocols
JP4654926B2 (en) COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND CONgestion Control Method Used In Them
US7904777B2 (en) Method and system for generating block acknowledgements in wireless communications
JP2007534194A5 (en)
CN104025525A (en) Notification by network element of packet drops
US8976814B2 (en) Method of transporting data from sending node to destination node
US7593338B2 (en) Congestion control method and system for reducing a retransmission timeout count in a transmission control protocol
WO2008025251A1 (en) A method for controling data retransmission in wireless network at the last retransmission time
EP1787419A1 (en) Signalling a state of a transmission link via a transport control protocol
US20070280107A1 (en) Data Unit Sender Control Method
WO2015012936A1 (en) Network congestion control with awareness of random packet losses
WO2016201904A1 (en) Tcp-based data transmission method and device
CN102769520A (en) Wireless network congestion control method based on stream control transmission protocol (SCTP)
US9590913B2 (en) System and method for reducing bandwidth usage of a network
JP7067544B2 (en) Communication systems, communication devices, methods and programs
WO2014194493A1 (en) Method, device and system for reducing confirmation packets at transmission control layer
WO2008100689A2 (en) Automatic repeat request (arq) reset method
JP2016174211A (en) Communication system
WO2011116577A1 (en) Data retransmission method and apparatus
US10849160B2 (en) Reinstating poll retransmission timer
US20150071273A1 (en) Efficient transfer of tcp traffic over wlan
WO2013125175A1 (en) Communication system, communication method, and data reception terminal
WO2012132283A1 (en) Communication device and method of controlling communication therefor
EP3613164B1 (en) Device and method for monitoring a tcp connection

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

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

Country of ref document: EP

Kind code of ref document: A1