基于tcp连接的限速方法和装置的制造方法

文档序号:9474204阅读:1121来源:国知局
基于tcp连接的限速方法和装置的制造方法
【技术领域】
[0001]本发明涉及计算机网络技术领域,尤其涉及一种基于TCP连接的限速方法和装置。
【背景技术】
[0002]随着互联网技术的发展,越来越多的用户通过互联网获取所需的资源、处理业务等,随之产生的网络数据量也在不断地增加。因此,在带宽资源有限的情况下,通常需要针对某一服务、某一用户、某一 IP地址的网络流量进行带宽限速。
[0003]目前,对于TCP(面向连接的可靠传输层协议),主要通过重传和确认机制保证数据传输的可靠性。当用户或服务的总流量超过其带宽限制之后,会通过丢弃超出带宽配额的数据包的方式达到限速的目的。举例来说,针对某一服务,可通过例如令牌桶算法、前向随机丢包算法等,统一地丢弃数据包处理,来达到限速的目的。
[0004]但是,统一地丢弃数据包的方法存在一定盲目性,如果一个服务中具有多个TCP连接,可能会导致某个TCP连接的数据包被丢弃,使得该TCP连接由于重传次数超过最大重传次数限制而断开,影响网络的稳定性,降低用户使用体验。

【发明内容】

