





技术领域technical field
本发明涉及通信技术领域,尤其涉及数据传输的方法、设备及系统。The present invention relates to the technical field of communication, in particular to a data transmission method, device and system.
背景技术Background technique
随着移动通信技术的发展,移动通信系统的带宽越来越宽,所能承载的业务类型也越来越广泛,移动通信网络和Internet相融合已经成为通信技术发展的趋势。Internet上广泛采用的TCP/IP协议是一种基于网际协议(IP)的有连接传输控制协议,它是基于固定网络系统的传输特点而设计的,将TCP/IP协议应用到无线网络中会引入较大的时延,导致TCP/IP性能下降。With the development of mobile communication technology, the bandwidth of mobile communication system is getting wider and wider, and the types of services it can carry are also becoming more and more extensive. The integration of mobile communication network and Internet has become the development trend of communication technology. The TCP/IP protocol widely used on the Internet is a connection transmission control protocol based on the Internet Protocol (IP). It is designed based on the transmission characteristics of the fixed network system. Applying the TCP/IP protocol to the wireless network will introduce Larger delays lead to degradation of TCP/IP performance.
为了减少时延,提升TCP/IP的数据传输吞吐率,现有技术提供了一种解决方案:In order to reduce the delay and improve the data transmission throughput of TCP/IP, the existing technology provides a solution:
如图1所示,该方案中的无线网络系统包括数据发送端(Data Sender)、数据接收模块(DataRec)、缓存模块(Buffer)、应答接收模块(ACKRec)、UE;其中,数据接收模块(DataRec)从数据发送端(Data Sender)接收下行数据(Data),并向数据发送端(Data Sender)发送应答(PEPack);缓存模块(Buffer)缓存接收到的下行数据,以及根据缓存的数据状况(例如,上次发送数据的平均缓存时间),为无线资源管理模块(RRM)提供测量信息,以估计需要分配多少信道资源;缓存模块(Buffer)还将数据包(Data)发送给UE;应答接收模块(ACKRec)接收从UE发过来的应答(UEack),并通知缓存模块(Buffer)删除已经应答过的数据包。As shown in Figure 1, the wireless network system in this solution includes a data sending end (Data Sender), a data receiving module (DataRec), a buffer module (Buffer), an acknowledgment receiving module (ACKRec), and a UE; wherein, the data receiving module ( DataRec) receives downlink data (Data) from the data sender (Data Sender), and sends a response (PEPack) to the data sender (Data Sender); the cache module (Buffer) caches the received downlink data, and according to the cached data status (For example, the average cache time of the last sent data), provide measurement information for the radio resource management module (RRM) to estimate how many channel resources need to be allocated; the buffer module (Buffer) also sends the data packet (Data) to the UE; response The receiving module (ACKRec) receives the acknowledgment (UEack) sent from the UE, and notifies the buffering module (Buffer) to delete the answered data packets.
发明人在实现本发明的过程中,发现现有技术存在如下不足之处:In the process of realizing the present invention, the inventor finds that the prior art has the following deficiencies:
数据接收模块(DataRec)从数据发送端(Data Sender)接收下行数据(Data),并向数据发送端(Data Sender)发送应答(PEPack)。这样可能会出现UE还未接收到数据包,而Data Sender认为UE已经收到了该数据包,这样虽然提高了TCP/IP传输的吞吐率,但是破坏了端到端的一致性。一旦跨UTRAN切换,Buffer中缓存的数据很可能丢失,将出现不可恢复的错误。The data receiving module (DataRec) receives the downlink data (Data) from the data sending end (Data Sender), and sends a reply (PEPack) to the data sending end (Data Sender). In this way, it may happen that the UE has not received the data packet, but the Data Sender thinks that the UE has received the data packet. Although this improves the throughput of TCP/IP transmission, it destroys the end-to-end consistency. Once switching across UTRAN, the cached data in Buffer is likely to be lost, and an unrecoverable error will occur.
发明内容Contents of the invention
本发明实施例提供一种数据传输的方法、设备及系统,用以进一步提升TCP/IP数据的传输吞吐量,同时保证端到端的一致性,避免数据丢失。Embodiments of the present invention provide a method, device and system for data transmission, which are used to further improve the transmission throughput of TCP/IP data, while ensuring end-to-end consistency and avoiding data loss.
本发明实施例提供一种数据传输方法,该方法包括:An embodiment of the present invention provides a data transmission method, the method comprising:
获取接收端接收TCP/IP数据的能力信息,根据所述能力信息调整TCP/IP连接窗口大小,将调整后的TCP/IP连接窗口大小通知发送端;Obtain the ability information of the receiving end to receive TCP/IP data, adjust the size of the TCP/IP connection window according to the ability information, and notify the sending end of the adjusted TCP/IP connection window size;
接收所述发送端发送的TCP/IP数据并进行缓存;receiving and caching the TCP/IP data sent by the sending end;
根据所述能力信息,调度缓存的TCP/IP数据发送给所述接收端。According to the capability information, the buffered TCP/IP data is scheduled to be sent to the receiving end.
本发明实施例还提供一种数据传输设备,包括:The embodiment of the present invention also provides a data transmission device, including:
获取模块,用于获取接收端接收TCP/IP数据的能力信息;An acquisition module, configured to acquire the ability information of the receiving end to receive TCP/IP data;
调整模块,用于根据所述能力信息调整TCP/IP连接窗口大小;An adjustment module, configured to adjust the TCP/IP connection window size according to the capability information;
缓存模块,用于接收发送端发送的TCP/IP数据并缓存;A cache module, configured to receive and cache the TCP/IP data sent by the sender;
发送模块,用于将调整后的TCP/IP连接窗口大小通知发送端;以及,根据所述能力信息,调度缓存的TCP/IP数据发送给接收端。A sending module, configured to notify the sending end of the adjusted TCP/IP connection window size; and, according to the capability information, schedule buffered TCP/IP data to be sent to the receiving end.
本发明实施例提供一种数据传输系统,包括:An embodiment of the present invention provides a data transmission system, including:
发送端设备,用于发送TCP/IP数据;The sending end device is used to send TCP/IP data;
接收端设备,用于接收TCP/IP数据,并提供接收TCP/IP数据的能力信息;The receiving end device is used to receive TCP/IP data and provide capability information for receiving TCP/IP data;
数据传输设备,用于获取所述接收端设备接收TCP/IP数据的能力信息,根据所述能力信息调整TCP/IP连接窗口大小,将调整后的TCP/IP连接窗口大小通知所述发送端设备;接收所述发送端设备发送的TCP/IP数据并进行缓存;根据所述能力信息,调度缓存的TCP/IP数据发送给所述接收端设备。A data transmission device, configured to acquire capability information of the receiving device for receiving TCP/IP data, adjust the TCP/IP connection window size according to the capability information, and notify the sending device of the adjusted TCP/IP connection window size ; receiving and buffering the TCP/IP data sent by the sending device; scheduling and sending the buffered TCP/IP data to the receiving device according to the capability information.
本发明实施例中,获取接收端接收TCP/IP数据的能力信息,根据所述能力信息调整TCP/IP连接窗口大小,将调整后的TCP/IP连接窗口大小通知发送端;接收所述发送端发送的TCP/IP数据并进行缓存;根据所述能力信息,调度缓存的TCP/IP数据发送给所述接收端。由于根据所述能力信息对TCP/IP连接窗口大小进行了调整,因此发送端可以按调整后的TCP/IP连接窗口发送TCP/IP数据,即通过增大TCP接收窗口大小,提高了TCP/IP的数据传输速率。另外,无需接收端在确认数据收到后,再从发送端获取TCP/IP数据转发给接收端,从而大幅度地减少传输路径的环回时延,即将传输路径的环回时延由接收端至发送端的整个传输路径的时延减少到由接收端至传输路径中的缓存处理设备的时延,显著地提升TCP/IP数据的传输吞吐量。此外,由于在接收到接收端的响应后,再进行缓存TCP/IP数据的调度和发送,也保证了端到端的一致性,避免了数据丢失。In the embodiment of the present invention, the ability information of the receiving end to receive TCP/IP data is acquired, the TCP/IP connection window size is adjusted according to the ability information, and the sending end is notified of the adjusted TCP/IP connection window size; the sending end is received The sent TCP/IP data is cached; according to the capability information, the cached TCP/IP data is scheduled to be sent to the receiving end. Because the size of the TCP/IP connection window is adjusted according to the capability information, the sending end can send TCP/IP data according to the adjusted TCP/IP connection window, that is, by increasing the size of the TCP receiving window, the TCP/IP data transfer rate. In addition, there is no need for the receiving end to obtain TCP/IP data from the sending end and forward it to the receiving end after confirming the receipt of the data, thereby greatly reducing the loopback delay of the transmission path, that is, the loopback delay of the transmission path is determined by the receiving end The delay of the entire transmission path to the sending end is reduced to the delay from the receiving end to the buffer processing device in the transmission path, which significantly improves the transmission throughput of TCP/IP data. In addition, since the buffered TCP/IP data is scheduled and sent after receiving the response from the receiving end, end-to-end consistency is also ensured and data loss is avoided.
附图说明Description of drawings
图1为背景技术中现有技术一的无线网络系统结构示意图;FIG. 1 is a schematic structural diagram of a wireless network system in prior art 1 in the background art;
图2为本发明实施例中数据传输的处理流程图;Fig. 2 is the processing flowchart of data transmission in the embodiment of the present invention;
图3为本发明实施例中数据传输系统的一个具体实例的结构示意图;FIG. 3 is a schematic structural diagram of a specific example of a data transmission system in an embodiment of the present invention;
图4为本发明实施例中数据传输系统在WCDMA无线通信系统中的一个具体实例的结构示意图;FIG. 4 is a schematic structural diagram of a specific example of a data transmission system in a WCDMA wireless communication system in an embodiment of the present invention;
图5为本发明实施例中原有TCP/IP连接建立的过程示意图;FIG. 5 is a schematic diagram of the process of establishing an original TCP/IP connection in an embodiment of the present invention;
图6为本发明实施例中TCP/IP同步数据包的TCP包的头部结构示意图;Fig. 6 is a schematic diagram of the header structure of the TCP packet of the TCP/IP synchronous data packet in the embodiment of the present invention;
图7为本发明实施例中TCP/IP同步数据包的IP包的头部结构示意图;Fig. 7 is a schematic diagram of the header structure of the IP packet of the TCP/IP synchronous data packet in the embodiment of the present invention;
图8为本发明实施例中采用TPE功能后TCP/IP连接建立的过程示意图;8 is a schematic diagram of the process of establishing a TCP/IP connection after using the TPE function in an embodiment of the present invention;
图9为本发明实施例中数据传输的一个具体实例的处理流程图;FIG. 9 is a processing flowchart of a specific example of data transmission in the embodiment of the present invention;
图10A、图10B为本发明实施例中数据处理设备的结构示意图;10A and 10B are schematic structural diagrams of data processing equipment in an embodiment of the present invention;
图11为本发明实施例中数据传输系统的结构示意图。FIG. 11 is a schematic structural diagram of a data transmission system in an embodiment of the present invention.
具体实施方式Detailed ways
下面结合说明书附图对本发明实施例进行详细说明。Embodiments of the present invention will be described in detail below in conjunction with the accompanying drawings.
如图2所示,本发明实施例提供的技术方案中,一种数据传输的处理流程可以如下:As shown in Figure 2, in the technical solution provided by the embodiment of the present invention, a data transmission processing flow may be as follows:
步骤21、获取接收端接收TCP/IP数据的能力信息,根据该能力信息调整TCP/IP连接窗口大小,将调整后的TCP/IP连接窗口大小通知发送端。Step 21: Obtain the ability information of the receiving end to receive TCP/IP data, adjust the size of the TCP/IP connection window according to the ability information, and notify the sending end of the adjusted TCP/IP connection window size.
步骤22、接收发送端发送的TCP/IP数据并进行缓存。
步骤23、根据该能力信息,调度缓存的TCP/IP数据发送给接收端。
在步骤21中,获取能力信息可以是接收接收端返回的响应数据,该响应数据中包含能力信息,通过解析响应数据获取能力信息,该响应数据为接收端接收到转发的发送端发送的TCP/IP数据后,返回的响应数据;另一实施例中,获取能力信息也可以是接收接收端上报的所述能力信息。In
在步骤22中,接收发送端发送的TCP/IP数据并进行缓存可以是:接收发送端按调整后的TCP/IP连接窗口大小发送的TCP/IP数据并进行缓存。In
接收到发送端发送的TCP/IP数据后,在首次将TCP/IP数据发送给接收端之前,可以解析TCP/IP数据得到同步数据包;进而解析同步数据包,得到TCP/IP数据的源IP地址、目的IP地址、源端口号和目的端口号;从而在后续可以根据源IP地址、目的IP地址、源端口号和目的端口号,将接收的TCP/IP数据转发给接收端。After receiving the TCP/IP data sent by the sender, before sending the TCP/IP data to the receiver for the first time, the TCP/IP data can be parsed to obtain the synchronization data packet; then the synchronization data packet can be parsed to obtain the source IP of the TCP/IP data Address, destination IP address, source port number and destination port number; so that the received TCP/IP data can be forwarded to the receiving end according to the source IP address, destination IP address, source port number and destination port number.
一个实施例中,同步数据包包括IP头部和TCP头部,其中IP头部中封装有TCP/IP数据的源IP地址和目的IP地址,可以解析同步数据包的IP头部,得到TCP/IP数据的源IP地址和目的IP地址;TCP头部中封装有TCP/IP数据的源端口号和目的端口号,可以解析同步数据包的TCP头部,得到TCP/IP数据的源端口号和目的端口号。In one embodiment, the synchronous data packet includes an IP header and a TCP header, wherein the source IP address and the destination IP address of the TCP/IP data are encapsulated in the IP header, and the IP header of the synchronous data packet can be parsed to obtain the TCP/IP data. The source IP address and destination IP address of IP data; the source port number and destination port number of TCP/IP data are encapsulated in the TCP header, and the TCP header of the synchronous data packet can be parsed to obtain the source port number and destination port number of TCP/IP data Destination port number.
由于TCP/IP数据传输的吞吐率符合如下理论公式:Since the throughput rate of TCP/IP data transmission conforms to the following theoretical formula:
TCP/IP的传输速率=TCP/IP连接窗口(也称连接窗口)/RTTTCP/IP transmission rate = TCP/IP connection window (also called connection window)/RTT
其中:TCP/IP连接窗口的大小为min{接收端的TCP/IP接收窗口大小,发送端维护的CWND},正常数据传输过程中,该值即为接收端的TCP/IP接收窗口大小。RTT为端到端的环回时延。Among them: the size of the TCP/IP connection window is min{the TCP/IP receiving window size of the receiving end, the CWND maintained by the sending end}, during normal data transmission, this value is the TCP/IP receiving window size of the receiving end. RTT is the end-to-end round-trip delay.
从上述理论公式上分析可知,要想提高TCP/IP的数据传输速率,可以采用两个措施:1、增大TCP连接窗口;2、缩短RTT时延。From the analysis of the above theoretical formula, it can be seen that in order to increase the data transmission rate of TCP/IP, two measures can be adopted: 1. Increase the TCP connection window; 2. Shorten the RTT delay.
一个实施例中,在根据能力信息调整TCP/IP连接窗口大小时,可以先根据能力信息,得到TCP/IP 16位窗口大小;在确定TCP/IP 16位窗口大小小于阈值时,可以扩大TCP/IP 16位窗口大小,根据扩大后的TCP/IP 16位窗口大小调整TCP/IP连接窗口大小。其中,可以将TCP/IP 16位窗口扩大到阈值,也可以按预设比例进行扩大。In one embodiment, when adjusting the TCP/IP connection window size according to the capability information, the TCP/IP 16-bit window size can be obtained first according to the capability information; when determining that the TCP/IP 16-bit window size is less than the threshold, the TCP/IP can be expanded IP 16-bit window size, adjust the TCP/IP connection window size according to the enlarged TCP/IP 16-bit window size. Among them, the TCP/IP 16-bit window can be expanded to a threshold, or can be expanded according to a preset ratio.
在首次将TCP/IP数据发送给接收端之前,解析TCP/IP数据,得到同步数据包后,可以进一步解析同步数据包,获取TCP/IP窗口比例扩大因子。根据扩大后的TCP/IP 16位窗口大小调整TCP/IP连接窗口大小时,可以根据TCP/IP窗口比例扩大因子及扩大后的TCP/IP 16位窗口大小调整TCP/IP连接窗口大小。Before the TCP/IP data is sent to the receiving end for the first time, the TCP/IP data is analyzed to obtain the synchronization data packet, and the synchronization data packet can be further analyzed to obtain the TCP/IP window ratio expansion factor. When adjusting the TCP/IP connection window size according to the enlarged TCP/IP 16-bit window size, the TCP/IP connection window size can be adjusted according to the TCP/IP window scale expansion factor and the enlarged TCP/IP 16-bit window size.
本实施例提供的数据传输方法中,将调整后的TCP/IP连接窗口大小通知发送端,使发送端按调整后的TCP/IP连接窗口大小发送TCP/IP数据,即通过增大TCP连接窗口大小,以此提高TCP/IP的数据传输速率。接收发送端按调整后的TCP/IP连接窗口大小发送的TCP/IP数据并进行缓存,根据接收端返回的响应调度缓存的TCP/IP数据继续发送给接收端,无需将接收端返回的响应转发给发送端,再从发送端获取TCP/IP数据转发给接收端,以此减少传输路径的环回时延,即将传输路径的环回时延由接收端至发送端的整个传输路径的时延减少到由接收端至传输路径中的缓存处理设备的时延,从而提高TCP/IP的数据传输速率。In the data transmission method provided by this embodiment, the adjusted TCP/IP connection window size is notified to the sender, so that the sender sends TCP/IP data by the adjusted TCP/IP connection window size, that is, by increasing the TCP connection window Size, in order to improve the data transmission rate of TCP/IP. Receive and cache the TCP/IP data sent by the sender according to the adjusted TCP/IP connection window size, and dispatch the cached TCP/IP data to the receiver according to the response returned by the receiver, without forwarding the response returned by the receiver To the sender, and then obtain TCP/IP data from the sender and forward it to the receiver, so as to reduce the loopback delay of the transmission path, that is, to reduce the loopback delay of the transmission path from the receiver to the sender. The delay of the entire transmission path The delay from the receiving end to the buffer processing equipment in the transmission path, thereby increasing the data transmission rate of TCP/IP.
图2所示的数据传输处理流程可以由一个数据传输设备完成,该数据传输设备可以位于TCP/IP数据传输路径上,例如,位于TCP/IP数据传输的任何一个中间节点。该数据处理设备可以应用于无线通信系统中,如位于WCDMA/CDMA/WiMAX系统中的接入网节点、CN节点,GSM系统中的CN节点。The data transmission processing flow shown in FIG. 2 can be completed by a data transmission device, and the data transmission device can be located on the TCP/IP data transmission path, for example, at any intermediate node of the TCP/IP data transmission. The data processing device can be applied in a wireless communication system, such as an access network node and a CN node in a WCDMA/CDMA/WiMAX system, or a CN node in a GSM system.
一个具体实例如图3所示,数据传输系统中,在发送端(Data_snd)和接收端(Data_rcv)的数据传输过程中的中间一个节点上,增加一个TPE(TCPPerformance Enhance,TCP功能增强)实体(即上述数据传输设备),该实体负责接收发送端发送的TCP/IP数据,并把接收的TCP/IP数据缓存在本设备的BUFFER中,将缓存的TCP/IP数据发送给接收端;由TPE实体根据接收端返回的ACK信息,获得接收端接收TCP/IP数据的能力信息,根据能力信息调度缓存的TCP/IP数据继续发送给接收端;另一方面,该TPE实体在接收到接收端返回的ACK信息后,除了根据获得的能力信息调度缓存中的TCP/IP数据并发送,还扩大ACK中的TCP/IP 16位窗口大小,从而扩大TCP/IP连接窗口大小,并将扩大后的TCP/IP连接窗口大小反馈给发送端,触发发送端继续发送TCP/IP数据给TPE实体。A specific example is shown in Figure 3. In the data transmission system, a TPE (TCP Performance Enhance, TCP function enhancement) entity ( That is, the above-mentioned data transmission equipment), this entity is responsible for receiving the TCP/IP data sent by the sending end, and buffering the received TCP/IP data in the BUFFER of the device, and sending the buffered TCP/IP data to the receiving end; by TPE According to the ACK information returned by the receiving end, the entity obtains the ability information of the receiving end to receive TCP/IP data, and schedules the cached TCP/IP data to continue to be sent to the receiving end according to the ability information; on the other hand, the TPE entity returns After receiving the ACK information, in addition to scheduling and sending the TCP/IP data in the cache according to the obtained capability information, the TCP/IP 16-bit window size in the ACK is also expanded, thereby expanding the TCP/IP connection window size, and the expanded TCP The /IP connection window size is fed back to the sender, triggering the sender to continue sending TCP/IP data to the TPE entity.
如图4所示,在WCDMA无线通信系统中,上述TPE实体可以实现在RNC中,系统还包括发送端Server,接收端UE。As shown in Fig. 4, in the WCDMA wireless communication system, the above-mentioned TPE entity can be implemented in the RNC, and the system also includes a sending end Server and a receiving end UE.
一个TCP/IP连接建立的过程通常需要3次握手过程,如图5所示。The process of establishing a TCP/IP connection usually requires a three-way handshake process, as shown in Figure 5.
TCP/IP同步数据包的TCP包的头部结构如图6所示;The header structure of the TCP packet of the TCP/IP synchronous packet is as shown in Figure 6;
TCP/IP同步数据包的IP包的头部结构如图7所示。The header structure of the IP packet of the TCP/IP synchronous data packet is shown in FIG. 7 .
利用上述TPE实体进行数据传输后TCP/IP的三次握手变化为如图8所示。After the above TPE entity is used for data transmission, the three-way handshake of TCP/IP changes as shown in FIG. 8 .
如图9所示,本实施例中,结合TPE实体,数据传输的处理流程可以如下:As shown in Figure 9, in this embodiment, combined with the TPE entity, the processing flow of data transmission can be as follows:
步骤91、解析接收的TCP/IP数据,建立TPE实体。
TPE实体对接收的TCP/IP数据进行解析,通过解析其中TCP包头部的SYN位,可以识别是否是TCP/IP同步数据包。如果识别出该数据包为UE发送的TCP/IP同步握手数据包报文段1,通过解析该同步数据包的IP头部可以获得TCP/IP数据的源IP地址和目的IP地址;通过解析该同步数据包的TCP头部,可以获得该TCP/IP数据的源端口号和目的端口号。记录源端口号和目的端口号,并以源IP地址、目的IP地址、源端口号和目的端口号为特征建立与之相对应的TPE实体。The TPE entity analyzes the received TCP/IP data, and can identify whether it is a TCP/IP synchronous data packet by analyzing the SYN bit of the TCP packet header. If it is identified that the data packet is the TCP/IP synchronous handshake packet message segment 1 sent by the UE, the source IP address and the destination IP address of the TCP/IP data can be obtained by parsing the IP header of the synchronous data packet; by parsing the By synchronizing the TCP header of the data packet, the source port number and destination port number of the TCP/IP data can be obtained. Record the source port number and destination port number, and establish a corresponding TPE entity based on the source IP address, destination IP address, source port number and destination port number.
该TPE实体继续监测Server发送给UE的同步确认包报文段2,通过解析报文段1和报文段2,则可以获得该TPE实体所对应的TCP/IP连接窗口的窗口比例扩大因子。The TPE entity continues to monitor segment 2 of the synchronization confirmation packet sent by the server to the UE. By analyzing segment 1 and segment 2, the window scaling factor of the TCP/IP connection window corresponding to the TPE entity can be obtained.
步骤92、修改TCP/IP的接收窗口大小。
该TPE实体接收到UE发给Server的报文段3,根据报文3的TCP头部信息,解析得出UE的TCP/IP接收窗口大小,比如为8096。修改报文段3中的16位窗口大小为最大,即65535,并将修改后的报文段3发送给Server,通知Server调整后的窗口大小。当然,如果UE上报的TCP/IP接收窗口大小已经为最大,则窗口不在该TPE实体中扩大。The TPE entity receives the message segment 3 sent by the UE to the server, and analyzes the TCP/IP receiving window size of the UE according to the TCP header information of the message 3, for example, 8096. Modify the 16-bit window size in message segment 3 to be the largest, that is, 65535, and send the modified message segment 3 to the server to notify the server of the adjusted window size. Of course, if the size of the TCP/IP receiving window reported by the UE is already the maximum, the window will not be expanded in the TPE entity.
Server接收到该TPE实体发送的修改TCP/IP连接窗口大小的通知后,认为可以发送“65535×窗口比例扩大因子”个数据字节,而不是“8096*窗口比例扩大因子”,则按“65535*窗口比例扩大因子”继续发送TCP/IP数据。After receiving the notification of modifying the size of the TCP/IP connection window sent by the TPE entity, the server thinks that it can send "65535×window scale expansion factor" data bytes instead of "8096*window scale expansion factor", and then press "65535 * window scaling factor" to continue sending TCP/IP data.
发送端发送的数据在该TPE实体中缓存,由于该TPE实体已获知UE所能接收的数据量比如为“8096*窗口比例扩大因子”,因此可以将缓存中的“8096*窗口比例扩大因子”数据继续发送给UE。The data sent by the sender is cached in the TPE entity. Since the TPE entity has learned that the amount of data that the UE can receive is, for example, "8096*window scaling factor", the "8096*window scaling factor" in the cache can be Data continues to be sent to the UE.
若该TPE实体接收到UE反馈的确认数据包后,确认UE已经接收全部的“8096*窗口比例”的TCP/IP数据,并且可以再接收“8096*窗口比例”的数据,则可以直接取出已经缓存在TPE实体中的“8096*窗口比例”数据发送给UE;同时修改UE反馈的确认数据包,通知Server可以再发送新数据到TPE缓存。If the TPE entity confirms that the UE has received all the "8096*window ratio" TCP/IP data after receiving the confirmation packet fed back by the UE, and can receive the "8096*window ratio" data again, it can directly take out the already The "8096*window ratio" data cached in the TPE entity is sent to the UE; at the same time, the confirmation packet fed back by the UE is modified to notify the Server that new data can be sent to the TPE cache.
步骤93、释放TCP/IP连接对应的TPE实体。
解析该连接的TCP/IP包,如果收到了指示结束连接的数据包,例如FIN包,则意味着本条TCP/IP连接结束,释放该连接对应的TPE实体。Analyze the TCP/IP packet of the connection. If a data packet indicating the end of the connection is received, such as a FIN packet, it means that the TCP/IP connection is ended, and the TPE entity corresponding to the connection is released.
该TPE实体可以是物理实体,也可以是逻辑实体。The TPE entity may be a physical entity or a logical entity.
由图9所示流程可以看出,向UE发送第二次“8096*窗口比例扩大因子”数据包时,无需将确认上次数据已收到的确认包发送给Server,也无需要再从Server中取数据包。相当于将整个路径的还回时延由RTT1+RTT2(接收端至发送端)缩短到了RTT2(接收端至传输路径中的数据处理设备),使得TCP/IP数据传输速率大幅度提升。It can be seen from the process shown in Figure 9 that when sending the second "8096*window scaling factor" data packet to the UE, there is no need to send the confirmation packet confirming that the last data has been received to the Server, and there is no need to send the confirmation packet from the Server Fetch packets. It is equivalent to shortening the return delay of the entire path from RTT1+RTT2 (receiving end to sending end) to RTT2 (receiving end to data processing equipment in the transmission path), which greatly improves the TCP/IP data transmission rate.
另一方面,由于TPE实体在接收到了UE的确认信息包后,才把窗口调整的确认数据包发送给Server,因此不存在Server认为UE已经接收了数据包,而实际上UE没有接收到数据包的异常情况,保持了端到端的一致性。On the other hand, since the TPE entity sends the window adjustment confirmation packet to the server after receiving the confirmation packet from the UE, there is no such thing as the server thinking that the UE has received the data packet, but the UE has not actually received the data packet In exceptional cases, end-to-end consistency is maintained.
基于同一发明构思,本发明实施例还提供一种数据传输设备,其结构如图10A所示,包括:获取模块101、调整模块102、缓存模块103、发送模块104。Based on the same inventive concept, an embodiment of the present invention also provides a data transmission device, the structure of which is shown in FIG. 10A , including: an
其中,获取模块101,用于获取接收端接收TCP/IP数据的能力信息;调整模块102,用于根据能力信息调整TCP/IP连接窗口大小;缓存模块103,用于接收发送端发送的TCP/IP数据并缓存;发送模块104,用于将调整后的TCP/IP连接窗口大小通知发送端;以及,根据能力信息,调度缓存的TCP/IP数据发送给接收端。Wherein, the
一个实施例中,缓存模块103还可以用于接收并缓存发送端按调整后的TCP/IP连接窗口大小发送的TCP/IP数据。In one embodiment, the
获取模块101还可以用于接收接收端返回的响应数据,该响应数据中包含能力信息,通过解析响应数据获取能力信息,该响应数据为接收端接收到转发的发送端发送的TCP/IP数据后,返回的响应数据;或,接收接收端上报的能力信息。The
如图10B所示,一个实施例中,图10A所示的数据传输设备还可以包括:解析模块105,用于在首次将TCP/IP数据发送给接收端之前,解析TCP/IP数据,得到同步数据包;解析同步数据包,得到接收的TCP/IP数据的源IP地址、目的IP地址、源端口号和目的端口号;此时,发送模块104还可以用于根据源IP地址、目的IP地址、源端口号和目的端口号,将接收的TCP/IP数据转发给接收端。As shown in Figure 10B, in one embodiment, the data transmission device shown in Figure 10A can also include: a parsing
一个实施例中,解析模块105还可以用于解析同步数据包的IP头部,得到源IP地址和目的IP地址;解析同步数据包的TCP头部,得到源端口号和目的端口号。In one embodiment, the
一个实施例中,调整模块102还可以用于根据能力信息,得到TCP/IP 16位窗口大小;在确定TCP/IP 16位窗口大小小于阈值时,扩大TCP/IP 16位窗口大小,根据扩大后的TCP/IP 16位窗口大小调整TCP/IP连接窗口大小。In one embodiment, the
调整模块102还可以用于将TCP/IP 16位窗口扩大到阈值或按预设比例进行扩大。The
一个实施例中,解析模块105还可以用于在首次将TCP/IP数据发送给接收端之前,解析TCP/IP数据得到同步数据包,解析同步数据包,得到TCP/IP窗口比例扩大因子;此时,调整模块102还可以用于根据TCP/IP窗口比例扩大因子及调整后的TCP/IP 16位窗口大小调整TCP/IP连接窗口大小。In one embodiment, the
基于同一发明构思,本发明实施例还提供一种数据传输系统,其结构如图11所示,包括:发送端设备111、接收端设备112、数据传输设备113;其中,发送端设备111,用于发送TCP/IP数据;接收端设备112,用于接收TCP/IP数据,并提供接收TCP/IP数据的能力信息;数据传输设备113,用于获取接收端接收TCP/IP数据的能力信息,根据能力信息调整TCP/IP连接窗口大小,将调整后的TCP/IP连接窗口大小通知发送端;接收发送端发送的TCP/IP数据并进行缓存;根据能力信息,调度缓存的TCP/IP数据发送给接收端。Based on the same inventive concept, an embodiment of the present invention also provides a data transmission system, the structure of which is shown in FIG. For sending TCP/IP data; the
本领域普通技术人员可以理解上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。Those skilled in the art can understand that all or part of the steps in the methods of the above embodiments can be completed by instructing related hardware through a program, and the program can be stored in a computer-readable storage medium, and the storage medium can include: ROM, RAM, Disk or CD, etc.
综上,本发明各实施例中,获取接收端接收TCP/IP数据的能力信息,根据所述能力信息调整TCP/IP连接窗口大小,将调整后的TCP/IP连接窗口大小通知发送端;接收所述发送端发送的TCP/IP数据并进行缓存;根据所述能力信息,调度缓存的TCP/IP数据发送给所述接收端。由于根据所述能力信息对TCP/IP连接窗口大小进行了调整,因此发送端可以按调整后的TCP/IP连接窗口发送TCP/IP数据,即通过增大TCP接收窗口大小,提高了TCP/IP的数据传输速率。另外,无需接收端在确认数据收到后,再从发送端获取TCP/IP数据转发给接收端,从而大幅度地减少传输路径的环回时延,即将传输路径的环回时延由接收端至发送端的整个传输路径的时延减少到由接收端至传输路径中的缓存处理设备的时延,显著地提升TCP/IP数据的传输吞吐量;此外,由于在接收到接收端的响应后,再进行缓存的TCP/IP数据的调度和发送,也保证了端到端的一致性,避免了数据丢失。To sum up, in each embodiment of the present invention, obtain the ability information that the receiving end receives TCP/IP data, adjust the TCP/IP connection window size according to the described ability information, notify the sending end of the adjusted TCP/IP connection window size; The TCP/IP data sent by the sending end is cached; according to the capability information, the buffered TCP/IP data is scheduled to be sent to the receiving end. Because the size of the TCP/IP connection window is adjusted according to the capability information, the sending end can send TCP/IP data according to the adjusted TCP/IP connection window, that is, by increasing the size of the TCP receiving window, the TCP/IP data transfer rate. In addition, there is no need for the receiving end to obtain TCP/IP data from the sending end and forward it to the receiving end after confirming the receipt of the data, thereby greatly reducing the loopback delay of the transmission path, that is, the loopback delay of the transmission path is determined by the receiving end The delay of the entire transmission path to the sending end is reduced to the delay from the receiving end to the buffer processing device in the transmission path, which significantly improves the transmission throughput of TCP/IP data; in addition, because after receiving the response from the receiving end, the Scheduling and sending cached TCP/IP data also ensures end-to-end consistency and avoids data loss.
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。Obviously, those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and equivalent technologies, the present invention also intends to include these modifications and variations.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN 200710166033CN101162971B (en) | 2007-10-30 | 2007-10-30 | Data transmitting method, equipment and system |
| PCT/CN2008/072882WO2009059545A1 (en) | 2007-10-30 | 2008-10-30 | A data transmission method, device and system |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN 200710166033CN101162971B (en) | 2007-10-30 | 2007-10-30 | Data transmitting method, equipment and system |
| Publication Number | Publication Date |
|---|---|
| CN101162971A CN101162971A (en) | 2008-04-16 |
| CN101162971Btrue CN101162971B (en) | 2011-09-14 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN 200710166033ActiveCN101162971B (en) | 2007-10-30 | 2007-10-30 | Data transmitting method, equipment and system |
| Country | Link |
|---|---|
| CN (1) | CN101162971B (en) |
| WO (1) | WO2009059545A1 (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101162971B (en)* | 2007-10-30 | 2011-09-14 | 华为技术有限公司 | Data transmitting method, equipment and system |
| US8739179B2 (en)* | 2008-06-30 | 2014-05-27 | Oracle America Inc. | Method and system for low-overhead data transfer |
| CN101646204B (en)* | 2009-08-24 | 2011-12-28 | 上海华为技术有限公司 | Data transmission method and wireless access network element |
| CN101867512B (en)* | 2010-04-15 | 2012-08-08 | 华为技术有限公司 | Data transmission control method and device |
| CN102263618B (en)* | 2010-05-31 | 2014-10-08 | 中国移动通信集团公司 | Method, device and system for controlling wireless network congestion |
| CN102983940B (en)* | 2012-11-14 | 2016-03-30 | 华为技术有限公司 | Data transmission method, apparatus and system |
| CN103227794A (en)* | 2013-04-28 | 2013-07-31 | 华为技术有限公司 | Data transmission control method, device and system |
| CN104093170B (en)* | 2014-06-10 | 2017-12-01 | 北京创毅视讯科技有限公司 | Data transmission method and TCP agent device based on TCP |
| CN104660373B (en)* | 2015-03-05 | 2018-05-18 | 浙江中控技术股份有限公司 | A kind of sending method, method of reseptance and the relevant device of interior communication data |
| CN104780117B (en)* | 2015-03-26 | 2018-10-16 | 大唐移动通信设备有限公司 | A kind of acquisition methods and device of network congestion information |
| WO2016149924A1 (en)* | 2015-03-26 | 2016-09-29 | 华为技术有限公司 | Tcp network proxy configuration method and device |
| CN106155606A (en)* | 2015-04-07 | 2016-11-23 | 中国移动通信集团公司 | A kind of multi-screen interaction method and device |
| CN105991348B (en)* | 2015-05-20 | 2019-03-15 | 杭州迪普科技股份有限公司 | TCP connection method for closing and device |
| CN106101161B (en)* | 2016-08-26 | 2019-02-01 | 网宿科技股份有限公司 | It is a kind of for handle forge TCP data packet method and system |
| CN108540400A (en)* | 2018-03-20 | 2018-09-14 | 珠海市魅族科技有限公司 | A kind of data transfer control method, control device, terminal and readable storage medium storing program for executing |
| CN110493298B (en)* | 2018-05-15 | 2021-10-08 | 阿里巴巴(中国)有限公司 | Information synchronization method and device |
| CN112913273B (en) | 2018-11-14 | 2023-03-31 | 中兴通讯股份有限公司 | System and method for determining communication parameters for non-terrestrial networks |
| CN111314237B (en)* | 2020-01-17 | 2023-05-12 | 深信服科技股份有限公司 | Method, device and equipment for adjusting data packet transmission rate and readable storage medium |
| CN111526383A (en)* | 2020-04-29 | 2020-08-11 | 江苏加信智慧大数据研究院有限公司 | Follow-up system and follow-up steps for operation arrangement |
| CN114979172B (en)* | 2021-02-23 | 2024-06-11 | 腾讯科技(深圳)有限公司 | Data transmission method, device, equipment and storage medium |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2005002148A1 (en)* | 2003-06-27 | 2005-01-06 | Ipwireless, Inc. | Method and arrangement for tcp flow control |
| CN1778079A (en)* | 2003-06-17 | 2006-05-24 | 思科技术公司 | Method and apparatus for coordinating flow control between a TCP/IP network and other networks |
| CN1842080A (en)* | 2005-03-29 | 2006-10-04 | 华为技术有限公司 | A Method of Adjusting Transmission Control Protocol Receive Window |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100394717C (en)* | 2005-10-25 | 2008-06-11 | 华中科技大学 | Base Station TCP Proxy Acknowledgment Method and System Based on ARQ Information |
| CN100558177C (en)* | 2007-02-05 | 2009-11-04 | 北京邮电大学 | Adaptive Power Saving Method for Wireless Mobile Packet Communication System |
| CN101162971B (en)* | 2007-10-30 | 2011-09-14 | 华为技术有限公司 | Data transmitting method, equipment and system |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1778079A (en)* | 2003-06-17 | 2006-05-24 | 思科技术公司 | Method and apparatus for coordinating flow control between a TCP/IP network and other networks |
| WO2005002148A1 (en)* | 2003-06-27 | 2005-01-06 | Ipwireless, Inc. | Method and arrangement for tcp flow control |
| CN1842080A (en)* | 2005-03-29 | 2006-10-04 | 华为技术有限公司 | A Method of Adjusting Transmission Control Protocol Receive Window |
| Title |
|---|
| WO 2005002148 A1,权利要求12-17,说明书第9页第1行至第13页第20行,图2-3.* |
| Publication number | Publication date |
|---|---|
| WO2009059545A1 (en) | 2009-05-14 |
| CN101162971A (en) | 2008-04-16 |
| Publication | Publication Date | Title |
|---|---|---|
| CN101162971B (en) | Data transmitting method, equipment and system | |
| CN114189901B (en) | Data receiving state reporting method and device | |
| Racz et al. | Handover performance in 3GPP long term evolution (LTE) systems | |
| US8750207B2 (en) | Adapting transmission to improve QoS in a mobile wireless device | |
| JP4950298B2 (en) | Data block generation method in wireless communication system | |
| EP3075110B1 (en) | Controlling a transmission control protocol window size | |
| WO2016068308A1 (en) | Gateway apparatus and method of controlling gateway apparatus | |
| US9084125B2 (en) | Method of performing polling procedure in a wireless communication system | |
| EP2667655B1 (en) | Method and apparatus for controlling congestion in wireless communication system | |
| CN101646204B (en) | Data transmission method and wireless access network element | |
| JP2002271366A (en) | Packet transmission method and system, and packet transmission device, reception device, and transmission / reception device | |
| CN112136338A (en) | Wireless communication apparatus and method | |
| WO2010006557A1 (en) | A method and device for transmitting data | |
| CN102201997A (en) | Data transmission control method and equipment | |
| WO2015196393A1 (en) | Data transmission method and device | |
| JP4234680B2 (en) | Bit rate control means in communication system | |
| WO2018177014A1 (en) | Method and device for adjusting data sending rate of terminal | |
| CN109314884B (en) | Service data distribution method and device | |
| CN101982951A (en) | Data transmission control method and intermediate node | |
| CN102130756A (en) | Data transmission method and device | |
| US12149423B2 (en) | Methods and arrangements for supporting estimation of latency over a communication path in a communication network | |
| CN1988533B (en) | A method for realizing IuUP/NBUP protocol process control function | |
| CN112020078B (en) | Data transmission method and device | |
| EP4426000A1 (en) | Communication method, apparatus and system | |
| CN108200605A (en) | The data transmission method and device of a kind of base station |
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| TR01 | Transfer of patent right | Effective date of registration:20211223 Address after:450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province Patentee after:xFusion Digital Technologies Co., Ltd. Address before:518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before:HUAWEI TECHNOLOGIES Co.,Ltd. | |
| TR01 | Transfer of patent right |