WO2014205708A1 - 一种数据报文发送方法、装置和设备 - Google Patents

一种数据报文发送方法、装置和设备 Download PDF

Info

Publication number
WO2014205708A1
WO2014205708A1 PCT/CN2013/078109 CN2013078109W WO2014205708A1 WO 2014205708 A1 WO2014205708 A1 WO 2014205708A1 CN 2013078109 W CN2013078109 W CN 2013078109W WO 2014205708 A1 WO2014205708 A1 WO 2014205708A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
amount
data
delay
window
Prior art date
Application number
PCT/CN2013/078109
Other languages
English (en)
French (fr)
Inventor
蔡仕江
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2013/078109 priority Critical patent/WO2014205708A1/zh
Priority to CN201380059397.5A priority patent/CN104782090B/zh
Publication of WO2014205708A1 publication Critical patent/WO2014205708A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport

Definitions

  • the present invention relates to the field of network communication technologies, and in particular, to a data message sending method, apparatus, and device. Background technique
  • TCP Transmission Control Protocol
  • TCP Transmission Control Protocol
  • the transmitting end when the transmitting end and the receiving end perform data transmission based on the TCP protocol, the transmitting end usually sends a data packet according to the size of the sending window notified by the receiving end.
  • the transmission window cannot be larger than the receiving window size of the receiving end, the sending window specifies the number of data that can be transmitted, and the receiving window specifies the amount of data that the receiving end can buffer.
  • the inventor has found that due to the network delay in the data transmission process, the existing data transmission mode has at least the following problems:
  • the receiving end cannot receive the data message immediately, and the data transmission is slow.
  • the received data message is not continuous, and breakpoints are prone to occur, so the data transmission quality is not high.
  • the present invention provides a data message sending method for solving the technical problem of low data transmission quality in the prior art.
  • the invention also provides a data message sending device and device for ensuring the implementation of the above method in practical applications.
  • the present invention provides the following technical solutions:
  • a first aspect of the present invention provides a data packet sending method, including:
  • the determining, according to the sending window and the amount of the buffered data, determining the amount of data to be sent includes:
  • Determining a smaller window value in the transmission window and the congestion window as an actual transmission window Determining a smaller window value in the transmission window and the congestion window as an actual transmission window; accumulating the actual transmission window and the buffered data amount to obtain a transmission data amount.
  • the network bandwidth is a network specified bandwidth or an actual bandwidth of a network communication link.
  • the network delay is a network specified delay or a network communication link actual delay.
  • the determining, by the network bandwidth and the network delay, the amount of cached data of the network communication link in the network delay includes:
  • the product value of the network bandwidth and the network delay is taken as the amount of buffered data of the network communication link within the network delay.
  • the determining, by the network bandwidth and the network delay, the amount of cached data of the network communication link in the network delay includes:
  • the calculation formula of the cache data amount is:
  • SendWin ( a *BaseWin* ActualRTT* ActualQoS) ⁇ ( ⁇ *BaseRTT*BaseQoS);
  • BaseWin indicates the transmission window
  • ActualRTT indicates the actual delay of the network communication link
  • ActualQoS indicates the actual bandwidth of the network communication link
  • BaseRTT indicates the network specified delay
  • BaseQoS indicates the network specified bandwidth
  • indicates the actual error parameter
  • indicates the preset error. parameter.
  • a second aspect of the present invention provides a data message sending apparatus, including:
  • a first determining module configured to determine, according to network bandwidth and network delay, a network communication link The amount of cached data within the network delay
  • a second determining module configured to determine, according to the sending window and the amount of the cached data determined by the first determining module, a quantity of sent data
  • a sending module configured to send a data packet to the receiving end according to the amount of the sent data determined by the second determining module.
  • the second determining module includes: a first window determining module, configured to determine a congestion window;
  • a second window determining module configured to determine a smaller window value in the sending window and the congestion window as an actual sending window
  • a data amount determining module configured to accumulate the actual sending window and the buffered data amount to obtain a sent data amount.
  • the network bandwidth is a network specified bandwidth or an actual bandwidth of a network communication link.
  • the network delay is a network specified delay or a network communication link actual delay.
  • the first determining module is specifically configured to use a product value of a network bandwidth and a network delay as a buffered data amount of the network communication link in the network delay.
  • the first determining module is specifically configured to determine, according to a cache data amount calculation formula, a cache data amount of a network communication link within a network delay;
  • the calculation formula is:
  • SendWin ( a *BaseWin* ActualRTT* ActualQoS) ⁇ ( ⁇ *BaseRTT*BaseQoS);
  • BaseWin indicates the transmission window
  • ActualRTT indicates the actual delay of the network communication link
  • ActualQoS indicates the actual bandwidth of the network communication link
  • BaseRTT indicates the network specified delay
  • BaseQoS indicates the network specified bandwidth
  • indicates the actual error parameter
  • indicates the preset error. parameter.
  • a third aspect of the present invention provides a data message transmitting apparatus, including at least a processor and a transmitter;
  • the processor is configured to determine, according to a network bandwidth and a network delay, a buffered data amount of the network communication link in the network delay; and determine a sent data amount according to the sending window and the cached data amount;
  • the transmitter is configured to send a data packet to the receiving end according to the amount of the sent data.
  • the processor determines, according to the sending window and the buffered data quantity, that the amount of sent data is specifically determining a congestion window; determining that the sending window and the congestion window are smaller The window value is used as an actual transmission window; the actual transmission window and the amount of buffered data are accumulated to obtain a transmission data amount.
  • the processor determines, according to the network bandwidth and the network delay, the amount of cached data of the network communication link in the network delay, specifically, the network bandwidth and the network time.
  • the product value of the delay is the amount of buffered data within the network delay of the network communication link.
  • the processor determines, according to network bandwidth and network delay, that the amount of cached data of the network communication link in the network delay is specifically calculated according to a cached data amount. Determining the amount of cached data of the network communication link within the network delay;
  • the calculation formula of the cache data amount is:
  • SendWin ( a *BaseWin* ActualRTT* ActualQoS) ⁇ ( ⁇ *BaseRTT*BaseQoS);
  • BaseWin indicates the transmission window
  • ActualRTT indicates the actual delay of the network communication link
  • ActualQoS indicates the actual bandwidth of the network communication link
  • BaseRTT indicates the network specified delay
  • BaseQoS indicates the network specified bandwidth
  • indicates the actual error parameter
  • indicates the preset error. parameter.
  • the present invention provides a data packet sending method, device and device, and determines the amount of buffered data in a network communication link according to network bandwidth and network delay. According to the sending window notified by the receiving end, combined with the amount of buffered data, the amount of transmitted data is determined, and the data packet can be sent to the receiving end according to the amount of the transmitted data.
  • the amount of transmitted data sent by the transmitting end is increased, thereby making the data transmission continuous, reducing the data receiving waiting time at the receiving end, ensuring the smoothness of the received data, and improving the fluency of the received data. Data transmission quality.
  • FIG. 1 is a flowchart of an embodiment of a data packet sending method according to the present invention.
  • FIG. 1 is a schematic diagram of an application scenario according to an embodiment of the present invention.
  • FIG. 2 is a flowchart of another embodiment of a data packet sending method according to the present invention.
  • FIG. 3 is a schematic structural diagram of an embodiment of a data packet transmitting apparatus according to the present invention
  • FIG. 4 is a schematic structural diagram of another embodiment of a data packet transmitting apparatus according to the present invention
  • One of the main ideas of the present invention may include:
  • the sender determines the amount of buffered data in the network communication link according to the network bandwidth and the network delay. According to the sending window notified by the receiving end, combined with the amount of the buffered data, the amount of data sent by the sending end can be determined, and the sending end follows the Send the amount of data and send a data message to the receiver.
  • the amount of buffered data on the network communication link within the network delay the amount of transmitted data sent by the transmitting end is increased, thereby making the data transmission continuous, reducing the data receiving waiting time at the receiving end, and improving the data transmission quality.
  • FIG. 1 is a flow chart of an embodiment of a data transmission method according to the present invention, which may include the following steps:
  • Step 101 Determine, according to the network bandwidth and the network delay, the amount of cached data of the network communication link within the network delay.
  • the data packet may be specifically a TCP (Transmission Control Protocol) data packet.
  • TCP Transmission Control Protocol
  • the transmitting end and the receiving end perform network communication based on the TCP protocol
  • the data is transmitted in the form of a message.
  • the message may be the smallest data unit sent by the sending end.
  • the application data is usually divided.
  • the unit of data that is suitable for transmission, that is, the message, is in bytes.
  • Network delay refers to the time required for data to travel from one system to another, including the transmission time on the network communication link and the processing time of the two systems. The longer the network delay is, the data on the network communication link. The more will be.
  • the network bandwidth refers to the amount of data transmitted in a unit time. Therefore, in this embodiment, the amount of data existing on the network communication link within the network delay can be obtained according to the network delay and the network bandwidth.
  • the medium embodiment is defined as the amount of buffered data, which may include the amount of data being processed and being transmitted over the network communication link.
  • the network delay and the network bandwidth may refer to a theoretical delay and a theoretical bandwidth specified by the network.
  • the actual bandwidth of the network is not the same as the bandwidth specified by the network.
  • the network bandwidth may refer to the actual bandwidth of the network, and the transmitting end. It can be calculated when data transmission is performed.
  • the network bandwidth may also be a network estimated bandwidth calculated according to network conditions.
  • the network delay can also use the actual network delay. Due to network transmission and other reasons, the network delay usually increases.
  • the actual delay of the network can be based on the corresponding ACK (Acknowledgement) received after each data packet is sent. ) The time to determine.
  • the amount of cached data may be specifically equal to a product of a network bandwidth and a network delay.
  • Step 102 Determine the amount of sent data according to the sending window and the amount of cached data.
  • the sending window means that the receiving end informs the sending end.
  • the size of the sending window needs to be smaller than the receiving window of the receiving end.
  • the receiving window refers to the amount of data that the receiving end can buffer.
  • the unit of the window size is byte. Therefore, the amount of data specified by the window size is also the number of data messages.
  • the transmitting end transmits data according to the amount of data specified by the sending window, but the inventor has found in the research that when the transmitting end and the receiving end perform data transmission, the middle passes through the middle.
  • the intermediate service device For a service device, such as a router, the intermediate service device has a queue or a cache, so that the data packet sent by the sender does not immediately reach the receiver.
  • These data packets may be located on different intermediate service devices in the network communication link for service processing.
  • Intermediate service equipment also affects network latency, resulting in increased data in the network communication link.
  • the amount of buffered data on the network communication link can be obtained, and the amount of data sent by the transmitting end can be increased.
  • the transmit window and the amount of buffered data are accumulated, and the accumulated value is used as the amount of transmitted data.
  • Step 103 Send a data packet to the receiving end according to the amount of sent data.
  • the transmitting end After determining the amount of data to be sent, the transmitting end can send a data message to the receiving end according to the amount of the transmitted data.
  • the amount of transmitted data comprehensively considers the amount of buffered data on the network communication link, the number of actual data packets sent by the transmitting end is increased, and the continuity of the data transmission can be ensured, thereby reducing the waiting time of the receiving end, so that the receiving end receives
  • the data message is smooth, which improves the quality of data transmission.
  • the server 10 informs the terminal 20 that the transmission window is 10 MTU (Maximum Transmission Unit) data packets, wherein one MTU is approximately 1500 bytes, and the actual amount of data transmitted in the application is usually large. Therefore, in this example, the amount of data is described by MTU. Due to network delay, the amount of buffered data in the network communication link is 30 MTU data packets. If the server still sends data packets according to the size specified in the sending window, the data packets will be buffered on the network communication link, so that the UE cannot receive the data packets immediately, the UE has a long waiting time, and the network communication link can be cached.
  • MTU Maximum Transmission Unit
  • the data packets of 30 MTUs are not smooth, and the data packets received by the receiver are not smooth.
  • the transmitting end can send 40 MTU data packets at a time, and the receiving end can still receive 10 MTU data messages each time, and the data does not overflow and is lost.
  • the 30 MTU data messages are processed in the network communication link. This makes it unnecessary for the receiving end to wait for a long time, ensuring the continuity of data transmission and improving the quality of data transmission.
  • the transmitting end first determines the network communication according to the network bandwidth and the network delay.
  • the amount of buffered data in the link, according to the sending window notified by the receiving end, combined with the amount of buffered data, can determine the amount of transmitted data at the transmitting end, and the transmitting end sends a data packet to the receiving end according to the amount of the transmitted data.
  • FIG. 2 is a flowchart of another embodiment of a data packet sending method according to the present invention. The method may include the following steps:
  • Step 201 Determine, according to the network bandwidth and the network delay, the amount of cached data of the network communication link within the network delay.
  • the network bandwidth may refer to a network-defined bandwidth, that is, a theoretical bandwidth of the network, or the network bandwidth may refer to an actual network bandwidth.
  • the network delay can refer to the network specified delay or the actual network delay.
  • the amount of the buffered data may be the product of the network bandwidth and the network delay. According to the foregoing description, the amount of the buffered data may be a product of a network-defined bandwidth and a network-defined delay, or a network-defined bandwidth and an actual network delay. The product value, or the product of the actual bandwidth of the network and the specified delay of the network, or the product of the actual bandwidth of the network and the actual delay of the network.
  • the amount of cached data can be obtained according to the following cached data amount calculation formula, namely:
  • SendWin ( a *BaseWin* ActualRTT* ActualQoS) ⁇ ( ⁇ *BaseRTT*BaseQoS);
  • SendWin is the amount of buffered data
  • Base Win is the sending window, which informs the transmitting end of the receiving end that it needs to be smaller than the receiving window of the receiving end
  • ActualRTT indicates the actual delay of the network communication link
  • ActualQoS indicates the actual bandwidth of the network communication link
  • BaseRTT indicates the network specified delay, usually 50 milliseconds
  • BaseQoS indicates the network specified bandwidth, usually 1Mbps can be obtained from the network parameters
  • indicates the preset error parameters, which can be preset according to BaseRTT and BaseQoS, usually 1
  • indicates Actual error parameters, ⁇ > 2 and ⁇ > ⁇ .
  • the network bandwidth can be the network estimated bandwidth calculated according to the network specified bandwidth and the network theoretical bandwidth.
  • ( a *BaseWin* ActualQoS) ⁇ ( ⁇ *BaseRTT*BaseQoS).
  • SendWin ⁇ * ActualRTT.
  • the estimated bandwidth of the network can be calculated by the above method, and can also be obtained by other algorithms of TCP.
  • Step 202 Determine a congestion window.
  • Step 203 Determine a smaller window value in the sending window and the congestion window as an actual sending window.
  • congestion control can be performed to ensure data transmission quality while avoiding network congestion.
  • congestion control is implemented by using a congestion window control mechanism, and the congestion window is an amount of data that can be transmitted according to the actual situation of the network.
  • the congestion window can be determined according to the actual network delay. If the actual network delay is larger than the last time, the network is congested, and the corresponding congestion window size is reduced. If the actual network delay is smaller than the last time, or If the change is made, the size of the congestion window can be increased accordingly to achieve congestion control.
  • the determination of the congestion window can be implemented by a variety of algorithms, which can be adjusted according to the actual delay of the network.
  • the sender can send a data packet to the receiver according to the amount of data specified by the congestion window. Considering the receiving capability of the receiving end, it is necessary to determine the smaller window value of the two as the actual sending window according to the determined congestion window and the sending window notified by the receiving end.
  • Step 204 Accumulate the actual transmission window and the buffered data amount to obtain a transmission data amount.
  • the amount of transmitted data finally obtained is equal to the sum of the actual transmission window and the amount of buffered data, namely:
  • congestion Win represents a congestion window.
  • Step 205 Send a data packet to the receiving end according to the amount of the sent data.
  • the transmitting end first determines the network communication according to the network bandwidth and the network delay.
  • the amount of buffered data in the link; according to the sending window notified by the receiving end, and the determined congestion window, the actual sending window can be calculated; combined with the actual sending window and the amount of buffered data, the amount of transmitted data of the transmitting end is obtained.
  • the transmitting end sends a data packet to the receiving end according to the amount of the transmitted data.
  • FIG. 3 is a schematic structural diagram of an embodiment of a data packet sending apparatus according to the present invention.
  • the apparatus may include:
  • the first determining module 301 is configured to determine, according to the network bandwidth and the network delay, the amount of cached data of the network communication link within the network delay.
  • the network bandwidth may refer to the network-defined bandwidth, that is, the theoretical bandwidth of the network, or the network bandwidth may refer to the actual bandwidth of the network, or the bandwidth estimated according to the actual situation of the network.
  • the network delay can refer to the network specified delay or the actual network delay.
  • the amount of cached data may refer to a product of network bandwidth and network delay.
  • the second determining module 302 is configured to determine, according to the sending window and the amount of cached data determined by the first determining module 301, the amount of sent data.
  • the transmit window and the amount of buffered data are accumulated, and the accumulated value is used as the amount of transmitted data.
  • the sending module 303 is configured to send a data packet to the receiving end according to the amount of the sent data determined by the second determining module 302.
  • the data packet sending apparatus may first determine the amount of buffered data in the network communication link according to the network bandwidth and the network delay, and determine the amount of the cached data according to the sending window notified by the receiving end. When the amount of data is sent, the data packet can be sent to the receiving end according to the amount of the transmitted data.
  • the amount of buffered data on the network communication link of the network delay the amount of transmitted data sent by the transmitting end is increased, the data waiting time of the receiving end is reduced, the continuity of data reception is ensured, and the data transmission quality is improved.
  • Can include:
  • the first determining module 401 is configured to determine, according to the network bandwidth and the network delay, the amount of cached data of the network communication link within the network delay.
  • the network bandwidth may refer to a network-defined bandwidth, that is, a theoretical bandwidth of the network, or the network bandwidth may refer to an actual network bandwidth.
  • the network delay can refer to the network specified delay or the actual network delay.
  • the amount of the buffered data may be the product of the network bandwidth and the network delay. According to the foregoing description, the amount of the buffered data may be a product of a network-defined bandwidth and a network-defined delay, or a network-defined bandwidth and an actual network delay. The product value, or the product of the actual bandwidth of the network and the specified delay of the network, or the product of the actual bandwidth of the network and the actual delay of the network.
  • the amount of cached data can be obtained according to the following cached data amount calculation formula, namely:
  • SendWin ( a *BaseWin* ActualRTT* ActualQoS) ⁇ ( ⁇ *BaseRTT*BaseQoS).
  • SendWin is the amount of buffered data
  • BaseWin indicates the sending window, which informs the transmitting end of the receiving end that it needs to be smaller than the receiving window of the receiving end
  • ActualRTT indicates the actual delay of the network communication link
  • ActualQoS indicates the actual bandwidth of the network communication link
  • BaseRTT Indicates the network specified delay, usually 50 milliseconds
  • BaseQoS indicates the network specified bandwidth, usually 1 Mbps can be obtained from the network parameters
  • indicates the preset error parameters, which can be preset according to BaseRTT and BaseQoS, usually 1;
  • indicates the actual Error parameter, (1 > 2 and (1 > 0).
  • the network bandwidth can be the network estimated bandwidth calculated according to the network specified bandwidth and the network theoretical bandwidth, that is,
  • ( a *BaseWin* ActualQoS) ⁇ ( ⁇ *BaseRTT*BaseQoS).
  • SendWin ⁇ * ActualRTT.
  • the estimated bandwidth of the network can be calculated by the above method, and can also be obtained by other algorithms of TCP.
  • a second determining module 402 configured to be determined according to the sending window and the first determining module 401
  • the amount of buffered data determines the amount of transmitted data.
  • the second determining module 402 may specifically include:
  • the first window determining module 4021 is configured to determine a congestion window.
  • the second window determining module 4022 is configured to determine a smaller window value in the sending window and the congestion window as an actual sending window.
  • the data amount determining module 4023 is configured to accumulate the actual sending window and the buffered data amount to obtain a sent data amount.
  • congestion control can be implemented to ensure the quality of data transmission and avoid network congestion.
  • congestion control is performed by using a congestion window control mechanism, and the congestion window is an amount of data that can be transmitted according to the actual situation of the network.
  • the congestion window can be determined according to the actual network delay. If the actual network delay is larger than the last time, the network is congested, and the corresponding congestion window size is reduced. If the actual network delay is smaller than the last time, or If the change is made, the size of the congestion window can be increased accordingly to achieve congestion control.
  • the determination of the congestion window can be implemented by a variety of algorithms, which can be adjusted according to the actual delay of the network.
  • the smaller window value of the two is determined as the actual sending window according to the determined congestion window and the sending window notified by the receiving end.
  • the actual send window and the amount of cached data are accumulated, that is, the amount of transmitted data is obtained.
  • the data message sending device may first determine the amount of buffered data in the network communication link according to the network bandwidth and the network delay; and may calculate according to the sending window notified by the receiving end and the determined congestion window. Obtaining an actual transmission window; combining the actual transmission window and the amount of buffered data, obtaining the amount of transmitted data, and transmitting the data packet to the receiving end according to the amount of the transmitted data.
  • the amount of buffered data on the network communication link of the network delay the amount of transmitted data sent by the transmitting end is increased, the data waiting time of the receiving end is reduced, the continuity of data reception is ensured, the data transmission quality is improved, and the data is transmitted.
  • the amount of congestion is integrated into the congestion window to achieve congestion control while avoiding network congestion.
  • the device described in the above two embodiments of the present invention may be specifically applied to the transmitting end in practical applications.
  • the sending end may be specifically a server applied in a fixed network and a wireless network, such as a WEB server, an FTP server, a video server, etc., and the server deploying the device of the present invention may improve the link when transmitting data to the terminal.
  • the data transmission quality ensures the continuity of the data received by the terminal, so that the user can view the smooth data and improve the user experience.
  • the transmitting end may also be used in an intermediate service device in which a terminal and a server perform data transmission in a network scenario such as a wireless or a fixed network, thereby improving data transmission quality and ensuring continuity of data transmission.
  • FIG. 5 it is a schematic structural diagram of an embodiment of a data packet sending apparatus according to the present invention.
  • the data message transmitting device includes at least a processor 501 and a transmitter 502.
  • the processor 501 is connected to the transmitter 502, and can communicate with each other through a bus.
  • the processor 501 is configured to determine, according to the network bandwidth and the network delay, the amount of buffered data of the network communication link within the network delay; and determine the amount of sent data according to the sending window and the amount of the buffered data.
  • the processor 501 may be a central processing unit CPU or a specific integrated circuit ASIC
  • the transmitter 502 is configured to send a data message to the receiving end according to the amount of the sent data.
  • Transmitter 502 may be a transmitter or one or more integrated circuits configured to implement embodiments of the present invention.
  • the processor 501 determines, according to the sending window and the amount of the buffered data, that the amount of the sent data may specifically determine the congestion window first, and the smaller window value of the congestion window and the sending window is used as the actual sending window, and the actual sending window is The amount of cached data is accumulated, and the amount of transmitted data is obtained.
  • the processor 501 determines, according to the network bandwidth and the network delay, the amount of buffered data of the network communication link in the network delay, specifically, the product value of the network bandwidth and the network delay as network communication. The amount of cached data within the network delay of the link.
  • the network bandwidth may refer to a network-defined bandwidth, that is, a theoretical bandwidth of the network, or the network bandwidth may refer to an actual bandwidth of the network.
  • the network delay can refer to the network specified delay or the actual network delay.
  • the processor 501 determines, according to the network bandwidth and the network delay, the amount of buffered data of the network communication link in the network delay, specifically according to the calculation formula of the buffered data amount, and determines the network communication link. The amount of cached data within the network delay;
  • the calculation formula of the cache data amount is:
  • SendWin ( a *BaseWin* ActualRTT* ActualQoS) ⁇ ( ⁇
  • BaseWin indicates the transmission window
  • ActualRTT indicates the actual delay of the network communication link
  • ActualQoS indicates the actual bandwidth of the network communication link
  • BaseRTT indicates the network specified delay
  • BaseQoS indicates the network specified bandwidth
  • indicates the actual error parameter
  • indicates the preset error. parameter.
  • the network delay uses the actual time delay of the network, and the network bandwidth may be the network estimated bandwidth calculated according to the network specified bandwidth and the network theoretical bandwidth.
  • the data packet sending device provided by the embodiment can ensure continuity of data reception and improve data transmission quality when the device and the receiving end perform data transmission.
  • the disclosed methods, apparatus, and apparatus may be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not executed.
  • the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some communication interface, device or unit, and may be in electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separate, and the components displayed as the units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. Medium.
  • the functions, if implemented in the form of software functional units and sold or used as separate products, may be stored in a computer readable storage medium.
  • the technical solution of the present invention which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
  • the instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a removable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and the like, which can store program codes. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种数据报文发送方法、装置和设备,所述方法包括:根据网络带宽以及网络时延,确定网络通信链路在所述网络时延内的缓存数据量;根据发送窗口以及所述缓存数据量,确定发送数据量;按照所述发送数据量,向接收端发送数据报文。通过本发明实施例,保证了数据接收的连续性,提高了数据传输质量。

Description

一种数据报文发送方法、 装置和设备
技术领域 本发明涉及网络通信技术领域, 更具体的说涉及一种数据报文发送方法、 装置和设备。 背景技术
TCP ( Transmission Control Protocol , 传输控制协议 )是一种面向连接的、 可靠的、基于字节流的传输层通信协议,其提供的是一种全双工的字节流服务。
现有技术中, 发送端与接收端基于 TCP协议进行数据传输时, 发送端通 常是根据接收端告知的发送窗口大小, 发送数据报文。 根据 TCP协议规定, 该发送窗口不能大于接收端的接收窗口大小, 发送窗口规定了能够发送的数 量, 接收窗口规定了接收端能够緩存的数据量。
而发明人在实现本发明的过程中发现, 由于数据传输过程中存在网络时 延,现有的这种数据传输方式至少存在如下问题: 接收端不能立即接收到数据 报文, 数据传输较慢, 且接收到的数据报文不连续, 容易出现断点, 因此数据 传输质量不高。
发明内容
有鉴于此, 本发明提供了一种数据报文发送方法, 用以解决现有技术中数 据传输质量低的技术问题。
本发明还提供了一种数据报文发送装置及设备,用以保证上述方法在实际 应用中的实现。
为实现上述目的, 本发明提供如下技术方案:
本发明的第一方面提供了一种数据报文发送方法, 包括:
根据网络带宽以及网络时延,确定网络通信链路在所述网络时延内的緩存 数据量; 根据发送窗口以及所述緩存数据量, 确定发送数据量;
按照所述发送数据量, 向接收端发送数据报文。
结合第一方面,在第一种可能实现方式中, 所述根据发送窗口以及所述緩 存数据量, 确定发送数据量包括:
确定拥塞窗口;
确定发送窗口和所述拥塞窗口中较小的窗口值作为实际发送窗口; 将所述实际发送窗口以及所述緩存数据量累加, 获得发送数据量。
结合第一方面,在第二种可能实现方式中, 所述网络带宽为网络规定带宽 或者网络通信链路实际带宽。
结合第一方面或第一方面的第二种可能实现方式,在第三种可能实现方式 中, 所述网络时延为网络规定时延或者网络通信链路实际时延。
结合第一方面,在第四种可能实现方式中, 所述根据网络带宽以及网络时 延, 确定网络通信链路在所述网络时延内的緩存数据量包括:
将网络带宽以及网络时延的乘积值作为网络通信链路在所述网络时延内 的緩存数据量。
结合第一方面,在第五种可能实现方式中, 所述根据网络带宽以及网络时 延, 确定网络通信链路在所述网络时延内的緩存数据量包括:
按照緩存数据量计算公式, 确定网络通信链路在网络时延内的緩存数据 量;
所述緩存数据量计算公式为:
SendWin = ( a *BaseWin* ActualRTT* ActualQoS) ÷ ( β *BaseRTT*BaseQoS);
其中, BaseWin表示发送窗口、 ActualRTT表示网络通信链路实际时延、 ActualQoS表示网络通信链路实际带宽、 BaseRTT表示网络规定时延、 BaseQoS 表示网络规定带宽、 α表示实际误差参数、 β表示预设误差参数。
本发明的第二方面提供了一种数据报文发送装置, 包括:
第一确定模块, 用于根据网络带宽以及网络时延,确定网络通信链路在所 述网络时延内的緩存数据量;
第二确定模块,用于根据发送窗口以及所述第一确定模块确定的所述緩存 数据量, 确定发送数据量;
发送模块, 用于按照所述第二确定模块确定的所述发送数据量, 向接收端 发送数据报文。
结合第二方面, 在第一种可能实现方式中, 所述第二确定模块包括: 第一窗口确定模块, 用于确定拥塞窗口;
第二窗口确定模块,用于确定发送窗口和所述拥塞窗口中较小的窗口值作 为实际发送窗口;
数据量确定模块, 用于将所述实际发送窗口以及所述緩存数据量累加, 获 得发送数据量。
结合第二方面,在第二种可能实现方式中, 所述网络带宽为网络规定带宽 或者网络通信链路实际带宽。
结合第二方面或第二方面的第二种可能实现方式,在第三种可能实现方式 中, 所述网络时延为网络规定时延或者网络通信链路实际时延。
结合第二方面,在第四种可能实现方式中, 所述第一确定模块具体用于将 网络带宽以及网络时延的乘积值作为网络通信链路在所述网络时延内的緩存 数据量。
结合第二方面,在第五种可能实现方式中, 所述第一确定模块具体用于按 照緩存数据量计算公式, 确定网络通信链路在网络时延内的緩存数据量; 所述緩存数据量计算公式为:
SendWin = ( a *BaseWin* ActualRTT* ActualQoS) ÷ ( β *BaseRTT*BaseQoS);
其中, BaseWin表示发送窗口、 ActualRTT表示网络通信链路实际时延、 ActualQoS表示网络通信链路实际带宽、 BaseRTT表示网络规定时延、 BaseQoS 表示网络规定带宽、 α表示实际误差参数、 β表示预设误差参数。
本发明的第三方面提供了一种数据报文发送设备,至少包括处理器和发送 器; 所述处理器, 用于根据网络带宽以及网络时延, 确定网络通信链路在所述 网络时延内的緩存数据量; 根据发送窗口以及所述緩存数据量,确定发送数据 量;
所述发送器, 用于按照所述发送数据量, 向接收端发送数据报文。
结合第三方面,在第一种可能实现方式中, 所述处理器根据发送窗口以及 所述緩存数据量,确定发送数据量具体是确定拥塞窗口; 确定发送窗口和所述 拥塞窗口中较小的窗口值作为实际发送窗口;将所述实际发送窗口以及所述緩 存数据量累加, 获得发送数据量。
结合第三方面,在第二种可能实现方式中, 所述处理器根据网络带宽以及 网络时延,确定网络通信链路在所述网络时延内的緩存数据量具体是将网络带 宽以及网络时延的乘积值作为网络通信链路在所述网络时延内的緩存数据量。
结合第三方面,在三种可能实现方式中, 所述处理器根据网络带宽以及网 络时延,确定网络通信链路在所述网络时延内的緩存数据量具体是按照緩存数 据量计算公式, 确定网络通信链路在网络时延内的緩存数据量;
所述緩存数据量计算公式为:
SendWin = ( a *BaseWin* ActualRTT* ActualQoS) ÷ ( β *BaseRTT*BaseQoS);
其中, BaseWin表示发送窗口、 ActualRTT表示网络通信链路实际时延、 ActualQoS表示网络通信链路实际带宽、 BaseRTT表示网络规定时延、 BaseQoS 表示网络规定带宽、 α表示实际误差参数、 β表示预设误差参数。
经由上述的技术方案可知, 与现有技术相比, 本发明提供了一种数据报文 发送方法、 装置和设备, 根据网络带宽以及网络时延, 确定出网络通信链路中 的緩存数据量, 根据接收端告知的发送窗口, 结合该緩存数据量, 确定出发送 数据量, 即可按照该发送数据量, 向接收端发送数据报文。 通过利用网络时延 内在网络通信链路上的緩存数据量,增加发送端发送的发送数据量,从而可以 使得数据传输连续 ,减少接收端数据接收等待时间 ,保证了接收数据的流畅性 , 提高了数据传输质量。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地, 下面描述 中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创 造性劳动的前提下, 还可以根据提供的附图获得其他的附图。
图 1为本发明一种数据报文发送方法一个实施例的流程图;
图 la为本发明实施例的一个应用场景示意图;
图 2为本发明一种数据报文发送方法另一个实施例的流程图;
图 3为本发明一种数据报文发送装置一个实施例的结构示意图; 图 4为本发明一种数据报文发送装置另一个实施例的结构示意图; 图 5为本发明一种数据报文发送设备一个实施例的结构示意图。 具体实施方式 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是 全部的实施例。基于本发明中的实施例, 本领域普通技术人员在没有做出创造 性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
本发明的主要思想之一可以包括:
发送端根据网络带宽以及网络时延, 确定出网络通信链路中的緩存数据 量, 根据接收端告知的发送窗口, 结合该緩存数据量, 可以确定出发送端的发 送数据量, 发送端即按照该发送数据量, 向接收端发送数据报文。 通过利用网 络时延内在网络通信链路上的緩存数据量,增加发送端发送的发送数据量,从 而可以使得数据传输连续, 减少接收端数据接收等待时间,提高了数据传输质 量。
图 1为本发明一种数据 ·艮文发送方法一个实施例的流程图 ,该方法可以包 括以下几个步骤:
步骤 101 : 根据网络带宽以及网络时延, 确定网络通信链路在所述网络时 延内的緩存数据量。 本实施例中, 所述数据报文具体可以是指 TCP ( Transmission Control Protocol , 传输控制协议 )数据报文。 发送端与接收端基于 TCP协议进行网络 通信时, 以报文形式进行数据传输, 本实施例中, 报文可以是指发送端发送的 最小数据单元,在数据传输过程中,应用数据通常被划分为适合传输的数据单 元, 即报文, 其单位为字节。
网络时延是指数据从一个系统到另外一个系统所需的时间,包括在网络通 信链路上的传输时间以及两个系统的处理时间, 网络时延时间越长, 网络通信 链路上的数据就会越多。
网络带宽是指在单位时间内传输的数据量, 因此本实施例中, 可以根据该 网络时延以及该网络带宽,得到在所述网络时延内网络通信链路上存在的数据 量, 本发明中实施例定义为緩存数据量, 可以包括网络通信链路上正在处理以 及正在传输的数据量。
其中,该网络时延以及网络带宽可以是指网络规定的理论时延以及理论带 宽。
而作为另一种可能的情况, 由于在实际应用中, 网络实际带宽与网络规定 带宽并不一样, 为了提高计算准确度, 进一步提高数据传输质量, 该网络带宽 可以是指网络实际带宽, 发送端在进行数据传输时可以计算得到。 当然, 该网 络带宽还可以是根据网络情况计算得到的网络估计带宽。
该网络时延也可以采用网络实际时延, 由于网络传输等原因, 网络时延通 常会增加, 该网络实际时延可以根据每次数据报文发送后接收到的对应的 ACK ( Acknowledgement , 确认字符 ) 的时间来确定。
其中, 该緩存数据量具体可以等于网络带宽与网络时延的乘积值。
步骤 102: 根据发送窗口以及所述緩存数据量, 确定发送数据量。
发送窗口是指接收端告知发送端的, 按照 TCP协议规定, 发送窗口的大 小需小于接收端的接收窗口的大小, 接收窗口是指接收端可以緩存的数据量, 其中,窗口大小的单位为字节,因此窗口大小规定的数据量也即数据报文数量。
在现有技术中,发送端是按照该发送窗口规定的数据量大小发送数据,但 是发明人在研究中发现,发送端与接收端进行数据传输时, 中间经过 ^艮多中间 业务设备, 例如路由器等, 中间业务设备有队列或緩存, 使得发送端发送的数 据报文并不会立即到达接收端。这些数据报文可能分别位于网络通信链路中的 不同中间业务设备上, 进行业务处理。 中间业务设备也会影响网络时延, 导致 网络通信链路中的数据增加。
因此,据此可以根据计算得到网络通信链路上的緩存数据量,增加发送端 发送的数据量。
在一种实现方式中,将发送窗口与緩存数据量进行累加, 累加值即可作为 发送数据量。
步骤 103: 按照所述发送数据量, 向接收端发送数据报文。
确定出发送数据量后,发送端即可以按照该发送数据量, 向接收端发送数 据报文。
由于发送数据量综合考虑了网络通信链路上的緩存数据量,增加了发送端 发送的实际数据报文数量, 可以保证数据传输的连续性,从而可以减少接收端 的等待时间, 使得接收端接收到的数据报文流畅, 提高了数据传输的质量。
例如在服务器与终端 UE进行通信的场景中, 如图 la所示, 服务器 10和
UE20之间至少要经过多个路由器 30。 其中, 服务器 10告知终端 20的发送窗 口为 10个 MTU ( Maximum Transmission Unit, 最大传输单元)数据报文, 其 中, 1个 MTU大概为 1500字节, 实际应用中由于传输的数据量通常很大, 因 此此例中以 MTU描述数据量。 由于网络时延, 在网络通信链路中的緩存数据 量为 30个 MTU的数据报文。 若服务器仍按照发送窗口规定的大小发送数据 报文,数据报文将緩存在网络通信链路上,使得 UE不能立即接收到数据报文, UE的等待时间长, 且由于网络通信链路可以緩存 30个 MTU的数据报文, 导 致接收端接收到的数据报文也不流畅。 而采用本发明实施例的技术方案,发送 端每次可以发送 40个 MTU的数据报文, 对于接收端每次仍是可接收到 10个 MTU的数据报文, 数据不会溢出而导致丟失, 30个 MTU的数据报文在网络 通信链路中进行处理。这就使得接收端无需长时间等待,保证了数据传输的连 续性, 提高了数据传输质量。
在本实施例中,发送端根据网络带宽以及网络时延, 首先确定出网络通信 链路中的緩存数据量, 根据接收端告知的发送窗口, 结合该緩存数据量, 可以 确定出发送端的发送数据量,发送端即按照该发送数据量, 向接收端发送数据 报文。通过利用网络时延在网络通信链路上的緩存数据量,增加发送端发送的 发送数据量, 减少了接收端数据等待时间, 保证了数据接收的连续性, 提高了 数据传输质量。
图 2为本发明一种数据报文发送方法另一个实施例的流程图,该方法可以 包括以下几个步骤:
步骤 201 : 根据网络带宽以及网络时延, 确定网络通信链路在所述网络时 延内的緩存数据量。
其中, 该网络带宽可以是指网络规定带宽, 即网络的理论带宽, 或者该网 络带宽可以是指网络实际带宽。
该网络时延可以是指网络规定时延, 或者是指网络实际时延。
该緩存数据量可以是指网络带宽与网络时延的乘积值, 根据上述描述可 知, 该緩存数据量可以是网络规定带宽与网络规定时延的乘积值、或者网络规 定带宽与网络实际时延的乘积值、 或者网络实际带宽与网络规定时延的乘积 值、 或者网络实际带宽与网络实际时延的乘积值。
在另一种可能的实现情况中 ,则该緩存数据量可以按照下述緩存数据量计 算公式得到, 即:
SendWin = ( a *BaseWin* ActualRTT* ActualQoS) ÷ ( β *BaseRTT*BaseQoS);
其中, SendWin为緩存数据量; Base Win表示发送窗口, 为接收端告知 发送端的, 其需要小于接收端接收窗口的大小; ActualRTT表示网络通信链路 实际时延; ActualQoS表示网络通信链路实际带宽; BaseRTT表示网络规定时 延, 通常为 50毫秒; BaseQoS表示网络规定带宽, 通常为 1Mbps可以从网络 参数中获取; β表示预设误差参数, 可以根据 BaseRTT以及 BaseQoS预设设 置, 通常为 1 ; α表示实际误差参数, α > 2且 α > β 。
由该緩存数据量计算公式可以得知, 网络时延采用网络实际时延时, 该网 络带宽可以是根据网络规定带宽以及网络理论带宽计算得到的网络估计带宽 , 即
γ =( a *BaseWin* ActualQoS) ÷ ( β *BaseRTT*BaseQoS)。
从而緩存数据量 SendWin = γ * ActualRTT。
当然该网络估计带宽除了可以采用上述方式计算外, 还可以通过 TCP其 他算法获取得到。
步骤 202: 确定拥塞窗口。
步骤 203: 确定发送窗口和所述拥塞窗口中较小的窗口值作为实际发送窗 口。
为了避免发生网络拥塞, 本实施例中, 可以进行拥塞控制, 以保证数据传 输质量的同时, 避免网络拥塞的发生。
本实施例利用拥塞窗口控制机制进行拥塞控制,拥塞窗口是根据网络实际 情况估计的可以发送的数据量。例如,拥塞窗口可以根据网络实际时延来确定, 如果网络实际时延比上次大, 则说明网络发生拥塞,相应的拥塞窗口大小跟着 减小, 如果网络实际时延比上次小, 或者没有变化, 则可以相应增加拥塞窗口 的大小, 以实现拥塞控制。
拥塞窗口的确定可以采用多种算法实现,主要可以依据网络实际时延来进 行调整。
发送端可以按照该拥塞窗口规定的数据量向接收端发送数据报文。而考虑 接收端的接收能力, 需要根据所确定的拥塞窗口以及接收端告知的发送窗口, 确定出两者中较小的窗口值作为实际发送窗口。
步骤 204: 将所述实际发送窗口以及所述緩存数据量累加, 获得发送数据 量。
本实施例中,最终获得的发送数据量等于实际发送窗口以及緩存数据量的 和值, 即:
ActualSendData = MIN(BaseWin, congestion Win)+Sendwin。
其中, congestion Win表示拥塞窗口。
步骤 205: 按照所述发送数据量, 向接收端发送数据报文。
在本实施例中,发送端根据网络带宽以及网络时延, 首先确定出网络通信 链路中的緩存数据量; 根据接收端告知的发送窗口, 以及所确定的拥塞窗口, 可以计算得到实际发送窗口; 结合该实际发送窗口以及緩存数据量,得到发送 端的发送数据量。 发送端即按照该发送数据量, 向接收端发送数据报文。 通过 利用网络时延在网络通信链路上的緩存数据量, 增加发送端发送的发送数据 量, 减少了接收端数据等待时间, 保证了数据接收的连续性, 提高了数据传输 质量, 同时发送数据量根据拥塞窗口得到, 实现了拥塞控制, 避免了网络拥塞 的发生。
图 3为本发明一种数据报文发送装置一个实施例的结构示意图,该装置可 以包括:
第一确定模块 301 , 用于根据网络带宽以及网络时延, 确定网络通信链路 在所述网络时延内的緩存数据量。
其中, 该网络带宽可以是指网络规定带宽, 即网络的理论带宽, 或者该网 络带宽可以是指网络实际带宽, 或者是根据网络实际情况估计的带宽。
该网络时延可以是指网络规定时延, 或者是指网络实际时延。
该緩存数据量可以是指网络带宽与网络时延的乘积值。
第二确定模块 302, 用于根据发送窗口以及所述第一确定模块 301确定的 所述緩存数据量, 确定发送数据量。
在一种实现方式中,将发送窗口与緩存数据量进行累加, 累加值即可作为 发送数据量。
发送模块 303 , 用于按照所述第二确定模块 302确定的所述发送数据量, 向接收端发送数据报文。
在本实施例中, 该数据报文发送装置可根据网络带宽以及网络时延, 首先 确定出网络通信链路中的緩存数据量, 并根据接收端告知的发送窗口, 结合该 緩存数据量, 确定出发送数据量, 即可按照该发送数据量, 向接收端发送数据 报文。通过利用网络时延在网络通信链路上的緩存数据量,增加发送端发送的 发送数据量, 减少了接收端数据等待时间, 保证了数据接收的连续性, 提高了 数据传输质量。
图 4为本发明一种数据报文发送装置另一个实施例的结构示意图,该装置 可以包括:
第一确定模块 401 , 用于根据网络带宽以及网络时延, 确定网络通信链路 在所述网络时延内的緩存数据量。
其中, 该网络带宽可以是指网络规定带宽, 即网络的理论带宽, 或者该网 络带宽可以是指网络实际带宽。
该网络时延可以是指网络规定时延, 或者是指网络实际时延。
该緩存数据量可以是指网络带宽与网络时延的乘积值, 根据上述描述可 知, 该緩存数据量可以是网络规定带宽与网络规定时延的乘积值、或者网络规 定带宽与网络实际时延的乘积值、 或者网络实际带宽与网络规定时延的乘积 值、 或者网络实际带宽与网络实际时延的乘积值。
在另一种可能的实现情况中 ,则该緩存数据量可以按照下述緩存数据量计 算公式得到, 即:
SendWin = ( a *BaseWin* ActualRTT* ActualQoS) ÷ ( β *BaseRTT*BaseQoS)。
其中, SendWin为緩存数据量; BaseWin表示发送窗口, 为接收端告知 发送端的, 其需要小于接收端接收窗口的大小; ActualRTT表示网络通信链路 实际时延; ActualQoS表示网络通信链路实际带宽; BaseRTT表示网络规定时 延, 通常为 50毫秒; BaseQoS表示网络规定带宽, 通常为 1Mbps可以从网络 参数中获取; β表示预设误差参数, 可以根据 BaseRTT以及 BaseQoS预设设 置, 通常为 1 ; α表示实际误差参数, (1 > 2且(1 > 0 。
由该緩存数据量计算公式可以得知, 网络时延采用网络实际时延时, 该网 络带宽可以是根据网络规定带宽以及网络理论带宽计算得到的网络估计带宽, 即
γ =( a *BaseWin* ActualQoS) ÷ ( β *BaseRTT*BaseQoS)。
从而緩存数据量 SendWin = γ * ActualRTT。
当然该网络估计带宽除了可以采用上述方式计算外, 还可以通过 TCP其 他算法获取得到。
第二确定模块 402, 用于根据发送窗口以及所述第一确定模块 401确定的 所述緩存数据量, 确定发送数据量。
其中, 该第二确定模块 402具体可以包括:
第一窗口确定模块 4021 , 用于确定拥塞窗口。
第二窗口确定模块 4022, 用于确定发送窗口和所述拥塞窗口中较小的窗 口值作为实际发送窗口。
数据量确定模块 4023 , 用于将所述实际发送窗口以及所述緩存数据量累 加, 获得发送数据量。
为了避免发生网络拥塞,可以进行拥塞控制,以保证数据传输质量的同时, 避免网络拥塞的发生。
本实施例中, 利用拥塞窗口控制机制进行拥塞控制,拥塞窗口是根据网络 实际情况估计的可以发送的数据量。例如,拥塞窗口可以根据网络实际时延来 确定, 如果网络实际时延比上次大, 则说明网络发生拥塞, 相应的拥塞窗口大 小跟着减小, 如果网络实际时延比上次小, 或者没有变化, 则可以相应增加拥 塞窗口的大小, 以实现拥塞控制。
拥塞窗口的确定可以采用多种算法实现,主要可以依据网络实际时延来进 行调整。
考虑接收端的接收能力,根据所确定的拥塞窗口以及接收端告知的发送窗 口, 确定出两者中较小的窗口值作为实际发送窗口。
将实际发送窗口与緩存数据量累加, 即得到发送数据量。
在本实施例中,数据报文发送设备可根据网络带宽以及网络时延, 首先确 定出网络通信链路中的緩存数据量; 根据接收端告知的发送窗口, 以及所确定 的拥塞窗口, 可以计算得到实际发送窗口; 结合该实际发送窗口以及緩存数据 量, 得到发送数据量, 即可按照该发送数据量, 向接收端发送数据报文。 通过 利用网络时延在网络通信链路上的緩存数据量, 增加发送端发送的发送数据 量, 减少了接收端数据等待时间, 保证了数据接收的连续性, 提高了数据传输 质量, 且发送数据量综合了拥塞窗口, 从而实现了拥塞控制, 同时避免了网络 拥塞的发生。
本发明上述两个实施例所述的装置,在实际应用中可以具体应用于发送端 中, 该发送端可以具体是应用在固网和无线网络中的服务器、 例如 WEB服务 器、 FTP服务器、 视频服务器等, 部署本发明所述装置的服务器在向终端进行 数据发送时,可以提高链路的数据传输质量,保证了终端接收的数据的连续性, 从而用户可以查看到流畅的数据, 提高了用户体验。
当然该发送端也可以是应用在无线或者固网等网络场景下,终端与服务器 进行数据传输时的中间业务设备中,从而也可以提高数据传输质量, 并保证数 据传输的连续性。
通过以上描述可知, 本领域的技术人员可以清楚地了解到本发明可借 助软件加必需的通用硬件平台的方式来实现。 因此参见图 5 , 为本发明一 种数据报文发送设备一个实施例的结构示意图。
该数据报文发送设备至少包括处理器 501以及发送器 502,处理器 501 与发送器 502相连, 可以通过总线完成相互间的通信。
处理器 501用于根据网络带宽以及网络时延,确定网络通信链路在所述网 络时延内的緩存数据量;根据发送窗口以及所述緩存数据量,确定发送数据量。
处理器 501 可能是一个中央处理器 CPU, 或者是特定集成电路 ASIC
( Application Specific Integrated Circuit ),或者是被配置成实施本发明实施例的 一个或多个集成电路。
发送器 502用于按照所述发送数据量, 向接收端发送数据报文。
发送器 502可能是一个发射机,或者是被配置成实施本发明实施例的一个 或多个集成电路。
其中, 处理器 501根据发送窗口以及所述緩存数据量, 确定发送数据量可 以具体是首先确定出拥塞窗口,并将拥塞窗口与发送窗口的较小窗口值作为实 际发送窗口, 由实际发送窗口与緩存数据量累加, 得到发送数据量。
在一种可能实现方式中, 处理器 501根据网络带宽以及网络时延,确定网 络通信链路在所述网络时延内的緩存数据量具体是将网络带宽以及网络时延 的乘积值作为网络通信链路在所述网络时延内的緩存数据量。
该网络带宽可以是指网络规定带宽, 即网络的理论带宽, 或者该网络带宽 可以是指网络实际带宽。该网络时延可以是指网络规定时延, 或者是指网络实 际时延。 在另一种可能实现方式中, 处理器 501根据网络带宽以及网络时延,确定 网络通信链路在所述网络时延内的緩存数据量具体是按照緩存数据量计算公 式, 确定网络通信链路在网络时延内的緩存数据量;
所述緩存数据量计算公式为:
SendWin = ( a *BaseWin* ActualRTT* ActualQoS) ÷ ( β
*BaseRTT*BaseQoS);
其中, BaseWin表示发送窗口、 ActualRTT表示网络通信链路实际时延、 ActualQoS表示网络通信链路实际带宽、 BaseRTT表示网络规定时延、 BaseQoS 表示网络规定带宽、 α表示实际误差参数、 β表示预设误差参数。
也即网络时延采用网络实际时延时,该网络带宽可以是根据网络规定带宽 以及网络理论带宽计算得到的网络估计带宽。
通过本实施例所提供的数据报文发送设备可以使得,该设备与接收端进行 数据传输时, 保证数据接收的连续性, 提高数据传输质量。
需要说明的是, 所属领域的技术人员可以清楚地了解到, 为描述的方便和 简洁, 上述描述的装置和单元的具体工作过程, 可以参考前述方法实施例中的 对应过程, 在此不再贅述。
在本申请所提供的几个实施例中, 应该理解到, 所揭露的方法、 装置和设 备, 可以通过其它的方式实现。 例如, 以上所描述的装置实施例仅仅是示意性 的, 例如, 所述单元的划分, 仅仅为一种逻辑功能划分, 实际实现时可以有另 外的划分方式, 例如多个单元或组件可以结合或者可以集成到另一个系统, 或 一些特征可以忽略, 或不执行。 另一点, 所显示或讨论的相互之间的耦合或直 接耦合或通信连接可以是通过一些通信接口 ,装置或单元的间接耦合或通信连 接, 可以是电性, 机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为 单元显示的部件可以是或者也可以不是物理单元, 即可以位于一个地方, 或者 也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部 单元来实现本实施例方案的目的。
另外, 在本发明各个实施例中的各功能单元可以集成在一个处理单元中, 也可以是各个单元单独物理存在 ,也可以两个或两个以上单元集成在一个单元 中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用 时, 可以存储在一个计算机可读取存储介质中。 基于这样的理解, 本发明的技 术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以 以软件产品的形式体现出来, 该计算机软件产品存储在一个存储介质中, 包括 若干指令用以使得一台计算机设备(可以是个人计算机, 服务器, 或者网络设 备等 )执行本发明各个实施例所述方法的全部或部分步骤。 而前述的存储介质 包括: U盘、 移动硬盘、 只读存储器(ROM, Read-Only Memory )、 随机存取 存储器(RAM, Random Access Memory ), 磁碟或者光盘等各种可以存储程序 代码的介质。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本 发明。 对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见 的, 本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下, 在 其它实施例中实现。 因此, 本发明将不会被限制于本文所示的这些实施例, 而 是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims

权 利 要 求
1、 一种数据报文发送方法, 其特征在于, 包括:
根据网络带宽以及网络时延,确定网络通信链路在所述网络时延内的緩存 数据量;
根据发送窗口以及所述緩存数据量, 确定发送数据量;
按照所述发送数据量, 向接收端发送数据报文。
2、 根据权利要求 1所述的方法, 其特征在于, 所述根据发送窗口以及所 述緩存数据量, 确定发送数据量包括:
确定拥塞窗口;
确定发送窗口和所述拥塞窗口中较小的窗口值作为实际发送窗口; 将所述实际发送窗口以及所述緩存数据量累加, 获得发送数据量。
3、 根据权利要求 1所述的方法, 其特征在于, 所述网络带宽为网络规定 带宽或者网络通信链路实际带宽。
4、 根据权利要求 1或 3所述的方法, 其特征在于, 所述网络时延为网络 规定时延或者网络通信链路实际时延。
5、 根据权利要求 1所述的方法, 其特征在于, 所述根据网络带宽以及网 络时延, 确定网络通信链路在所述网络时延内的緩存数据量包括:
将网络带宽以及网络时延的乘积值作为网络通信链路在所述网络时延内 的緩存数据量。
6、 根据权利要求 1所述的方法, 其特征在于, 所述根据网络带宽以及网 络时延, 确定网络通信链路在所述网络时延内的緩存数据量包括:
按照緩存数据量计算公式, 确定网络通信链路在网络时延内的緩存数据 量;
所述緩存数据量计算公式为:
SendWin = ( a *BaseWin* ActualRTT* ActualQoS) ÷ ( β
*BaseRTT*BaseQoS);
其中, BaseWin表示发送窗口、 ActualRTT表示网络通信链路实际时延、 ActualQoS表示网络通信链路实际带宽、 BaseRTT表示网络规定时延、 BaseQoS 表示网络规定带宽、 α表示实际误差参数、 β表示预设误差参数。
7、 一种数据报文发送装置, 其特征在于, 包括:
第一确定模块, 用于根据网络带宽以及网络时延,确定网络通信链路在所 述网络时延内的緩存数据量;
第二确定模块,用于根据发送窗口以及所述第一确定模块确定的所述緩存 数据量, 确定发送数据量;
发送模块, 用于按照所述第二确定模块确定的所述发送数据量, 向接收端 发送数据报文。
8、 根据权利要求 7所述的装置, 其特征在于, 所述第二确定模块包括: 第一窗口确定模块, 用于确定拥塞窗口;
第二窗口确定模块,用于确定发送窗口和所述拥塞窗口中较小的窗口值作 为实际发送窗口;
数据量确定模块, 用于将所述实际发送窗口以及所述緩存数据量累加, 获 得发送数据量。
9、 根据权利要求 7所述的装置, 其特征在于, 所述网络带宽为网络规定 带宽或者网络通信链路实际带宽。
10、 根据权利要求 7或 9所述的装置, 其特征在于, 所述网络时延为网络 规定时延或者网络通信链路实际时延。
11、 根据权利要求 7所述的装置, 其特征在于, 所述第一确定模块具体用 于将网络带宽以及网络时延的乘积值作为网络通信链路在所述网络时延内的 緩存数据量。
12、 根据权利要求 7所述的装置, 其特征在于, 所述第一确定模块具体用 于按照緩存数据量计算公式, 确定网络通信链路在网络时延内的緩存数据量; 所述緩存数据量计算公式为:
SendWin = ( a *BaseWin* ActualRTT* ActualQoS) ÷ ( β *BaseRTT*BaseQoS);
其中, BaseWin表示发送窗口、 ActualRTT表示网络通信链路实际时延、 ActualQoS表示网络通信链路实际带宽、 BaseRTT表示网络规定时延、 BaseQoS 表示网络规定带宽、 α表示实际误差参数、 β表示预设误差参数。
13、 一种数据报文发送设备, 其特征在于, 至少包括处理器和发送器; 所述处理器, 用于根据网络带宽以及网络时延,确定网络通信链路在所述 网络时延内的緩存数据量; 根据发送窗口以及所述緩存数据量,确定发送数据 量;
所述发送器, 用于按照所述发送数据量, 向接收端发送数据报文。
14、 根据权利要求 13所述的设备, 其特征在于, 所述处理器根据发送窗 口以及所述緩存数据量,确定发送数据量具体是确定拥塞窗口; 确定发送窗口 和所述拥塞窗口中较小的窗口值作为实际发送窗口;将所述实际发送窗口以及 所述緩存数据量累加, 获得发送数据量。
15、 根据权利要求 13所述的设备, 其特征在于, 所述处理器根据网络带 宽以及网络时延,确定网络通信链路在所述网络时延内的緩存数据量具体是将 网络带宽以及网络时延的乘积值作为网络通信链路在所述网络时延内的緩存 数据量。
16、 根据权利要求 13所述的设备, 其特征在于, 所述处理器根据网络带 宽以及网络时延,确定网络通信链路在所述网络时延内的緩存数据量具体是按 照緩存数据量计算公式, 确定网络通信链路在网络时延内的緩存数据量; 所述緩存数据量计算公式为:
SendWin = ( a *BaseWin* ActualRTT* ActualQoS) ÷ ( β
*BaseRTT*BaseQoS);
其中, BaseWin表示发送窗口、 ActualRTT表示网络通信链路实际时延、 ActualQoS表示网络通信链路实际带宽、 BaseRTT表示网络规定时延、 BaseQoS 表示网络规定带宽、 α表示实际误差参数、 β表示预设误差参数。
PCT/CN2013/078109 2013-06-27 2013-06-27 一种数据报文发送方法、装置和设备 WO2014205708A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2013/078109 WO2014205708A1 (zh) 2013-06-27 2013-06-27 一种数据报文发送方法、装置和设备
CN201380059397.5A CN104782090B (zh) 2013-06-27 2013-06-27 一种数据报文发送方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/078109 WO2014205708A1 (zh) 2013-06-27 2013-06-27 一种数据报文发送方法、装置和设备

Publications (1)

Publication Number Publication Date
WO2014205708A1 true WO2014205708A1 (zh) 2014-12-31

Family

ID=52140810

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/078109 WO2014205708A1 (zh) 2013-06-27 2013-06-27 一种数据报文发送方法、装置和设备

Country Status (2)

Country Link
CN (1) CN104782090B (zh)
WO (1) WO2014205708A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060023634A1 (en) * 2004-07-30 2006-02-02 Cisco Technology, Inc. Transmission control protocol (TCP)
CN101052043A (zh) * 2007-04-30 2007-10-10 北京策度集成电路设计有限公司 一种基于发送窗口与往返时间的tcp发送算法
CN101114999A (zh) * 2007-08-26 2008-01-30 上海华为技术有限公司 数据发送控制方法及数据传输设备
CN102333209A (zh) * 2011-10-26 2012-01-25 杭州华三通信技术有限公司 应用于视频监控系统的数据传输方法及设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7352700B2 (en) * 2003-09-09 2008-04-01 Lucent Technologies Inc. Methods and devices for maximizing the throughput of TCP/IP data along wireless links
CN101572634B (zh) * 2009-06-04 2011-07-27 北京邮电大学 一种利用互相关函数被动测量tcp连接往返时延的方法
US8514715B2 (en) * 2010-04-22 2013-08-20 Akamai Technologies, Inc. Congestion window control based on queuing delay and packet loss
CN102820915B (zh) * 2012-08-01 2014-11-05 北京佳讯飞鸿电气股份有限公司 改善tcp传输性能的卫星链路系统及其使用方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060023634A1 (en) * 2004-07-30 2006-02-02 Cisco Technology, Inc. Transmission control protocol (TCP)
CN101052043A (zh) * 2007-04-30 2007-10-10 北京策度集成电路设计有限公司 一种基于发送窗口与往返时间的tcp发送算法
CN101114999A (zh) * 2007-08-26 2008-01-30 上海华为技术有限公司 数据发送控制方法及数据传输设备
CN102333209A (zh) * 2011-10-26 2012-01-25 杭州华三通信技术有限公司 应用于视频监控系统的数据传输方法及设备

Also Published As

Publication number Publication date
CN104782090A (zh) 2015-07-15
CN104782090B (zh) 2017-12-08

Similar Documents

Publication Publication Date Title
US9596281B2 (en) Transport accelerator implementing request manager and connection manager functionality
JP6319608B2 (ja) 伝送制御方法、装置およびシステム
US8873385B2 (en) Incast congestion control in a network
WO2017101503A1 (zh) 一种数据传送方法、发送节点、接收节点及数据传送系统
US9930097B2 (en) Transport accelerator systems and methods
WO2013053304A1 (zh) 一种实现tcp传输的方法及装置
WO2011144141A1 (zh) 拥塞控制方法和系统以及网络设备
JP4128198B2 (ja) 帯域制御装置
JPWO2008023656A1 (ja) 通信装置
WO2011137773A1 (zh) 网络丢包处理方法及装置
WO2017114231A1 (zh) 一种报文发送方法、tcp代理以及tcp客户端
WO2017097201A1 (zh) 一种数据传输方法、发送装置及接收装置
WO2012129922A1 (zh) 一种报文处理方法、转发设备及系统
WO2022001175A1 (zh) 数据包发送的方法、装置
WO2019144802A1 (zh) 一种数据的传输方法及其相关设备
JP2016527579A (ja) データ通信システム及び方法
US20180070263A1 (en) Supporting Delivery of Data Packets Using Transmission Control Protocol in a Wireless Communication Network
WO2014194797A2 (en) Transmission control protocol(tcp)connection control parameter in-band signaling
TWI692233B (zh) 基於用戶資料報協定及傳輸控制協定之協同傳輸方法及傳輸裝置
WO2014067322A1 (zh) 消息发送方法及装置
US9130843B2 (en) Method and apparatus for improving HTTP adaptive streaming performance using TCP modifications at content source
WO2017101875A1 (zh) 一种基于iSCSI协议的传输速率控制方法和装置
JP6010502B2 (ja) パケット処理方法及びパケット処理装置
JP4627290B2 (ja) Tcpを用いたレート制御方法、サーバ及びプログラム
WO2014205708A1 (zh) 一种数据报文发送方法、装置和设备

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

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

Country of ref document: EP

Kind code of ref document: A1