[0005]本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的在于提出一种基于TCP连接的限速方法,可避免在进行网络限速时TCP连接断开的问题,保证网络的稳定性,提升用户使用体验。
[0006]本发明的第二个目的在于提出一种基于TCP连接的限速装置。
[0007]为了实现上述目的,本发明第一方面实施例提出了一种基于TCP连接的限速方法,包括:通过TCP连接会话哈希表确定对应的TCP连接;判断所述TCP连接在上一最小超时重传RTO时间内是否有数据包通过,其中,所述最小超时重传RTO时间根据往返延时RTT获得;以及如果未检测到有所述数据包通过,则在当前最小超时重传RTO时间内允许当前数据包通过。
[0008]本发明实施例的基于TCP连接的限速方法,通过TCP连接会话哈希表确定对应的TCP连接,并判断TCP连接在上一最小超时重传RTO时间内是否有数据包通过,以及在未检测到有数据包通过时,在当前最小超时重传RTO时间内允许当前数据包通过,可避免在进行网络限速时TCP连接断开的问题,保证网络的稳定性,提升用户使用体验。
[0009]本发明第二方面实施例提出了一种基于TCP连接的限速装置,包括:确定模块,用于通过TCP连接会话哈希表确定对应的TCP连接;判断模块,用于判断所述TCP连接在上一最小超时重传RTO时间内是否有数据包通过,其中,所述最小超时重传RTO时间根据往返延时RTT获得;以及控制模块,用于当未检测到有所述数据包通过时,在当前最小超时重传RTO时间内允许当前数据包通过。
[0010]本发明实施例的基于TCP连接的限速装置,通过TCP连接会话哈希表确定对应的TCP连接,并判断TCP连接在上一最小超时重传RTO时间内是否有数据包通过,以及在未检测到有数据包通过时,在当前最小超时重传RTO时间内允许当前数据包通过,可避免在进行网络限速时TCP连接断开的问题,保证网络的稳定性,提升用户使用体验。
【附图说明】
[0011]图1是根据本发明一个实施例的基于TCP连接的限速方法的流程图一。
[0012]图2是根据本发明一个实施例的基于TCP连接的限速方法的流程图二。
[0013]图3是根据本发明一个实施例的基于TCP连接的限速装置的结构示意图。
【具体实施方式】
[0014]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0015]下面参考附图描述本发明实施例的基于TCP连接的限速方法和装置。
[0016]图1是根据本发明一个实施例的基于TCP连接的限速方法的流程图一。
[0017]如图1所示,基于TCP连接的限速方法可包括:
[0018]S101,通过TCP连接会话哈希表确定对应的TCP连接。
[0019]其中,TCP连接会话哈希表中可保存有TCP五元组,五元组由源IP地址、源端口、目的IP地址、目的端口以及传输层协议号组成。
[0020]具体地,可根据TCP五元组确定对应的TCP连接。
[0021]例如-MIP 地址为 192.168.0.1,源端口为 8080,目的 IP 地址为 121.14.88.76,目的端口为80,传输层协议号为TCP,则可确定对应的TCP连接。
[0022]此外,TCP连接会话哈希表中还可保存有哈希种子。其中,哈希种子以最小超时重传RTO时间为周期进行周期性更新。
[0023]具体地,可根据TCP五元组和哈希种子确定对应的TCP连接。举例来说,由于TCP连接会话哈希表的大小有限,可能多个任务均会映射到同一个TCP连接进行处理,因此产生哈希冲突的问题。例如,多个任务均是通过源IP地址192.168.0.1,源端口 8080,目的IP地址121.14.88.76,目的端口 80,传输层协议号TCP进行数据传输的,它们的哈希键值都一样,无法区分。因此,可通过哈希种子作为确定对应的TCP连接的一个元素。由于哈希种子是以最小RTO时间为周期进行周期性更新的,因此,即使通过TCP五元组确定的一个TCP连接,其对应的哈希键值在不同的最小RTO时间内也是不同的,从而避免了哈希冲突的问题。
[0024]S102,判断TCP连接在上一最小超时重传RTO时间内是否有数据包通过。
[0025]其中,最小超时重传RTO时间可根据往返延时RTT获得。其中,RTO为超时重传机制,是TCP操作计时器的一种。当TCP发送一个数据包时,可启动重传计时器。如果在计时器的预设时间段内收到确认数据包,则取消计时;如果在计时器的预设时间段内未收到确认数据包,则重传该数据包,并将计时器复位,重新开始计时。由于网络不稳定等多种因素,每次往返延时RTT会有偏差,因此需要多次实验获取最小RTO时间。
[0026]S103,如果未检测到有数据包通过,则在当前最小超时重传RTO时间内允许当前数据包通过。
[0027]另外,如图2所示,基于TCP连接的限速方法还可包括:
[0028]S104,如果检测到有数据包通过,则基于令牌桶算法确定在当前最小超时重传RTO时间内是否允许当前数据包通过。
[0029]具体地,可获取当前数据包所需的令牌数。其中,当前数据包所需的令牌数由当前数据包的大小决定。如果令牌数小于等于令牌桶中的令牌数,则允许当前数据包通过;如果令牌数大于令牌桶中的令牌数,则拒绝当前数据包通过。举例来说,当前数据包的大小为10个字节,则需要10个令牌,如果令牌桶中的令牌数大于等于10,则可允许当前数据包通过。如果令牌桶中的令牌数小于10,则拒绝当前数据包通过,即丢弃当前数据包。
[0030]本发明实施例的基于TCP连接的限速方法,通过TCP连接会话哈希表确定对应的TCP连接,并判断TCP连接在上一最小超时重传RTO时间内是否有数据包通过,以及在未检测到有数据包通过时,在当前最小超时重传RTO时间内允许当前数据包通过,可避免在进行网络限速时TCP连接断开的问题,保证网络的稳定性,提升用户使用体验。
[0031]为实现上述目的,本发明还提出一种基于TCP连接的限速装置。
[0032]图3是根据本发明一个实施例的基于TCP连接的限速装置的结构示意图。
[0033]如图3所示,该基于大数据的计算装置可包括:确定模块110、判断模块120以及控制模块130。
[0034]确定模块110用于通过TCP连接会话哈希表确定对应的TCP连接。
[0035]其中,TCP连接会话哈希表中可保存有TCP五元组,五元组由源IP地址、源端口、目的IP地址、目的端口以及传输层协议号组成。
[0036]具体地,确定模块110可根据TCP五元组确定对应的TCP连接。
[0037]例如-MIP 地址为 192.168.0.1,源端口为 8080,目的 IP 地址为 121.14.88.76,目的端口为80,传输层协议号为TCP,则可确定对应的TCP连接。
[0038]此外,TCP连接会话哈希表中还可保存有哈希种子。其中,哈希种子以最小超时重传RTO时间为周期进行周期性更新。
[0039]具体地,确定模块110可根据TCP五元组和哈希种子确定对应的TCP连接。举例来说,由于TCP连接会话哈希表的大小有限,可能多个任务均会映射到同一个TCP连接进行处理,因此产生哈希冲突的问题。例如,多个任务均是通过源IP地址192.168.0.1,源端口8080,目的IP地址121.14.88.76,目的端口 80,传输层协议号TCP进行数据传输的
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1