传输控制协议的传输方法和装置与流程

文档序号:13168847阅读:427来源:国知局
传输控制协议的传输方法和装置与流程

本发明涉及移动通信技术,特别是涉及一种传输控制协议(tcp)的传输方法和装置。



背景技术:

tcp协议栈是一种实现可靠传输的重要技术,其提供可靠传输的方法之一就是数据接收方需要向发送方发送数据接收确认信息。但是,在实际传输过程中,发送方所发送的数据和接收方反馈的确认信息都可能会在传输过程中丢失。针对该问题,发送端的tcp协议栈在生成tcp分组发给网络层传输时会启动一个定时器。如果数据生成方在定时器超时时还没有收到相应的接收确认信息,就需要重传该数据,此时将生成重传数据包,放入缓存,等待传输资源重传。重传定时器的时长为1.5秒,3秒,6秒,12秒,24秒,48秒和多个64秒。重传12次后tcp通道复位。

在tcp传输中,当发送端(可以是生成tcp分组的设备,也可以是tcp分组传输过程中用于中转数据的中转设备)检测到新的待发送tcp分组时,会将该tcp分组存放在自身的缓存中,以便在有传输资源时将其发送出去。当系统中的传输资源紧张时,将会出现由于发送端或用于数据中转的网元并未能及时将缓存中的tcp分组发送出去,而导致发送端由于重传定时器超时未收到确认信息生成重传数据包的情况,这样,在发送端或用于数据中转的网元的缓存中就会存在多个内容相同的待发送tcp分组的情况,在有可用的传输资源时,这些内容相同的tcp分组都会被发送给接收端,从而会造成传输资源的大量浪费。

由此可见,现有tcp的传输方案在系统传输资源紧张时会存在传输资源浪费的问题。



技术实现要素:

有鉴于此,本发明的主要目的在于提供一种tcp的传输方法和装置,可以有效减少系统传输资源紧张时空口资源的浪费。

为了达到上述目的,本发明提出的技术方案为:

一种传输控制协议的传输方法,包括:

当发送端检测到新的待发送tcp分组时,检查自身缓存中是否存在与所述待发送tcp分组相同内容的tcp分组;如果是,则将所检查到的tcp分组替换为所述待发送tcp分组,否则,将所述待发送tcp分组保存至所述缓存中;

所述发送端在获取到可以发送所述待发送tcp分组的传输资源时,从所述缓存中取出所述tcp分组发送给接收端。

一种传输控制协议的传输装置,包括:

分组缓存模块,用于当检测到新的待发送tcp分组时,检查自身缓存中是否存在与所述待发送tcp分组相同内容的tcp分组;如果是,则将所检查到的tcp分组替换为所述待发送tcp分组,否则,将所述待发送tcp分组保存至所述缓存中;

发送模块,用于在获取到可以发送所述待发送tcp分组的传输资源时,从所述缓存中取出所述tcp分组发送给接收端。

综上所述,本发明提出的tcp的传输方法和装置,发送端在将待发送tcp分组放入缓存中待发送时,需要先检查缓存中是否有与待发送tcp分组相同内容的分组,如果有,则直接将已存在的相同内容的tcp分组替换为该待发送tcp分组,这样,可以避免缓存中同时存在多个相同内容的tcp分组,避免系统传输资源紧张时缓存数据的冗余堆积,进而减少传输资源的浪费。

附图说明

图1为本发明实施例的方法流程示意图;

图2为本发明实施例的装置结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。

本发明的核心思想是:发送端在缓存待发送tcp分组时,先判断其中是否有相同内容的tcp分组,如果有,则用新的tcp分组代替旧的tcp分组,以避免缓存中缓存相同的数据,避免系统传输资源紧张时缓存数据的冗余堆积,进而减少传输资源的浪费。

图1为本发明实施例一的方法流程示意图,如图1所示,该实施例主要包括:

步骤101、当发送端检测到新的待发送tcp分组时,检查自身缓存中是否存在与 所述待发送tcp分组相同内容的tcp分组;如果是,则将所检查到的tcp分组替换为所述待发送tcp分组,否则,将所述待发送tcp分组保存至所述缓存中。

本步骤中,与现有传输方法所不同的是,在检测到有新的tcp分组时,不会直接保存至缓存中,而是需要先检查一下缓存中是否有相同内容的tcp分组,如果有,则只需要用新的替换旧的即可,如此,可以确保发送端缓存中的数据不存在重复内容的情况,这样,在进行调度时,可以尽量避免同时发送多个相同内容的tcp分组,从而可以有效减少传输资源的浪费。

