CN101114999A - 数据发送控制方法及数据传输设备 - Google Patents
数据发送控制方法及数据传输设备 Download PDFInfo
- Publication number
- CN101114999A CN101114999A CNA2007100453389A CN200710045338A CN101114999A CN 101114999 A CN101114999 A CN 101114999A CN A2007100453389 A CNA2007100453389 A CN A2007100453389A CN 200710045338 A CN200710045338 A CN 200710045338A CN 101114999 A CN101114999 A CN 101114999A
- Authority
- CN
- China
- Prior art keywords
- data
- ack
- amount
- receiving end
- data transmission
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
- H04L47/323—Discarding or blocking control packets, e.g. ACK packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/40—Flow control; Congestion control using split connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0231—Traffic management, e.g. flow control or congestion control based on communication conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
- H04W8/04—Registration at HLR or HSS [Home Subscriber Server]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0289—Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/06—Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及无线通信领域,公开了一种数据发送控制方法及数据传输设备。本发明中,接收来自发送端的数据并进行缓存,将缓存的数据发送给接收端;接收接收端返回的表示收到数据的ACK;根据缓存中未发送的数据量对接收端返回的ACK进行增加或删减处理,将处理后的ACK发送给发送端,通过处理后的ACK控制发送端发送数据的速率,使得数据的传输可靠而高效。
Description
技术领域
本发明涉及无线通信领域,特别涉及数据发送控制技术。
背景技术
传输控制协议(Transmission Control Protocol,简称“TCP”)是因特网和互连网络使用的最基本的一种通信协议。现在已经成为网络通信的一种事实上的标准。TCP的主要内容是提供进程间的通信机制和保证数据传输的可靠性。可靠性包括确认信息数据分组的接收、标记分组的序列信息、保证分组的完整性等,还包括对差错的控制,例如,没有收到确认信息、分组没有按顺序到达、分组丢失或错投等情况时的处理规则等等。
根据TCP协议分析,TCP发送端能否发送新的数据包以及发送多少数据包,是由发送窗口控制的,也称拥塞窗口(Congestion Window,简称“cwnd”)。发送窗口的变化主要与发送端接收到的确认信令(Acknowledgement,简称“ACK”)有关。TCP发送端根据收到的ACK中包含的TCP包序号的大小来控制窗口的右移,根据收到的ACK的个数来控制窗口的增大。举例而言,如图1所示,TCP发送端收到一个新的ACK,该ACK中包含的TCP包序号为9,此时,TCP发送端根据收到的ACK中包含的TCP包序号的大小,将发送窗口右移一个数据包的位置,即右移到10号包的位置,并根据收到的ACK的个数,将发送窗口增大一个数据包的大小,增大到11号包的位置。
目前,为了能够更好地保证数据传输的可靠性,已经出现了多种TCP优化方案,如I-TCP算法,SNOOP和WTCP等,这些TCP优化方案都是通过在TCP发送端和TCP接收端中间设置一个TCP代理来适配有线链路和无线链路。如图2所示。
I-TCP算法通过TCP代理将TCP连接分成两段:一段为有线链接;一段为无线链接。所以,TCP代理能够事先通过有线链路把数据包从服务器(即TCP发送端)上取下来缓存在TCP代理中,在TCP代理收到数据包后,代替终端(即TCP接收端)提前回复ACK,再根据无线链路的变化更快速、灵活地控制发送速率,达到充分利用空口传输能力的目的。
SNOOP、WTCP等优化方案在TCP代理实现本地重传、超时重传和发送窗口机制,尽量避免和减少TCP发送端的重传,或者利用时间戳更准确地估算环路传输时延,或者以较高的优先级来重传丢失的包,或者通过在TCP代理实现更合理的控制前向速率算法,对TCP代理的功能进行增强和优化,以提高TCP性能。
然而,本发明的发明人发现,SNOOP、WTCP等TCP优化方案存在以下问题:当无线条件由好变差时,无线链路出现拥塞,由于TCP代理缓存有限,只能缓存部分发送的数据包,如果服务器发送过多的数据包,TCP代理就只能丢弃数据包,服务器在探知丢包后进入拥塞避免或者慢启动的状态,从而影响了性能;当无线条件由差变好时,无线链路的传输能力突然增大,TCP代理快速将缓存中数据发送下去,最终因缓存无数据可发,导致管道被清空而降低吞吐量。
I-TCP算法虽然可以提升TCP吞吐量,但是由于I-TCP算法提前把服务器上的数据发送到TCP代理,一旦切换发生,TCP代理数据来不及发送完全,会导致数据丢失,而这时服务器由于早就收到TCP代理回送的ACK而不会产生重传,这样TCP反而成了不可靠地传输;如果在切换时把旧TCP代理侧的数据同步到新的TCP代理侧,则使得切换操作复杂,切换时延大大增加,甚至会引起上层TCP的连接断开。
总而言之,TCP代理可以控制其下游的前向链路速率,但无法控制其上游的前向链路速率,即TCP代理无法控制服务器到TCP代理这一段的发送速率,因此也就无法保证缓存足够的数据包,在无线条件变好后,容易发生由于没有缓存数据包而不能有效利用无线带宽的情况,使得数据的传输缺乏效率。
发明内容
本发明实施方式要解决的主要技术问题是提供一种数据发送控制方法及数据传输设备,使得数据的传输可靠而高效。
为解决上述技术问题,本发明的实施方式提供了一种数据发送控制方法,包括以下步骤:
接收来自发送端的数据并进行缓存,将缓存的数据发送给接收端;
接收接收端返回的表示收到数据的确认信令ACK;
根据缓存中未发送的数据量对接收端返回的ACK进行增加或删减处理,将处理后的ACK发送给发送端,通过处理后的ACK数目控制发送端发送数据的速率。
本发明的实施方式还提供了一种数据传输设备,包括:
存储单元,用于缓存来自发送端的数据;
第一发送单元,用于将存储单元中缓存的数据发送给接收端;
接收单元,用于接收接收端返回的表示收到数据的ACK;
处理单元,用于根据存储单元中未发送的数据量对接收单元收到的ACK进行增加或删减处理;
第二发送单元,用于将处理单元处理后的ACK发送给发送端。
本发明实施方式与现有技术相比,主要区别及其效果在于:
由于发送端是根据收到的ACK的数目来确定发送窗口的大小,因此根据缓存中未发送的数据量对接收端返回给发送端的ACK进行增加或删除处理,可以使得发送端的发送窗口大小与缓存的剩余空间大小相对应,使得在缓存的剩余空间较大时,发送端能够下发更多的数据,提高数据的传输效率。进一步,由于在本发明的实施方式中,无需代替接收端提前向发送端回复ACK,从而在接收端(如终端)发生切换时,不会导致数据丢失。
附图说明
图1是现有技术中发送窗口变化的示意图;
图2是现有技术中通过TCP代理来适配有线链路和无线链路的示意图;
图3是根据本发明第一实施方式的数据发送控制方法流程图;
图4是根据本发明第三实施方式的数据传输设备结构图;
图5是根据本发明第三实施方式的数据传输设备中处理单元的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
本发明的第一实施方式涉及一种数据发送控制方法,在本实施方式中,TCP代理接收来自发送端的数据并进行缓存,将缓存的数据发送给接收端。在接收到接收端返回的ACK后,根据缓存中未发送的数据量对接收端返回的ACK进行增加或删减处理,将处理后的ACK发送给发送端,通过所发送的ACK数目控制发送端发送数据的速率。其具体流程如图3所示。
在步骤310中,TCP代理接收来自发送端的数据并将来自发送端的数据进行缓存,再将缓存的数据发送给接收端。
接着,进入步骤320,TCP代理接收来自接收端的确认信令ACK。也就是说,接收端收到由TCP代理转发的数据后,向TCP代理发送ACK,表示接收端已成功收到来自发送端的数据。
接着,进入步骤330,TCP代理根据缓存中未发送的数据量对接收端返回的确认信令ACK进行处理,并将经处理后的ACK发送给发送端。
具体地说,当TCP代理收到确认信令ACK后,根据缓存中未发送的数据量对收到的确认信令ACK进行处理。如果缓存中未发送的数据量大于第一门限,则抛弃接收端返回的至少一个ACK,将未抛弃的ACK发送给发送端;如果缓存中未发送的数据量小于第二门限,则将接收端返回的至少一个ACK分割为至少两个,分割得到的一个ACK对应的数据包的序号不变,其余ACK对应的数据包的序号递减,将分割后的ACK全部发送给发送端。其中,第二门限小于第一门限;如果TCP代理连续地收到至少三个相同的ACK,并且缓存中未发送的数据量小于第三门限,则对该ACK进行复制,可以对所收到的至少三个相同的ACK中的任意一个或多个进行复制,并将复制得到的ACK全部发送给发送端;如果TCP代理已连续地收到至少三个相同的ACK,并且缓存中未发送的数据量大于第四门限,则对之后收到的相同的ACK作选择性抛弃,比如,每收到两个或多个相同的ACK抛弃一个,并将未抛弃的ACK发送给发送端。其中,第四门限大于第三门限。需要说明的是,上述的第一门限、第二门限、第三门限和第四门限是TCP代理根据缓存的大小进行设置的。如果缓存中未发送的数据量不满足上述任一条件,则不对ACK进行处理,直接将收到的ACK发送给发送端。
比如说,如果缓存中未发送的数据量大于第一门限,即说明前向无线链路侧带宽相对较窄,则需要控制前向有线链路侧的数据速率。TCP代理可以对接收端返回的ACK进行有概率的丢弃,仅将未抛弃的ACK发送给发送端,以适当减少发送端接收到的ACK的数量,间接控制发送窗口的大小来达到减缓发送数据的速率,将发送端发送的数据量减少到接收端可以接受的范围内,避免缓存数据溢出。
如果缓存中未发送的数据量小于第二门限,即说明无线链路的传输能力较强,则需要发送端快速发送数据。TCP代理可以分割接收端返回的ACK,以适当增加发送端接收到的ACK的数量,并将分割得到的ACK全部发送给发送端。例如可以将一个ACK分割成三个ACK,其中一个ACK对应的数据包的序号与原来的一样大,另外两个ACK对应的数据包的序号依次递减,先将序号较小的ACK传送到发送端,再传送序号较大的ACK,最后传送序号最大的ACK。通过分割接收端返回的ACK,使得在增加ACK的个数的同时,不会错误引发快速重传,并且使得发送端的发送窗口快速增长,提高数据发送频率,提高缓存的数据量,避免因为缓存中没有数据而降低数据传输的速率。
如果TCP代理已连续地收到至少三个相同的ACK,表示发送端也将进入快速重传和拥塞避免阶段,发送端的发送窗口将会减小,可能会减小为原来的一半再加三个报文段。由于发送窗口变小,使得发送端无法发送新数据包,这样发送速率将会减小,有管道被清空的可能性。在这种情况下,TCP代理需要根据缓存区的情况进行分别处理,如果缓存中未发送的数据量小于第三门限,表明缓存区的剩余空间足够大,则TCP代理可以复制一定量的ACK,然后将所有的ACK全部发送给发送端,以便快速增大发送窗口,促使重传包和新包继续发送,保证数据传输速率,且不会导致其它数据包的快速重传,安全、有效地提高了传输效率。如果缓存中未发送的数据量大于第四门限,表明缓存区的剩余空间不够,则TCP代理选择性抛弃之后收到的部分或全部重复的ACK,从而减少发送端收到的ACK的数目,控制发送窗口的增长,避免缓存数据溢出。
由此可见,由于发送端是根据收到的ACK的数目来确定发送窗口的大小,因此根据缓存中未发送的数据量对接收端返回给发送端的ACK进行增加或删除处理,可以使得发送端的发送窗口大小与缓存的剩余空间大小相对应,使得在缓存的剩余空间较大时,发送端能够发送更多的数据,提高数据的传输效率。并且,由于在本发明的实施方式中,无需代替接收端提前向发送端回复ACK,从而在接收端(如终端)发生切换时,不会导致数据丢失。
需要说明的是,本实施方式中,根据缓存中未发送的数据量对接收端返回的ACK进行增加或删减处理的是TCP代理,发送端是网络侧的服务器,接收端是终端;或者,发送端是终端,接收端是网络侧的服务器。
本发明的第二实施方式同样涉及一种数据发送控制方法,本实施方式与第一实施方式大致相同,其区别在于,第一实施方式中,根据缓存中未发送的数据量对接收端返回的ACK进行增加或删减处理的是TCP代理;而在本实施方式中,发送端是网络侧的服务器,接收端、和根据缓存中未发送的数据量对接收端返回的ACK进行增加或删减处理的是终端中的不同模块;或者,发送端是终端,接收端、和根据缓存中未发送的数据量对接收端返回的ACK进行增加或删减处理的是网络服务器中的不同模块。
可见,以上处理ACK的实体并不局限于是TCP连接的中间节点(比如TCP代理),也可以是任何TCP接收端,只要能够控制和处理ACK即可。
由于发送端和接收端可以是不同的组合,并且根据缓存中未发送的数据量对接收端返回的ACK进行增加或删减处理的可以是任何TCP接收端和TCP中间的连接节点,从而使得本发明的实施方式可灵活实现。
本发明的第三实施方式涉及一种数据传输设备,如图4所示,包括:存储单元,用于缓存来自发送端的数据;第一发送单元,用于将存储单元中缓存的数据发送给接收端;接收单元,用于接收该接收端返回的表示收到数据的ACK;处理单元,用于根据存储单元中未发送的数据量对接收单元收到的ACK进行增加或删减处理;第二发送单元,用于将处理单元处理后的ACK发送给发送端,通过处理后的ACK,控制发送端发送数据的速率。
由此可见,根据缓存中未发送的数据量对接收端返回给发送端的ACK进行增加或删除处理,可以使得发送端的发送窗口大小与缓存的剩余空间大小相对应,使得在缓存的剩余空间较大时,发送端能够发送更多的数据,提高数据的传输效率。并且,由于在本发明的实施方式中,无需代替接收端提前向发送端回复ACK,从而在接收端(如终端)发生切换时,不会导致数据丢失。
该数据传输设备的处理单元,如图5所示,还可以包括以下子单元:抛弃子单元,用于抛弃ACK;第一判断子单元,用于判断存储单元中未发送的数据量是否大于第一门限,如果大于第一门限则指示抛弃子单元抛弃至少一个接收单元收到的ACK。通过适当减少发送端接收到的ACK的数量,间接控制发送窗口的大小来达到减缓发送数据速率的目的,将发送端发送的数据量减少到接收端可以接受的范围内,避免缓存数据溢出。第二发送单元将抛弃子单元未抛弃的ACK发送给发送端。
该数据传输设备的处理单元还可以包括以下子单元:分割子单元,用于分割ACK;第二判断子单元,用于判断存储单元中未发送的数据量是否小于第二门限,如果小于第二门限,则指示分割子单元将接收单元收到的至少一个ACK分割为至少两个,分割得到的一个ACK对应的数据包的序号不变,其余ACK对应的数据包的序号递减。通过分割接收端返回的ACK,在增加ACK的个数的同时,不会错误引发快速重传,并且使得发送端的发送窗口快速增长,提高数据发送频率,提高缓存的数据量,避免因为缓存中没有数据而降低数据传输的速率。分割子单元将分割得到的所有ACK输出到第二发送单元,由第二发送单元将这些ACK发送给发送端。
该数据传输设备的处理单元还可以包括以下子单元:复制子单元,用于对ACK进行复制;第三判断子单元,用于判断接收单元是否连续地收到至少三个相同的ACK,且存储单元中未发送的数据量小于第三门限,如果是则指示复制子单元对上述至少三个ACK中的至少一个进行复制。通过对ACK进行复制,可以增大发送窗口,加大数据传输的速率,且不会导致其它数据包的快速重传,安全、有效地提高了传输效率。复制子单元将复制得到的所有ACK输出到第二发送单元,由第二发送单元将这些ACK发送给发送端。
该数据传输设备的处理单元还包括以下子单元:第四判断子单元,用于判断接收单元是否已连续地收到至少三个相同的ACK,且存储单元中未发送的数据量大于第四门限,如果是则指示抛弃子单元对接收单元之后再收到的相同的ACK进行选择性抛弃,从而减少发送端收到的ACK的数目,控制发送窗口的增长,避免缓存数据溢出。第二发送单元将抛弃子单元未抛弃的ACK发送给发送端。
该数据传输设备可以是TCP代理或TCP代理中的单元,该数据传输设备也可以是网络侧服务器或网络侧服务器中的单元,该数据传输设备还可以是终端或终端中的单元,使得本发明的实施方式可灵活实现。
另外,值得一提的是,本实施方式中的各单元均为逻辑单元,在实际应用中,可以有各种不同的物理实现方式。
综上所述,在本发明的实施方式中,由于发送端是根据收到的ACK的数目来确定发送窗口的大小,因此根据缓存中未发送的数据量对接收端返回给发送端的ACK进行增加或删除处理,可以使得发送端的发送窗口大小与缓存的剩余空间大小相对应,使得在缓存的剩余空间较大时,发送端能够下发更多的数据,提高数据的传输效率。并且,由于在本发明的实施方式中,无需代替接收端提前向发送端回复ACK,从而在接收端(如终端)发生切换时,不会导致数据丢失。
如果缓存中未发送的数据量大于第一门限,则抛弃至少一个接收端返回的ACK,从而减少发送端收到的ACK的数目,控制发送窗口的增长,将发送端发送的数据量减少到可以接受的范围内,避免缓存数据溢出。
如果缓存中未发送的数据量小于第二门限,则将接收端返回的至少一个ACK分割为至少两个,从而使得发送端收到的ACK数目增多,增大发送端的发送窗口,提高数据发送频率,提高缓存的数据量,避免因为缓存中没有数据而降低数据传输的速率。
分割得到的各ACK中,一个ACK对应的数据包的序号不变,其余ACK对应的数据包的序号递减,从而在增加ACK数目的同时,不会错误引发快速重传。
如果连续地收到至少三个相同的ACK,即至少三个ACK对应的数据包相同,且该缓存中未发送的数据量小于第三门限,则对上述至少三个ACK中的至少一个进行复制。由于三个或三个以上相同的ACK会引发发送端进行快速重传,此时,发送窗口会大幅减小,将会导致数据传输的速率变小,有信道被清空的可能性。通过对ACK进行复制,可以增大发送窗口,加大数据传输的速率,且不会导致其它数据包的快速重传,安全、有效地提高了传输效率。
如果连续地收到至少三个相同的ACK,且缓存中未发送的数据量大于第四门限,则在之后再收到相同的ACK时,对所收到的ACK进行选择性抛弃。从而减少发送端收到的ACK的数目,控制发送窗口的增长,避免缓存数据溢出。
虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (10)
1.一种数据发送控制方法,其特征在于,包括以下步骤:
接收来自发送端的数据并进行缓存,将缓存的数据发送给接收端;
接收所述接收端返回的表示收到所述数据的确认信令ACK;
根据缓存中未发送的数据量对所述接收端返回的ACK进行增加或删减处理,将处理后的ACK发送给所述发送端,通过所述处理后的ACK控制所述发送端发送数据的速率。
2.根据权利要求1所述的数据发送控制方法,其特征在于,所述根据缓存中未发送的数据量对所述接收端返回的ACK进行增加或删减处理的步骤中,包括以下子步骤:
如果所述缓存中未发送的数据量大于第一门限,则抛弃至少一个所述接收端返回的ACK。
3.根据权利要求1所述的数据发送控制方法,其特征在于,所述根据缓存中未发送的数据量对所述接收端返回的ACK进行增加或删减处理的步骤中,包括以下子步骤:
如果所述缓存中未发送的数据量小于第二门限,则将至少一个所述接收端返回的ACK分割为至少两个,分割得到的一个ACK对应的数据包的序号不变,其余ACK对应的数据包的序号递减。
4.根据权利要求1所述的数据发送控制方法,其特征在于,所述根据缓存中未发送的数据量对所述接收端返回的ACK进行增加或删减处理的步骤中,包括以下子步骤:
如果连续地收到至少三个相同的ACK,且所述缓存中未发送的数据量小于第三门限,则对所述至少三个相同的ACK中的至少一个进行复制;和/或
如果连续地收到至少三个相同的ACK,且所述缓存中未发送的数据量大于第四门限,则在之后再收到所述相同的ACK时,对所收到的ACK进行选择性抛弃。
5.根据权利要求1至4中任一项所述的数据发送控制方法,其特征在于,所述数据是TCP数据;
所述发送端是网络侧的服务器,所述根据缓存中未发送的数据量对所述接收端返回的ACK进行增加或删减处理的是传输控制协议TCP代理,所述接收端是终端;或者
所述发送端是终端,所述根据缓存中未发送的数据量对所述接收端返回的ACK进行增加或删减处理的是传输控制协议TCP代理,所述接收端是网络侧的服务器;或者
所述发送端是网络侧的服务器,所述接收端、和所述根据缓存中未发送的数据量对所述接收端返回的ACK进行增加或删减处理的是终端中的不同模块;或者
所述发送端是终端,所述接收端、和所述根据缓存中未发送的数据量对所述接收端返回的ACK进行增加或删减处理的是网络侧服务器中的不同模块。
6.一种数据传输设备,其特征在于,包括:
存储单元,用于缓存来自发送端的数据;
第一发送单元,用于将所述存储单元中缓存的数据发送给接收端;
接收单元,用于接收所述接收端返回的表示收到所述数据的ACK;
处理单元,用于根据所述存储单元中未发送的数据量对所述接收单元收到的ACK进行增加或删减处理;
第二发送单元,用于将所述处理单元处理后的ACK发送给所述发送端。
7.根据权利要求6所述的数据传输设备,其特征在于,所述处理单元包括以下子单元:
抛弃子单元,用于抛弃ACK;
第一判断子单元,用于判断所述存储单元中未发送的数据量是否大于第一门限,如果大于第一门限则指示所述抛弃子单元抛弃至少一个所述接收单元收到的ACK。
8.根据权利要求6所述的数据传输设备,其特征在于,所述处理单元包括以下子单元:
分割子单元,用于分割ACK;
第二判断子单元,用于判断所述存储单元中未发送的数据量是否小于第二门限,如果小于第二门限,则指示所述分割子单元将所述接收单元收到的至少一个ACK分割为至少两个,分割得到的一个ACK对应的数据包的序号不变,其余ACK对应的数据包的序号递减。
9.根据权利要求6所述的数据传输设备,其特征在于,所述处理单元包括以下子单元:
复制子单元,用于对ACK进行复制;第三判断子单元,用于判断所述接收单元是否连续地收到至少三个相同的ACK,且所述存储单元中未发送的数据量小于第三门限,如果是则指示所述复制子单元对所述至少三个相同的ACK中的至少一个进行复制;和/或
抛弃子单元,用于抛弃ACK;第四判断子单元,用于判断所述接收单元是否连续地收到至少三个相同的ACK,且所述存储单元中未发送的数据量大于第四门限,如果是则指示所述抛弃子单元对所述接收单元之后再收到的所述相同的ACK进行选择性抛弃。
10.根据权利要求6至9中任一项所述的数据传输设备,其特征在于,所述数据传输设备为TCP代理或TCP代理中的单元;或者
所述数据传输设备为网络侧服务器或网络侧服务器中的单元;或者
所述数据传输设备为终端或终端中的单元。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2007100453389A CN101114999B (zh) | 2007-08-26 | 2007-08-26 | 数据发送控制方法及数据传输设备 |
| PCT/CN2008/072143 WO2009026854A1 (en) | 2007-08-26 | 2008-08-26 | Data sending control method and data transmission device |
| ES08800678T ES2394388T3 (es) | 2007-08-26 | 2008-08-26 | Método para el control del envío de datos y dispositivo para transmitir datos |
| EP08800678A EP2154857B1 (en) | 2007-08-26 | 2008-08-26 | Data sending control method and data transmission device |
| US12/649,616 US8432806B2 (en) | 2007-08-26 | 2009-12-30 | Data transmission control method and data transmission device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2007100453389A CN101114999B (zh) | 2007-08-26 | 2007-08-26 | 数据发送控制方法及数据传输设备 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN101114999A true CN101114999A (zh) | 2008-01-30 |
| CN101114999B CN101114999B (zh) | 2010-08-04 |
Family
ID=39023124
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN2007100453389A Expired - Fee Related CN101114999B (zh) | 2007-08-26 | 2007-08-26 | 数据发送控制方法及数据传输设备 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US8432806B2 (zh) |
| EP (1) | EP2154857B1 (zh) |
| CN (1) | CN101114999B (zh) |
| ES (1) | ES2394388T3 (zh) |
| WO (1) | WO2009026854A1 (zh) |
Cited By (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2009026854A1 (en) * | 2007-08-26 | 2009-03-05 | Shanghai Huawei Technologies Co., Ltd. | Data sending control method and data transmission device |
| CN102026281A (zh) * | 2010-12-21 | 2011-04-20 | 大唐移动通信设备有限公司 | 基于rnc实现tcp代理的方法及装置 |
| WO2011079743A1 (zh) * | 2009-12-30 | 2011-07-07 | 深圳市同洲电子股份有限公司 | 一种数据发送方法和相关设备 |
| CN102195941A (zh) * | 2010-03-11 | 2011-09-21 | 鼎桥通信技术有限公司 | 一种改进的传输控制协议代理实现方法及装置 |
| CN102263618A (zh) * | 2010-05-31 | 2011-11-30 | 中国移动通信集团公司 | 无线网络拥塞控制方法、装置及系统 |
| CN101369877B (zh) * | 2007-12-27 | 2012-08-22 | 华为技术有限公司 | 无线传输控制协议处理方法和设备 |
| CN103001727A (zh) * | 2011-09-09 | 2013-03-27 | 中兴通讯股份有限公司 | 一种无线网络的数据传输控制方法和系统 |
| CN103685061A (zh) * | 2013-11-29 | 2014-03-26 | 华为技术有限公司 | 缓存数据控制方法和装置 |
| CN103975563A (zh) * | 2011-12-06 | 2014-08-06 | 博科通迅系统有限公司 | 用于单个设备的无损连接故障切换 |
| CN104093170A (zh) * | 2014-06-10 | 2014-10-08 | 北京创毅视讯科技有限公司 | 基于tcp的数据传输方法和tcp代理装置 |
| WO2014205708A1 (zh) * | 2013-06-27 | 2014-12-31 | 华为技术有限公司 | 一种数据报文发送方法、装置和设备 |
| CN104468061A (zh) * | 2014-11-25 | 2015-03-25 | 厦门雅迅网络股份有限公司 | 一种低速网络环境下的实时可靠数据传输的方法及系统 |
| WO2017080363A1 (zh) * | 2015-11-09 | 2017-05-18 | 中兴通讯股份有限公司 | 一种数据传输的方法及wap设备 |
| CN107465625A (zh) * | 2016-06-06 | 2017-12-12 | 普天信息技术有限公司 | 传输控制协议的传输方法和装置 |
| CN109199354A (zh) * | 2018-09-17 | 2019-01-15 | 山东思迈教育科技有限公司 | 一种心率数据采集方法及心率测量设备 |
| WO2019104725A1 (zh) * | 2017-12-01 | 2019-06-06 | 华为技术有限公司 | 报文传输方法、装置及系统 |
| CN110011758A (zh) * | 2019-01-30 | 2019-07-12 | 国家广播电视总局广播电视科学研究院 | 一种多链路下tcp的ack传输优化方法、相关装置及系统 |
| CN111225422A (zh) * | 2018-11-23 | 2020-06-02 | 大唐移动通信设备有限公司 | 一种代理数据的处理方法和装置 |
| CN113301375A (zh) * | 2021-05-24 | 2021-08-24 | 上海绚显科技有限公司 | 一种数据发送方法及装置 |
| CN118199826A (zh) * | 2022-12-13 | 2024-06-14 | 苹果公司 | 用于管理传输控制协议(tcp)确认的系统和方法 |
| CN119316482A (zh) * | 2023-07-11 | 2025-01-14 | 华为技术有限公司 | 一种通信方法以及设备 |
| US12316548B2 (en) | 2021-07-26 | 2025-05-27 | Apple Inc. | Systems and methods for managing transmission control protocol (TCP) acknowledgements |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8607279B2 (en) * | 2010-03-23 | 2013-12-10 | Qualcomm Incorporated | Induced sleep intervals for devices receiving bursty non-real time broadcast flows |
| CN102143078B (zh) * | 2011-03-29 | 2013-10-02 | 华为技术有限公司 | 一种报文处理方法、转发设备及系统 |
| EP2749118B1 (en) * | 2011-11-23 | 2018-01-10 | Telefonaktiebolaget LM Ericsson (publ) | Improving tcp performance in a cellular network |
| CN103200622A (zh) * | 2012-01-09 | 2013-07-10 | 株式会社Ntt都科摩 | 一种通信处理方法、装置及网关设备 |
| CN104170346B (zh) | 2013-02-26 | 2018-03-09 | 华为技术有限公司 | 数据传输方法、系统及代理设备 |
| CN104202300B (zh) * | 2014-08-06 | 2018-01-30 | 广东电网公司电力科学研究院 | 基于网络隔离装置的数据通信方法和装置 |
| KR102176653B1 (ko) | 2014-09-04 | 2020-11-09 | 삼성전자주식회사 | 무선 통신 시스템에서 전송 제어를 위한 방법 및 장치 |
| CN106209325A (zh) * | 2015-04-30 | 2016-12-07 | 中兴通讯股份有限公司 | 一种tcp ack报文处理方法及装置 |
| WO2017199913A1 (ja) * | 2016-05-18 | 2017-11-23 | 日本電気株式会社 | 送信装置、方法、プログラムおよび記録媒体 |
| US10594616B2 (en) * | 2016-09-30 | 2020-03-17 | Hughes Network Systems, LLC. | Data buffering control system and method for a communication network |
| CN106789700B (zh) * | 2016-12-23 | 2020-11-03 | 京信通信系统(中国)有限公司 | 一种流量整形方法及网络设备 |
| EP3562076A4 (en) * | 2017-01-24 | 2020-01-08 | Huawei Technologies Co., Ltd. | DATA TRANSMISSION METHOD AND APPARATUS, AND SUBSCRIBER LOCAL EQUIPMENT |
| CN111615148B (zh) * | 2020-05-18 | 2023-09-26 | 京信网络系统股份有限公司 | 基站tcp数据传输处理方法、装置和基站 |
| CN114173428B (zh) * | 2021-10-21 | 2022-08-05 | 北京连山科技股份有限公司 | 一种提高多链路设备数据传输速度的方法 |
Family Cites Families (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1999004536A2 (en) * | 1997-07-14 | 1999-01-28 | Nokia Networks Oy | Flow control in a telecommunications network |
| FI980825A7 (fi) * | 1998-04-09 | 1999-10-10 | Nokia Corp | Ylikuormituksen hallinta tietoliikenneverkossa |
| EP1045551A3 (en) * | 1999-04-15 | 2003-06-18 | Lucent Technologies Inc. | Method for transmission between data networks and wireless communication system |
| FI20002320A7 (fi) * | 2000-10-20 | 2002-04-21 | Nokia Corp | Eston hallinta langattomissa tietoliikenneverkoissa |
| AU2002253437A1 (en) * | 2002-04-12 | 2003-10-27 | Nokia Corporation | System, device and method for improving throughput in a communication network, preferably a mobile ipv6-based network |
| DE60211322T2 (de) | 2002-06-18 | 2006-09-07 | Matsushita Electric Industrial Co., Ltd., Kadoma | Empfängerinitiierte Inkrementierung der Übertragungsrate |
| US7286483B2 (en) * | 2002-11-14 | 2007-10-23 | Intel Corporation | Electronic data transfer based on selective storage of incoming packets |
| EP1576775A2 (en) * | 2002-12-19 | 2005-09-21 | Koninklijke Philips Electronics N.V. | Protecting real-time data in wireless networks |
| US7388836B2 (en) * | 2003-03-07 | 2008-06-17 | Cisco Technology, Inc. | System and method for communicating data in a network environment |
| US8230106B2 (en) * | 2003-03-31 | 2012-07-24 | Alcatel Lucent | Methods and apparatus for improved transmission control protocol transmission over a wireless channel exhibiting rate and delay variations |
| US7593338B2 (en) * | 2003-06-27 | 2009-09-22 | Samsung Electronics Co., Ltd. | Congestion control method and system for reducing a retransmission timeout count in a transmission control protocol |
| WO2005013083A2 (en) * | 2003-07-29 | 2005-02-10 | Orbital Data Corporation | Flow control architecture |
| CN1910868B (zh) * | 2003-12-23 | 2011-07-27 | 艾利森电话股份有限公司 | 用于控制队列缓冲器的方法及装置 |
| US7680596B2 (en) * | 2004-04-06 | 2010-03-16 | Honda Motor Co., Ltd. | Route calculation method for a vehicle navigation system |
| US7882237B2 (en) * | 2004-12-17 | 2011-02-01 | Ncipher Corporation Limited | TCP/IP proxy utilizing transparent acknowledgements |
| US8238242B2 (en) * | 2006-02-27 | 2012-08-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Flow control mechanism using local and global acknowledgements |
| US7801044B2 (en) * | 2006-05-04 | 2010-09-21 | Broadcom Corporation | TCP acknowledge for aggregated packet |
| CN101114999B (zh) | 2007-08-26 | 2010-08-04 | 上海华为技术有限公司 | 数据发送控制方法及数据传输设备 |
-
2007
- 2007-08-26 CN CN2007100453389A patent/CN101114999B/zh not_active Expired - Fee Related
-
2008
- 2008-08-26 WO PCT/CN2008/072143 patent/WO2009026854A1/zh not_active Ceased
- 2008-08-26 ES ES08800678T patent/ES2394388T3/es active Active
- 2008-08-26 EP EP08800678A patent/EP2154857B1/en not_active Not-in-force
-
2009
- 2009-12-30 US US12/649,616 patent/US8432806B2/en active Active
Cited By (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2009026854A1 (en) * | 2007-08-26 | 2009-03-05 | Shanghai Huawei Technologies Co., Ltd. | Data sending control method and data transmission device |
| US8432806B2 (en) | 2007-08-26 | 2013-04-30 | Huawei Technologies Co., Ltd. | Data transmission control method and data transmission device |
| CN101369877B (zh) * | 2007-12-27 | 2012-08-22 | 华为技术有限公司 | 无线传输控制协议处理方法和设备 |
| CN102891883A (zh) * | 2007-12-27 | 2013-01-23 | 华为技术有限公司 | 无线传输控制协议处理方法和设备 |
| WO2011079743A1 (zh) * | 2009-12-30 | 2011-07-07 | 深圳市同洲电子股份有限公司 | 一种数据发送方法和相关设备 |
| CN102195941A (zh) * | 2010-03-11 | 2011-09-21 | 鼎桥通信技术有限公司 | 一种改进的传输控制协议代理实现方法及装置 |
| CN102195941B (zh) * | 2010-03-11 | 2014-03-12 | 鼎桥通信技术有限公司 | 一种改进的传输控制协议代理实现方法及装置 |
| CN102263618A (zh) * | 2010-05-31 | 2011-11-30 | 中国移动通信集团公司 | 无线网络拥塞控制方法、装置及系统 |
| CN102026281A (zh) * | 2010-12-21 | 2011-04-20 | 大唐移动通信设备有限公司 | 基于rnc实现tcp代理的方法及装置 |
| CN103001727A (zh) * | 2011-09-09 | 2013-03-27 | 中兴通讯股份有限公司 | 一种无线网络的数据传输控制方法和系统 |
| CN103975563B (zh) * | 2011-12-06 | 2017-04-12 | 博科通迅系统有限公司 | 用于单个设备的无损连接故障切换 |
| CN103975563A (zh) * | 2011-12-06 | 2014-08-06 | 博科通迅系统有限公司 | 用于单个设备的无损连接故障切换 |
| WO2014205708A1 (zh) * | 2013-06-27 | 2014-12-31 | 华为技术有限公司 | 一种数据报文发送方法、装置和设备 |
| CN104782090A (zh) * | 2013-06-27 | 2015-07-15 | 华为技术有限公司 | 一种数据报文发送方法、装置和设备 |
| CN104782090B (zh) * | 2013-06-27 | 2017-12-08 | 华为技术有限公司 | 一种数据报文发送方法和装置 |
| CN103685061A (zh) * | 2013-11-29 | 2014-03-26 | 华为技术有限公司 | 缓存数据控制方法和装置 |
| CN103685061B (zh) * | 2013-11-29 | 2017-06-06 | 华为技术有限公司 | 缓存数据控制方法和装置 |
| CN104093170A (zh) * | 2014-06-10 | 2014-10-08 | 北京创毅视讯科技有限公司 | 基于tcp的数据传输方法和tcp代理装置 |
| CN104093170B (zh) * | 2014-06-10 | 2017-12-01 | 北京创毅视讯科技有限公司 | 基于tcp的数据传输方法和tcp代理装置 |
| CN104468061B (zh) * | 2014-11-25 | 2019-08-20 | 厦门雅迅网络股份有限公司 | 一种低速网络环境下的实时可靠数据传输的方法及系统 |
| CN104468061A (zh) * | 2014-11-25 | 2015-03-25 | 厦门雅迅网络股份有限公司 | 一种低速网络环境下的实时可靠数据传输的方法及系统 |
| WO2017080363A1 (zh) * | 2015-11-09 | 2017-05-18 | 中兴通讯股份有限公司 | 一种数据传输的方法及wap设备 |
| CN107465625A (zh) * | 2016-06-06 | 2017-12-12 | 普天信息技术有限公司 | 传输控制协议的传输方法和装置 |
| WO2019104725A1 (zh) * | 2017-12-01 | 2019-06-06 | 华为技术有限公司 | 报文传输方法、装置及系统 |
| CN109199354A (zh) * | 2018-09-17 | 2019-01-15 | 山东思迈教育科技有限公司 | 一种心率数据采集方法及心率测量设备 |
| CN109199354B (zh) * | 2018-09-17 | 2021-06-25 | 山东思迈教育科技有限公司 | 一种心率数据采集方法及心率测量设备 |
| CN111225422A (zh) * | 2018-11-23 | 2020-06-02 | 大唐移动通信设备有限公司 | 一种代理数据的处理方法和装置 |
| CN111225422B (zh) * | 2018-11-23 | 2021-05-07 | 大唐移动通信设备有限公司 | 一种代理数据的处理方法和装置 |
| CN110011758A (zh) * | 2019-01-30 | 2019-07-12 | 国家广播电视总局广播电视科学研究院 | 一种多链路下tcp的ack传输优化方法、相关装置及系统 |
| CN110011758B (zh) * | 2019-01-30 | 2021-12-31 | 国家广播电视总局广播电视科学研究院 | 一种多链路下tcp的ack传输优化方法、相关装置及系统 |
| CN113301375A (zh) * | 2021-05-24 | 2021-08-24 | 上海绚显科技有限公司 | 一种数据发送方法及装置 |
| US12316548B2 (en) | 2021-07-26 | 2025-05-27 | Apple Inc. | Systems and methods for managing transmission control protocol (TCP) acknowledgements |
| CN118199826A (zh) * | 2022-12-13 | 2024-06-14 | 苹果公司 | 用于管理传输控制协议(tcp)确认的系统和方法 |
| CN119316482A (zh) * | 2023-07-11 | 2025-01-14 | 华为技术有限公司 | 一种通信方法以及设备 |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2009026854A1 (en) | 2009-03-05 |
| CN101114999B (zh) | 2010-08-04 |
| US20100103880A1 (en) | 2010-04-29 |
| EP2154857A4 (en) | 2011-04-13 |
| US8432806B2 (en) | 2013-04-30 |
| ES2394388T3 (es) | 2013-01-31 |
| EP2154857B1 (en) | 2012-10-31 |
| EP2154857A1 (en) | 2010-02-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101114999A (zh) | 数据发送控制方法及数据传输设备 | |
| CN101189840B (zh) | 数据单元中继设备和控制该数据单元中继设备的方法 | |
| CN102355462B (zh) | 一种实现tcp传输的方法及装置 | |
| CN110661723B (zh) | 一种数据传输方法、计算设备、网络设备及数据传输系统 | |
| Balakrishnan et al. | Explicit loss notification and wireless web performance | |
| CN106878191B (zh) | 一种数据传送方法、发送节点、接收节点及数据传送系统 | |
| CN104883322B (zh) | 经由网络通过计算机传输数据而同时避免阻塞的方法及连接至网络的计算系统 | |
| CN102006283B (zh) | 数据传输的方法和装置 | |
| CN102891883B (zh) | 无线传输控制协议处理方法和设备 | |
| CN102413503B (zh) | 一种用于准TCP,即Semi-TCP的自适应确认分组延迟发送的方法 | |
| WO2008044653A1 (en) | Communication system, communication device, and communication method | |
| CN101119183A (zh) | 重传控制方法及传输设备 | |
| CN104093170A (zh) | 基于tcp的数据传输方法和tcp代理装置 | |
| CN110602568B (zh) | 一种基于rtp的视频流传输丢包重传方法、设备及存储设备 | |
| US8085669B2 (en) | Session relay device and session relay method | |
| CN100505608C (zh) | 一种适合卫星网络的自适应拥塞控制方法及系统 | |
| US20030137948A1 (en) | Retransmission control in wireless packet data networks | |
| CN104580171B (zh) | Tcp协议的传输方法、装置和系统 | |
| CN120074764A (zh) | 一种逐跳可靠的传输层数据传输方法和系统 | |
| US8418017B2 (en) | Adaptive acknowledgment mechanism for network communication | |
| Kadhum et al. | Fast Congestion Notification mechanism for ECN-capable routers | |
| CN115314939B (zh) | 一种确认模式rlc实体数据发送方法 | |
| CN112491703B (zh) | 一种面向异构边缘网络的智能多链路传输控制的方法及其系统 | |
| Hong et al. | A performance improvement scheme of stream control transmission protocol over wireless networks | |
| CN119728030A (zh) | 基于Go-Back-N重传机制的RDMA存储网络优化方法 |
Legal Events
| 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 | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100804 |
|
| CF01 | Termination of patent right due to non-payment of annual fee |