CN102006283B - 数据传输的方法和装置 - Google Patents
数据传输的方法和装置 Download PDFInfo
- Publication number
- CN102006283B CN102006283B CN2010105207965A CN201010520796A CN102006283B CN 102006283 B CN102006283 B CN 102006283B CN 2010105207965 A CN2010105207965 A CN 2010105207965A CN 201010520796 A CN201010520796 A CN 201010520796A CN 102006283 B CN102006283 B CN 102006283B
- Authority
- CN
- China
- Prior art keywords
- tcp
- packet
- data
- ack
- tcp ack
- 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.)
- Expired - Fee Related
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 44
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000015572 biosynthetic process Effects 0.000 claims description 21
- 238000012217 deletion Methods 0.000 claims description 14
- 230000037430 deletion Effects 0.000 claims description 14
- 238000013500 data storage Methods 0.000 claims description 5
- 210000000352 storage cell Anatomy 0.000 claims description 5
- 238000010200 validation analysis Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 description 16
- 238000011144 upstream manufacturing Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000011248 coating agent Substances 0.000 description 2
- 238000000576 coating method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 101150012579 ADSL gene Proteins 0.000 description 1
- 102100020775 Adenylosuccinate lyase Human genes 0.000 description 1
- 108700040193 Adenylosuccinate lyases Proteins 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6245—Modifications to standard FIFO or LIFO
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2466—Traffic characterised by specific attributes, e.g. priority or QoS using signalling traffic
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明的实施例提供一种数据传输的方法和装置,其中方法包括:建立TCP/IP数据包的缓存,TCP/IP数据包包括TCP有效载荷和TCP ACK;根据TCP/IP数据包的包头信息,调整缓存TCP/IP数据队列;将调整后的缓存TCP/IP数据包进行发送。本发明的实施例对接收端发出的TCPACK的IP数据包进行处理,大限度减少TCPACK回复量并优先发送TCPACK的IP数据包,借此缩短数据发送的往返时延,提高数据传输效率。
Description
技术领域
本发明涉及通信领域,尤其涉及一种数据传输的方法和装置。
背景技术
现有的Internet互联网主要是通过TCP(Transmit Control Protocol,传输控制协议)/IP(Internet Protocol,因特网协议)来进行组网并完成数据传输的。TCP协议是面向连接的端到端的协议,应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分割成适当长度的报文段,之后传给IP层,由IP层通过网络将数据报文传送给接收端的TCP层。为了保证不发生丢包,TCP给每个字节一个序号,通过序号保证传送到接收端的包的按序接收。接收端对已成功收到和校验正确的一组TCP分组包发回一个相应的确认(ACK)。如果发送端在一定时间内收到ACK,则它将继续发送数据;如果发送端在一定时间内未收到ACK,或者收到三个对于某个数据报之前数据报的确认,那么对应的数据将会被重传。
在实际的TCP/IP传输中,如果往返时延,即发送端从发出某个带TCP有效载荷的IP数据包(下称TCP有效载荷)到从接收端收到该TCP ACK的IP数据包(下称TCP ACK)这段时长RTT太长,将影响发送端数据发送的连续性,进而影响速率。特别在非对称的网络,比如ADSL,移动通信网等中,在带宽小的方向上,常常会因为带宽小而不得不累积大量数据造成拥塞,导致TCP ACK不能及时地返回给发送端,发送端会启动拥塞机制减慢传输速率,从而使数据传输效率大大降低。
就如何提高TCP/IP在非对称网络上用户面数据传输性能的问题,目前现有的策略主要包括:
其一,调整发送方和接收方的TCP窗口大小,增加发送方的初始发送窗口,限制发送方的速率,调整最大数据传输单元的大小,在发送方启用路径MTU检测机制,启用直接拥塞机制,启用时间戳机制等方法。该策略是对现有的TCP/IP进行参数和机制的相应调整,从一定程度上提高了TCP/IP的数据传输性能,但该策略有很大的局限性:首先,参数调整往往是针对不同的应用场景采用不同的参数组合才能达到一定的效果,并非一劳永逸的统一效果;其次,在实际的Internet互联网中,各服务节点主机是不可控的,要想修改TCP/IP参数很难实现。
其二,在双向数据传输中,建立两个不同优先级的传输队列:优先级高的队列缓存TCP ACK,优先级低的队列则缓存非TCP ACK数据。发送时先发优先级高的TCPACK队列的数据。该策略在数据双向传输情况下,可以减少数据传输的往返时延,保证数据传输的效率。但也有一定局限性:首先,如果数据只是单向传输,接收端只有TCP ACK数据包发送给发送端,也即只有TCPACK队列会缓存数据,故不存在先发高优先级队列数据的情况,如此,发送端数据传输的往返时延并不会因此得到改善,数据传输效率也得不到提高;其次,如果数据为双向传输,某方向上优先发送TCPACK队列的数据,由于该方向上带宽是一定的,那么一定程度上就会影响非TCPACK队列数据的传输,从而影响此方向上数据传输的效率。
发明内容
本发明的实施例提供一种数据传输的方法和装置,用以解决现有的数据传输中的传输效率不高的问题。
本发明实施例提供一种数据传输方法,包括:
建立TCP/IP数据包先进先出的缓存,接收并缓存待发送的TCP/IP数据包,TCP/IP数据包包括TCP有效载荷数据包和TCP ACK;根据TCP/IP数据包的包头信息,调整缓存TCP/IP数据包的队列;将调整队列后的缓存TCP/IP数据包顺序进行发送。
较优的,上述根据所述数据包中TCP/IP数据包的包头信息,调整缓存TCP/IP数据包的队列包括:当缓存中存在两个源和目的IP地址、TCP源端口号、目的端口号均对应相同、确认号不同的TCP ACK时,保留其中最近接收到的一个TCPACK,将另一个TCPACK删除。
较优的,将其中最近接收到的一个TCP ACK插入至所述被删除TCP ACK中最靠前的TCPACK的位置。
较优的,调整缓存TCP/IP数据包的队列还包括:当缓存中存在两个源和目的IP地址、TCP源端口号、目的端口号均对应相同、确认号也相同的TCPACK时,将后一个所述TCPACK插至前一个所述TCPACK的相邻位置。
较优的,当所述缓存队列中存在TCP有效载荷数据包时,将所有TCPACK插至TCP有效载荷数据包之前。
本发明实施例同时提供一种数据传输的装置,包括:
数据存储单元,用于对传输中的TCP/IP数据包进行先进先出的缓存,接收并缓存待发送的TCP/IP数据包,所述TCP/IP数据包包括TCP有效载荷数据包和TCP确认信息TCPACK;
数据包信息采集单元,用于对缓存TCP/IP数据包队列中的TCP/IP数据包的包头信息进行收集并提供给数据包队列调整单元;
数据包队列调整单元,用于依照所述数据包信息采集单元的信息对所述数据存储单元中的TCP/IP数据包缓存队列进行调整。
较优的,上述数据包包头信息采集单元包括:TCP ACK采集模块、IP地址采集模块、端口号采集模块和确认号采集模块;
TCP ACK采集模块,用于对缓存的TCP/IP数据包是否为TCP ACK进行判断,并在为TCPACK时通知IP地址采集模块;
IP地址采集模块,用于对最新被通知为TCP ACK的IP源地址和目的地址与之前被通知为TCP ACK的IP源地址和目的地址进行判断,当两个TCPACK的IP源地址和目的地址相同时,通知端口号采集模块;
端口号采集模块,收到IP地址采集模块的通知,对两个TCPACK的TCP端口号进行判断,当两个TCP ACK的TCP源端口和目的端口相同时,通知确认号采集模块;
确认号采集模块,用于收到端口号采集模块的通知,对两个TCP ACK确认号的比对结果通知所述数据包队列调整单元;
数据包队列调整单元,用于当所述比对结果为确认号不同时,将之前被通知的TCP ACK删除,并通知所述IP地址采集模块。
较优的,上述数据包队列调整单元还用于,当比对结果为确认号相同时,将最新被通知的TCP ACK插至之前TCP ACK的相邻位置。
较优的,所述数据包队列调整单元还用于,将之前TCPACK删除之后将最新被通知的TCPACK插至删除位置。
较优的,上述TCP ACK采集模块还用于,当判断出缓存数据中还存在TCP有效载荷时,通知所述数据包队列调整单元;所述数据包队列调整单元将TCP有效载荷置于所有TCP ACK之后。
较优的,上述数据传输装置位于数据发送端侧的网元或移动终端中。
本发明的实施例对接收端发出的TCP ACK的IP数据包进行处理,大限度减少TCP ACK回复量并优先发送TCP ACK的IP数据包,借此缩短数据发送的往返时延,避免不必要的数据重传,提高数据传输效率。
附图说明
图1为Ipv4规定TCP/IP数据包包头结构示意图。
图2为本发明一方法实施方式的示意图。
图3为本发明一方法实施例的流程图。
图4为本发明另一方法实施例的流程图。
图5为本发明一装置实施例的结构图。
具体实施方式
下面结合附图对本发明进行进一步具体描述。
首先描述一下TCP/IP协议为保证数据包正确到达目的端的方式所进行的规定:对于同一连接,即IP源地址和目的地址相同的连接,源端不断地向目的端发送数据,目的端接收源端发送到数据,它们使用TCP/IP数据包报头序列号以及确认号来表示已经接收到包含在相关数据包中的数据字节。目的端接收到源端的正确的数据时,向源端发送确认信息TCP ACK的IP数据包,下称TCPACK。如Ipv4规定的TCP/IP数据包包头结构示意图如图1所示,包括IP源地址和目的地址、源端口和目的端口地址、序列号、确认号,或者有有效荷载时包含荷载数据等。
具体举例,假设主机A向主机B发送10个字节的会话数据,主机A发送的TCP/IP头包含源端地址1028、目的端地址23、序列号1、确认号1,以及后续的10个数据字节。假设主机B成功收到这些会话数据,且并不向源端发送有效荷载数据,向主机A发送TCP ACK,源端和目的端地址正好与主机A发送的相调换,源地址23、目的端地址1028;序列号为1,表示被传送到对端即源端的字节数为0;确认号为11,为指示主机B期待接收的下一字节。收到主机B的TCP ACK后,主机A得知主机B已经收到确认号之前的所有字节,即11之前的10个字节,于是继续向主机B发送数据包,此时TCP报头的序列号为11,表明在这个会话中被传送到对端的已经接收到的字节数为10。依此类推,如果主机B仍能正确接收该段数据,其回传的TCPACK的包头的序列号即为1,确认号为21。
如图2所示,本发明的实施方式构建了一个TCP/IP数据包的队列缓存,用来缓存TCP ACK以及带有有效载荷的TCP/IP数据包(即TCP有效数据的IP数据包),且数据包的顺序缺省为先进先出。给缓存设定一个容量,在接收过程中,TCP有效载荷和TCP ACK进入缓存,并根据TCP ACK中含带的源地址和目的地址、确认号等信息对TCP/IP数据包队列进行相应处理,并在容量到达设定值时发给对端。
进入缓存的数据包可以根据下面的方式被处理:
1、在新接收一个TCP ACK时,如果缓存队列中存在与该TCP ACK的IP地址和端口号相同,并且TCP ACK确认号也相同的TCP ACK,将后接到的这个TCPACK插入到前一个确认号相同的TCPACK相邻位置,比如紧接其后,同时可以将这两个TCPACK都标记为重复。
因为根据TCP/IP协议,在目的端收到失序报文段时,会立即产生TCP
ACK,如果源端收到接收端发回到三个重复的TCP ACK,表示源端发送到该报文段很可能已经丢失,因而需要进行重传,所以将重复的第二个、第三个TCP ACK找到并尽快前插,以加速源端数据的快速重传。
2、在新接收一个TCPACK时,如果缓存队列中存在与该TCPACK的IP地址和端口号相同,但确认号不相同的、被标记为“重复”的TCP ACK,将之前所有标记为“重复”(当然,地址和端口号相同)的TCP ACK删除,并在队尾放入此确认号不相同的最新接收到TCP ACK。
如果源地址和目的地址以及端口号相同,但确认号不同,代表正确接收的字节数有了更新,比如上一个TCP ACK的确认号为21,这个TCP ACK的确认号为31,表示前30个字节已经正确接收,而队列中的前段存在第1种情况中的两个或以上被标记为“重复”的TCP ACK消息,确认号都为21,本来有可能形成“前20个字节的数据中有丢失,请对端重传”的信息,而此时可以排除前20个字节可能丢失的怀疑,将这些重复的TCPACK删除。并且,更优点方案是将删除TCPACK的最靠前位置插入新的TCPACK,更快的向对源端确认更多的对端数据包。
3、在新接收一个TCPACK时,如果缓存队列中存在与该TCPACK的IP地址和端口号相同,但确认号不相同,且没有被标记为“重复”的TCP ACK,将之前的IP地址和端口号相同,且确认序列号不相同的所有TCP ACK删除,并在最靠前的删除位置插入最新接收到的TCP ACK。
和上述2类似,比如上一个TCP ACK的确认号为21,这一个TCP ACK的确认号为31,表示前30个字节已经正确接收,即可以删除表示前20个字节已经正确接收的TCP ACK消息了,这样可以减少链路载荷。并且将TCP ACK的删除位置插上新的TCP ACK,能更快的向源端确认接收更多的数据包。
本发明提供的一个具体实施例如图3所示,当接收到一个新的TCP ACK时,判断缓存队列中是否存在与新收到的TCP ACK相同IP地址和TCP/IP动态端口的TCP ACK,来判断是否为同一源端和目的端之间的同一服务的数据传输。
如果端口和地址不相同,将该新的TCP ACK放入缓存队列。如果端口和地址相同,判断缓存队列中是否存在与该新收到的TCP ACK的确认号相同的TCPACK。
如果存在,将当前新接收到TCP ACK前插至前一个确认号相同的TCPACK的相邻位置,这样,如果出现三个重复的确认号相同的TCP ACK代表相关数据需要重传时,发送端能尽快收到该消息并尽快重传。同时,可以将当前新接收到的TCP ACK与前一个确认号相同的TCP ACK都标记为“重复”。
如果上述判断的结果为不存在与新接收的TCPACK的确认号相同的TCPACK,则删除之前的与新接收的TCP ACK端口和地址相同的所有TCP ACK。更优的,将当前新接收到TCP ACK插入到最靠前的被删除TCP ACK位置,使该正确接收数据的响应信息尽早传送到源端。
上述删除之前的与新接收的TCP ACK端口和地址相同的TCP ACK中,可能包含被标记为“重复”的TCP ACK,原本很可能成为“报文丢失,请重传”的消息,也因更新的正确接收响应TCP ACK使其不会被发到源端,避免徒增不必要重传的数据。被删除的TCP ACK中也可能包含未被标记为“重复”的TCPACK,这些响应因为有了新的确认号的TCPACK而变得多余,所以将其删除可减少链路载荷。
本发明另一实施例提供了一种更优的方案,如图4所示。
图4所表现的实施例的右半分支与图3表现的实施例相同,即当接收到一个新的TCP ACK,且缓存队列中存在与之端口和地址相同,序列号不同的TCPACK时的操作过程相同,区别在于,在缓存TCP/IP数据包队列中不存在与接收到的新的TCP ACK的TCP端口和IP地址皆相同的TCP ACK,或者在与接收到的新的TCP ACK存在TCP端口、IP地址相同、确认号也相同的TCP ACK并将后接收到TCP ACK插入前者的相邻位置这两种情况下,判断该缓存队列中是否存在有效载荷的TCP/IP数据包。当存在有效载荷的数据包时,将接收到的TCP ACK插入到所有有效载荷的TCP/IP数据包之前,以优先传输TCPACK,加快对源端发送数据的确认,从而提高源端数据传输速率。
另一方案是,根据TCP数据包报头判断是否存在有效载荷的数据,如果存在,将所有TCP ACK置于TCP有效载荷之前,并按上面的判断方式去调整TCPACK在队列中的位置。
上述实施方式在上下行非对称网络中更能有效改善传输效率。使用上述图3表现的实施例以及其上述优选方案,在时分同步码分多址TD-SCDMA这种上下行非对称网络中进行实测,只在单侧终端侧安置缓存,所得实测数据如表1对比所示:
表1
如表1所示,上下行速率尤其是下行速率提高幅度达20~100倍之多。值得注意的是,本发明实现的上行速率,高于网络的上行带宽,如在上行带宽为128Kbps的场景中,上行速率为0.14Mbps;在上行带宽为32kbps的场景中,上行速率为0.05Mbps等。其原因在于上述方案中删除了多余的TCPACK,而检测计算机上显示的数据实为未删减之前的接收端产生的原始数据。
本发明提供实现上述传输方法的装置,可以设在移动终端内部,亦可设于网络侧或是数据传输的过程中的某网元处,更佳方案是设于数据发送端的核心网服务器或移动终端中,或接近发送端的网元中。
如图5所示,本发明较佳实施例提供的数据传输的装置包括:
数据存储单元,用于对传输中的TCP/IP数据包进行缓存;
数据包信息采集单元,用于对缓存的数据包的报头信息进行收集并提供给数据包队列调整单元;
数据包队列调整单元,用于依照上述数据包信息采集单元的信息对数据存储单元中的数据包队列进行调整。
其中,数据包报头信息采集单元包括:TCPACK采集模块,对缓存的数据包是否为TCPACK进行判断,并在为TCPACK时通知IP地址采集模块;
IP地址采集模块,对被通知为的TCP ACK的源地址和目的地址进行判断,当两个TCP ACK的源地址和目的地址相同时,通知端口号采集模块;
TCP端口号采集模块,收到IP地址采集模块的通知,对两个TCP ACK的端口号进行判断,当两个TCP ACK的源端口和目的端口相同时,通知确认号采集模块;
确认号采集模块,收到端口号采集模块的通知,对两个TCPACK确认号的比对结果通知数据包队列调整单元;
数据包队列调整单元,当比对结果为确认号不同时,将前一个TCP ACK删除,将后一个TCPACK插至删除位置,并通知IP地址采集模块继续进行判断;当比对结果为确认号相同时,将后一个TCP ACK插至前一个TCP ACK的相邻位置,这样可以使“正确收到数据”的TCP ACK信息尽早传至数据源端,也可以避免不必要的数据重传,更能减少链路载荷。
TCP ACK采集模块判断出缓存数据中还存在TCP ACK之外的TCP/IP有效载荷数据时,通知所述数据包队列调整单元;数据包队列调整单元将TCP/IP有效载荷数据置于所有TCP ACK之后,以便优先传输TCP ACK,加快对源端发送数据的确认,从而提高源端数据传输速率。
通过以上的实施方式以及实施例的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (11)
1.一种数据传输方法,其特征在于,包括:
建立TCP/IP数据包先进先出的缓存,接收并缓存待发送的TCP/IP数据包,所述TCP/IP数据包包括TCP有效载荷数据包和TCP确认信息TCP ACK;
根据所述TCP/IP数据包的包头信息,调整缓存TCP/IP数据包的队列;
将调整队列后的缓存TCP/IP数据包顺序进行发送;其中,
所述根据所述TCP/IP数据包的包头信息,调整缓存TCP/IP数据包的队列包括:当缓存中存在两个源和目的IP地址、TCP源端口号、目的端口号均对应相同、确认号也相同的TCP ACK时,将其中最近接收到的一个TCP ACK插至前一个所述源和目的IP地址、TCP源端口号、目的端口号均对应相同、确认号也相同的TCP ACK的相邻位置。
2.根据权利要求1所述的数据传输方法,其特征在于,所述根据所述TCP/IP数据包的包头信息,调整缓存TCP/IP数据包的队列包括:当缓存中存在两个源和目的IP地址、TCP源端口号、目的端口号均对应相同、确认号不同的TCP ACK时,保留其中最近接收到的一个TCP ACK,将另一个TCP ACK删除。
3.根据权利要求2所述的数据传输方法,其特征在于,所述保留其中最近接收到的一个TCP ACK进一步包括,将所述最近接收到的一个TCP ACK插入至所述被删除TCP ACK中最靠前的TCP ACK的位置。
4.根据权利要求3所述的数据传输方法,其特征在于,还包括,当所述缓存TCP/IP数据包的队列中存在TCP有效载荷数据包时,将所有TCP ACK插至所述TCP有效载荷数据包之前。
5.根据权利要求1所述的数据传输方法,其特征在于,还包括,当所述缓存TCP/IP数据包的队列中存在TCP有效载荷数据包时,将所有TCP ACK插至所述TCP有效载荷数据包之前。
6.一种数据传输装置,其特征在于包括,
数据存储单元,用于对传输中的TCP/IP数据包进行先进先出的缓存,接收并缓存待发送的TCP/IP数据包,所述TCP/IP数据包包括TCP有效载荷数据包和TCP确认信息TCP ACK;
数据包信息采集单元,用于对缓存TCP/IP数据包队列中的TCP/IP数据包的包头信息进行收集并提供给数据包队列调整单元;
数据包队列调整单元,用于依照所述数据包信息采集单元的信息对所述数据存储单元中的TCP/IP数据包缓存队列进行调整;其中,
所述数据包信息采集单元包括:TCP ACK采集模块,IP地址采集模块,端口号采集模块,确认号采集模块;
TCP ACK采集模块,用于对所述缓存的TCP/IP数据包是否为TCP ACK进行判断,并在为TCP ACK时通知IP地址采集模块;
所述IP地址采集模块,用于对最新被通知为TCP ACK的IP源地址和目的地址与之前被通知为TCP ACK的IP源地址和目的地址进行判断,当两个TCPACK的IP源地址和目的地址皆相同时,通知端口号采集模块;
所述端口号采集模块,收到IP地址采集模块的通知,对所述两个TCP ACK的TCP端口号进行判断,当所述两个TCP ACK的TCP源端口和目的端口相同时,通知确认号采集模块;
所述确认号采集模块,用于收到端口号采集模块的通知,对所述两个TCPACK确认号的比对结果通知所述数据包队列调整单元;
所述数据包队列调整单元,用于当比对结果为确认号相同时,将所述最新通知的TCP ACK插至所述之前被通知TCP ACK的相邻位置。
7.根据权利要求6所述的数据传输装置,其特征在于,
所述数据包队列调整单元,用于当所述比对结果为确认号不同时,将所述之前被通知的TCP ACK删除,并通知所述IP地址采集模块。
8.根据权利要求6或7所述的数据传输装置,其特征在于,所述数据包队列调整单元还用于,将所述之前被通知的TCP ACK删除之后将所述最新被通知的TCP ACK插至删除位置。
9.根据权利要求8所述的数据传输装置,其特征在于,所述TCP ACK采集模块还用于,当判断出缓存数据中还存在TCP有效载荷数据包时,通知所述数据包队列调整单元;所述数据包队列调整单元将TCP有效载荷数据包置于所有TCP ACK之后。
10.根据权利要求6所述的数据传输装置,其特征在于,所述TCP ACK采集模块还用于,当判断出所述缓存数据中还存在TCP有效载荷数据包时,通知所述数据包队列调整单元;所述数据包队列调整单元将TCP有效载荷数据包置于所有TCP ACK之后。
11.根据权利要求6或7所述的数据传输装置,其特征在于,所述装置位于数据发送端侧的网元或移动终端中。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105207965A CN102006283B (zh) | 2010-10-21 | 2010-10-21 | 数据传输的方法和装置 |
PCT/CN2011/081101 WO2012051963A1 (zh) | 2010-10-21 | 2011-10-21 | 数据传输的方法和装置 |
EP11833869.8A EP2632102A4 (en) | 2010-10-21 | 2011-10-21 | Method and device for data transmission |
US13/880,110 US9467390B2 (en) | 2010-10-21 | 2011-10-21 | Method and device for data transmission |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105207965A CN102006283B (zh) | 2010-10-21 | 2010-10-21 | 数据传输的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102006283A CN102006283A (zh) | 2011-04-06 |
CN102006283B true CN102006283B (zh) | 2013-07-17 |
Family
ID=43813354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105207965A Expired - Fee Related CN102006283B (zh) | 2010-10-21 | 2010-10-21 | 数据传输的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9467390B2 (zh) |
EP (1) | EP2632102A4 (zh) |
CN (1) | CN102006283B (zh) |
WO (1) | WO2012051963A1 (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006283B (zh) * | 2010-10-21 | 2013-07-17 | 意法·爱立信半导体(北京)有限公司 | 数据传输的方法和装置 |
US9413676B2 (en) * | 2011-05-24 | 2016-08-09 | Tata Consultancy Services Limited | System and method for reducing the data packet loss employing adaptive transmit queue length |
CN102420684B (zh) * | 2011-11-04 | 2014-11-05 | 展讯通信(上海)有限公司 | Tcp数据流的处理方法以及通信设备 |
WO2014006448A1 (en) * | 2012-07-03 | 2014-01-09 | Freescale Semiconductor, Inc. | Cut through packet forwarding device |
CN103338184B (zh) * | 2013-05-27 | 2017-02-15 | 福建伊时代信息科技股份有限公司 | 数据发送方法及数据发送装置 |
DE112013007142T5 (de) * | 2013-06-07 | 2016-04-14 | Apple Inc. | Verwalten anstehender Bestätigungspakete in einer Kommunikationsvorrichtung |
CN104283647B (zh) * | 2013-07-04 | 2019-06-04 | 展讯通信(上海)有限公司 | 基于空中接口的数据传输方法、装置和网络通信设备 |
US9473416B2 (en) * | 2014-01-30 | 2016-10-18 | Qualcomm Incorporated | Enhanced techniques of TCP ACK transmission in uplink |
EP3742687A1 (en) | 2014-04-23 | 2020-11-25 | Bequant S.L. | Method and apparatus for network congestion control based on transmission rate gradients |
CN105744571B (zh) * | 2016-04-14 | 2019-12-31 | 京信通信系统(中国)有限公司 | 流量整形方法和系统 |
US10128985B2 (en) | 2016-07-01 | 2018-11-13 | International Business Machines Corporation | ACK clock compensation for high-speed serial communication interfaces |
US10678976B2 (en) * | 2017-04-14 | 2020-06-09 | Mentor Graphics Corporation | Generic protocol analyzer for circuit design verification |
CN107548105B (zh) * | 2017-10-18 | 2021-04-30 | 中国联合网络通信集团有限公司 | 一种基于udp的数据传输确认方法和基站 |
CN108512833B (zh) * | 2018-03-09 | 2021-06-29 | 新华三技术有限公司 | 一种防范攻击方法及装置 |
CN109327525A (zh) * | 2018-10-26 | 2019-02-12 | 浙江理工大学 | 一种用于针织机联网的文件传输方法及装置 |
CN111181697A (zh) * | 2018-11-13 | 2020-05-19 | 三星电子株式会社 | 用于tcp ack包的传输的方法和系统 |
CN109379287B (zh) * | 2018-12-25 | 2022-03-11 | 广东浪潮大数据研究有限公司 | 一种数据包的输入缓冲方法及输入缓冲部件 |
CN110011758B (zh) * | 2019-01-30 | 2021-12-31 | 国家广播电视总局广播电视科学研究院 | 一种多链路下tcp的ack传输优化方法、相关装置及系统 |
WO2021212438A1 (zh) * | 2020-04-23 | 2021-10-28 | 深圳市大疆创新科技有限公司 | 数据传输方法、装置、系统、终端设备和存储介质 |
CN111865828A (zh) * | 2020-07-24 | 2020-10-30 | 展讯通信(上海)有限公司 | 数据传输方法、系统、电子设备及存储介质 |
CN112615701B (zh) * | 2020-12-30 | 2023-02-14 | 展讯半导体(成都)有限公司 | 一种数据处理方法及装置 |
EP4342111A1 (en) * | 2021-05-17 | 2024-03-27 | Qualcomm Incorporated | Reduction of duplicate acknowledgments |
CN114448916A (zh) * | 2021-12-24 | 2022-05-06 | 锐捷网络股份有限公司 | Tipc报文处理方法、装置、设备和存储介质 |
CN115426317B (zh) * | 2022-11-03 | 2023-03-24 | 新华三信息技术有限公司 | 数据传输速率控制方法、装置及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1421079A (zh) * | 1999-10-29 | 2003-05-28 | Eci电信公司 | 在adsl通信中用于丢弃和再生确认分组的方法和系统 |
CN101854309A (zh) * | 2010-06-18 | 2010-10-06 | 中兴通讯股份有限公司 | 报文输出的管理方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030074465A1 (en) * | 2001-10-15 | 2003-04-17 | Zhicheng Tang | ADSL downloading with priority transmit queue |
US7315515B2 (en) * | 2003-09-30 | 2008-01-01 | Conexant Systems, Inc. | TCP acceleration system |
US7609697B2 (en) * | 2004-03-30 | 2009-10-27 | Sony Corporation | Optimizing IEEE 802.11 for TCP/IP data transfer |
US7957379B2 (en) * | 2004-10-19 | 2011-06-07 | Nvidia Corporation | System and method for processing RX packets in high speed network applications using an RX FIFO buffer |
US8792414B2 (en) * | 2005-07-26 | 2014-07-29 | Ruckus Wireless, Inc. | Coverage enhancement using dynamic antennas |
KR101671804B1 (ko) * | 2008-04-25 | 2016-11-16 | 인텔렉추얼디스커버리 주식회사 | Tcp ack 패킷 전송 및 수신 방법과, 이를 지원하는 장치 |
CN102006283B (zh) | 2010-10-21 | 2013-07-17 | 意法·爱立信半导体(北京)有限公司 | 数据传输的方法和装置 |
-
2010
- 2010-10-21 CN CN2010105207965A patent/CN102006283B/zh not_active Expired - Fee Related
-
2011
- 2011-10-21 WO PCT/CN2011/081101 patent/WO2012051963A1/zh active Application Filing
- 2011-10-21 EP EP11833869.8A patent/EP2632102A4/en not_active Withdrawn
- 2011-10-21 US US13/880,110 patent/US9467390B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1421079A (zh) * | 1999-10-29 | 2003-05-28 | Eci电信公司 | 在adsl通信中用于丢弃和再生确认分组的方法和系统 |
CN101854309A (zh) * | 2010-06-18 | 2010-10-06 | 中兴通讯股份有限公司 | 报文输出的管理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102006283A (zh) | 2011-04-06 |
WO2012051963A1 (zh) | 2012-04-26 |
EP2632102A4 (en) | 2017-11-08 |
US20130250767A1 (en) | 2013-09-26 |
US9467390B2 (en) | 2016-10-11 |
EP2632102A1 (en) | 2013-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102006283B (zh) | 数据传输的方法和装置 | |
CN101616077B (zh) | 互联网大文件的快速传输方法 | |
CN102217258B (zh) | 探测处理方法、数据发送端、数据接收端以及通信系统 | |
US20040052234A1 (en) | Method and system for dispatching multiple TCP packets from communication systems | |
WO2013053304A1 (zh) | 一种实现tcp传输的方法及装置 | |
CN101436978A (zh) | 使用udp协议进行可靠数据传输的方法 | |
CN102148662B (zh) | 一种数据发送速率的调整方法及装置 | |
WO2012126424A2 (zh) | 一种数据包的转发方法和设备 | |
EP2613497A2 (en) | Method of transporting data in a sub-segmented manner | |
CN107743057A (zh) | 一种数据传输系统和方法 | |
WO2017097201A1 (zh) | 一种数据传输方法、发送装置及接收装置 | |
WO2020147453A1 (zh) | 数据传输方法及相关装置 | |
WO2011100047A1 (en) | Method for tcp ack containment in unidirectional flows with cross layer optimization in wireless networks | |
JP2005520374A (ja) | Tcp/ipに対する変更 | |
JP4229807B2 (ja) | データ転送方法とtcpプロキシ装置およびそれを用いたネットワークシステム | |
CN111092907B (zh) | 基于udp协议的数据流快速传输方法、系统及介质 | |
CN104426638B (zh) | 一种数据递交方法和装置 | |
CN104580171B (zh) | Tcp协议的传输方法、装置和系统 | |
CN116074401B (zh) | 一种在可编程交换机上的传输层协议实现方法 | |
CN116647518A (zh) | 一种数据传输方法、装置、电子设备及存储介质 | |
CN116963175A (zh) | 数据传输方法、装置及系统 | |
CN113424578B (zh) | 一种传输控制协议加速方法和装置 | |
CN109151904B (zh) | 一种Lora报文重装及重传方法、发送端及接收端 | |
CN102546626B (zh) | 一种数据处理方法、装置及系统 | |
EP3809748A1 (en) | Data transmitting method and device, and data receiving method and device |
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: 20130717 |
|
CF01 | Termination of patent right due to non-payment of annual fee |