较佳地,为了确保可以检查出所有内容相同的tcp分组,可以采用下述方法检查缓存中是否存在与所述待发送tcp分组相同内容的tcp分组:

检查所述缓存中是否存在序号大于等于n0且小于n0+l0的tcp分组,如果是,则将所检查到的tcp分组,确定为与所述待发送tcp分组相同内容的tcp分组,其中,n0为所述待发送tcp分组的序号,l0为所述待发送tcp分组的数据部分长度;否则,确定所述缓存中没有与所述待发送tcp分组相同内容的tcp分组。

这里需要说明的是,tcp有重新分组的功能,当tcp超时并重传时,tcp允许进行重新分组而发送一个较大的报文段,报文段的格式中将包含报文中首个tcp分组的序号ni和报文数据部分长度li,该格式将隐含的指示报文中的结尾tcp分组序号(即ni+li)。在实际应用中,该待发送tcp分组可能是首次传输的数据包,也可能是重传的数据包,因此,本步骤中,如果检查到缓存中有序号在[n0,n0+l0)范围之内的tcp分组,则说明所检查到的这些tcp分组的内容已存在于待发送tcp分组中,这样,就可以把缓存中与待发送tcp分组内容重复的tcp分组完全筛选出来。

将所检查到的tcp分组替换为所述待发送tcp分组,具体为:找出缓存中序号介于n0和n0+l0之间的并且序号最小的tcp分组,将所述待发送tcp分组放在该序号最小的tcp分组所在的缓存位置,并删除所找出的缓存中序号介于n0和n0+l0之间的所有tcp分组,如此可以使得当有传输资源时,待发送的tcp分组的发送时机与使用原方法时该序号最小的tcp分组的发送时机一致。

需要说明的是,本发明实现的tcp传输既适用于下行传输也适用于上行传输。

在实际应用中,所述发送端可以是生成所述tcp分组的设备(如电力专网中的主站或行业终端),也可以是用于转发所述tcp分组的设备(如基站)。

本步骤中,发送端检测到新的待发送tcp分组的具体场景(即进行上述缓存检查的时机)将随着发送端的不同而不同,例如,当所述发送端为基站时,该检查缓存的时机为:当基站接收到核心网侧发来的下行tcp分组时;当所述发送端为用户设备时,该检查缓存的时机具体可以为:用户设备对上行tcp分组进行发送处理时。

步骤102、所述发送端在获取到可以发送所述待发送tcp分组的传输资源时,从所述缓存中取出所述tcp分组,并发送给接收端。

本步骤,用于将缓存中的数据发送出去,具体实现同现有传输方案,在此不再赘述。

通过上述技术方案可以看出,本发明可以有效减少tcp分组在空口的多次重传,减少空口数据的发送,提高空口带宽利用率,进而减少业务的交互响应时间,避免时延过长,提高系统性能,支持更多的用户。

图2为与上述方法相对应的装置结构示意图,如图2所示,该传输控制协议的传输装置,包括:

分组缓存模块,用于当检测到新的待发送tcp分组时,检查自身缓存中是否存在与所述待发送tcp分组相同内容的tcp分组;如果是,则将所检查到的tcp分组替换为所述待发送tcp分组,否则,将所述待发送tcp分组保存至所述缓存中;

发送模块,用于在获取到可以发送所述待发送tcp分组的传输资源时,从所述缓存中取出所述待发送tcp分组发送给接收端。

较佳地,所述分组缓存模块,用于检查所述缓存中是否存在序号大于等于n0且小于n0+l0的tcp分组,如果是,则将所检查到的tcp分组,确定为与所述待发送tcp分组相同内容的tcp分组,其中,n0为所述待发送tcp分组的序号,l0为所述待发送tcp分组的数据部分长度;否则,确定所述缓存中没有与所述待发送tcp分组相同内容的tcp分组。

较佳地,所述装置设置于生成所述tcp分组的设备中。

较佳地,所述装置可以设置于用于转发所述tcp分组的设备中。

具体地,所述装置可设置于基站或用户设备中。

当所述装置设置于基站中时,所述分组缓存模块用于在基站接收到核心网侧发来的下行tcp分组时,进行所述检查;

当所述装置设置于用户设备中时,所述分组缓存模块用于在当用户设备对上行tcp分组进行发送处理时,进行所述检查。

综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1