一种TCP反馈包ACK包的优化方法、装置以及系统与流程

专利查询1月前  17


一种tcp反馈包ack包的优化方法、装置以及系统
技术领域
1.本发明涉及tcp(transmission control protocol)协议的操作和性能优化技术领域,尤其涉及一种tcp反馈包ack(acknowledgement)包的优化方法、装置以及系统。


背景技术:

2.tcp协议是互联网中默认的第4层协议,控制着所有数据传输的95%的部分。 tcp传输基于ack时钟的概念,其中,当发送端从接收端收到ack包时,会将更多数据量增加到拥塞窗口(congestion window)中。 繁忙网络中的一个常见问题是:ack包通常会在拥塞的链路中被丢包。 随着ack包的丢失,tcp发送端必须等待下一个ack包到达才能把更多数据量增加到拥塞窗口中。如果拥塞窗口数据量已全部用于传输到接收端的数据包,则tcp在等到发送端收到新的ack包之前是无法进行传输的。
3.这是个严重的问题,尤其是在繁忙的wi-fi网络中,比如咖啡厅,餐厅,机场或其他公共场所。如果网络中丢失了一系列的ack包,则tcp发送端会停止发送数据包,或大幅度降低当前的传输速率。
4.tcp协议存在的另一个问题是:如果ack包在返回发送端的反向路径中被延迟,则tcp吞吐量将会下降。因此若要优化tcp吞吐量 ,还需要加快ack包回传tcp发送端的速度。
5.因此,为了优化tcp吞吐量,需要解决两个技术问题:一是防止在繁忙网络中丢失ack包,而是加快ack包回传回发送端的速度。


技术实现要素:

6.本发明提供了一种tcp反馈包ack包的优化方法、系统和装置,从而优化tcp吞吐量,不仅保护返回tcp发送端的反向路径中的 ack包,而且加快ack包回传发送端的速度,从而解决现有技术存在的技术问题。
7.本发明的目的在于提供一种tcp反馈包ack包的优化方法,包括:对出口场景进行设置,其中ack包停留在出口队列上,等待发送,所述对出口场景进行设置从而加快所述ack包的传输,使所述ack包更早到达发送端;对入口场景进行设置,其中 ack包停留在入口队列上,等待被丢包或发送到某队列,所述对入口场景及性能设置从而保护进口队列中的 ack包,防止ack包丢失,以便发送端可以收到接收端发送的所述ack包。
8.优选的,所述对出口场景进行设置包括:在路由器或交换机中为小数据包配置一个单独队列作为小数据包队列,所述小数据包定义包括tcp ack包,所述小数据包还包括icmp包或其他互联网中的小的控制数据包;将所述小数据包队列标记为用于低吞吐量应用的队列而赋予低吞吐量标签,内核或操作系统中的流量控制机制优先处理所述小数据包队列中的数据包;当所述tcp ack包到达一出口队列时,新到的ack包被置于所有非ack包之前,从而小数据包队列或其他队列中的所有ack包将在该队列中所有非ack包之前被传输。
9.优选的,所述对出口场景进行设置中从多个队列中选择数据包以进行传输的机制称为数据包调度程序,所述数据包调度程序被配置为htb、prio或cbq,无论使用哪种数据包调度程序,配置的程序允许在所有其他控制数据包之前和普通数据包之前传输tcp ack包。
10.优选的,所述对入口场景进行设置包括:当系统决定丢弃某些在入口队列中的数据包时,所有tcp ack包被保护,而不被丢包;无论在哪个入口队列,无论要丢多少数据包,系统都会为tcp ack包赋予最低的丢包率或优先级;预留单独的队列以存储入口tcp ack包或者设置一个机制对有限数量的进口ack包做保护,以防止丢失;当tcp ack包到达一进口队列时,新到的tcp ack包被标记为不可丢包的。
11.优选的,所述当tcp ack包到达一进口队列时,新到的tcp ack包被标记为不可丢包的替换为:在进口队列中,所有tcp ack包将在所有一般数据包被丢包之后才能被丢包。
12.优选的,所述对入口场景进行设置还包括:所述内核或操作系统中的流量控制机制执行丢包程序,所述丢包程序取决于网络设备中所实现的排队规则,所述排队规则包括某些丢包程序取决于数据包的抵达速率,所述丢包程序中的丢包决定基于在流量控制中实现的数据包过滤器。
13.本发明的目的还在于提供一种tcp反馈包ack包的优化装置,包括:出口场景设置模块,用于对出口场景进行设置,其中ack包停留在出口队列上,等待发送,所述对出口场景进行设置从而加快所述ack包的传输,使所述ack包更早到达发送端;以及入口场景设置模块,用于对入口场景进行设置,其中 ack包停留在入口队列上,等待被丢包或发送到某队列,所述对入口场景及性能设置从而保护进口队列中的 ack包,防止ack包丢失,以便发送端可以收到接收端发送的所述ack包。
14.本发明的目的还在于提供一种tcp反馈包ack包的优化系统,包括:tcp反馈包ack包的优化装置以及网络设备中的组件系统,其中所述网络设备包括路由器或交换机。
15.本发明的目的还在于提供一种电子设备,包括处理器和存储器,所述存储器存储有多条指令,所述处理器用于读取所述指令并执行tcp反馈包ack包的优化方法。
16.本发明的目的还在于提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述多条指令可被处理器读取并执行tcp反馈包ack包的优化方法。
17.本发明的有益效果:在网络设备中,tcp ack包出现在两种场景中。 第一是出口场景,其中ack包待在出口队列上等待发送;第二是入口场景或进口场景,其中 ack包待在入口队列上,等待被丢包或发送到某队列。本发明在出口场景中,提供机制和系统来加快 ack包的传输,从而使ack包更早到达发送端。在进口场景中,提供机制和系统来保护进口队列中的 ack包,防止ack包丢失,以便发送端可以收到接收端发送的ack包。
附图说明
18.图1表示根据本发明优选实施例的一出口场景实例中加快出口队列中tcp ack包传输的步骤流程图。
19.图2表示根据本发明优选实施例的一出口场景实例中一出口数据包有三个队列选择,而小型数据包队列是选择之一的原理图。
20.图3表示根据本发明优选实施例的一进口场景实例中在入口队列中,保护tcp ack包不被丢包的步骤流程图。
21.图4表示根据本发明优选实施例的电子设备原理结构图。
具体实施方式
22.下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。
23.本发明涉及两个具体实施例中:在一出口场景实施例中,在路由器或交换机中为小数据包配置一个单独队列,而该型数据包定义包括tcp ack包。小数据包也可包括icmp(internet control message protocol)包或其他互联网中的小的控制数据包。在本具体实施方式的其余部分中,此类用于小数据包的队列将被称为小数据包队列。出口场景实施例中,一小数据包队列被标记为用于低吞吐量应用的队列。 由于低吞吐量标签,内核(或操作系统)中的tc(traffic control流量控制)机制会优先处理此队列中的数据包。
24.在一出口场景实施例中,当 tcp ack包到达一出口队列时,新到的ack包被置于所有非ack包之前。无论是小数据包队列,或其他队列,所有ack包将在该队列中所有非ack包之前被传输。
25.在出口场景中,从多个队列中选择数据包以进行传输的机制称为数据包调度程序(packet scheduler)。在许多设备中,这调度程序被配置为htb(hierarchical token bucket)。调度程序也可以配置为prio(priority queueing)或cbq(class-based queueing)。无论使用哪种数据包调度程序,根据本发明,配置的程序允许在所有其他控制数据包之前,和数普通数据包之前传输tcp ack包。
26.在一进口场景实施例中,当系统决定丢弃某些在入口队列中的数据包时,所有tcp ack包被保护,而不被丢包。
27.在一进口场景实施例中,无论在哪个入口队列,无论要丢多少数据包,系统都会为tcp ack包赋予最低的丢包率(或优先级)。在一进口场景实施例中,系统预留单独的队列以存储入口tcp ack包。 在一实施例中,系统设置一个机制对有限数量的进口ack包做保护,以防止丢失。
28.在一进口场景实施例中,内核(或操作系统)中的tc(traffic control流量控制)机制执行丢包程序。 丢包程序通常取决于网络设备中所实现的排队规则,比如某些丢包程序取决于数据包的抵达速率。在一个实施例中,丢包决定基于在tc中实现的数据包过滤器(packet filter)。
29.在一进口场景实施例中,当tcp ack包到达一进口队列时,新到的ack包被标记为不可丢包的。可选地,在进口队列中,所有ack包将在所有一般数据包被丢包之后才能被丢
包。
30.在具体实施方式中,如图1所示,当 tcp ack包到达一出口队列时,新到的ack包被置于一个小数据包队列中。在這队列中,新到的ack包被置于非ack包之前。再由tc中的数据包调度程序从多个队列中选择数据包以进行传输。
31.如图2所示,当 tcp ack包到达一出口节点150时,有3个不同队列(120,130 和140)为下一站。其中,小数据包队列120是一个选择。下一步,由数据包调度程序110从多个队列中(120,130 和140)选择数据包以进行传输。
32.如图3所示,当 tcp ack包到达一进口队列时,新到的ack包被标记为“丢包的最低优先级”或“不丢包”数据包。 标记后,ack数据包将由tc处理。与已标记的tcp ack数据包相比,丢弃一般数据包的可能性更大。
33.本实施例还提供一种tcp反馈包ack包的优化装置,包括:出口场景设置模块,用于对出口场景进行设置,其中ack包停留在出口队列上,等待发送,所述对出口场景进行设置从而加快所述ack包的传输,使所述ack包更早到达发送端;以及入口场景设置模块,用于对入口场景进行设置,其中 ack包停留在入口队列上,等待被丢包或发送到某队列,所述对入口场景及性能设置从而保护进口队列中的 ack包,防止ack包丢失,以便发送端可以收到接收端发送的所述ack包。
34.同时,本实施例还提供一种tcp反馈包ack包的优化系统,包括:tcp反馈包ack包的优化装置以及网络设备中的组件系统,其中所述网络设备包括路由器或交换机。
35.该装置和系统可通过上述实施例提供的tcp反馈包ack包的优化方法实现,具体的实现方法可参见实施例中的描述,在此不再赘述。
36.本发明还提供了一种存储器,存储有多条指令,所述指令用于实现如实施例一所述的方法。
37.如图4所示,本发明还提供了一种电子设备,包括处理器301和与所述处理器301连接的存储器302,所述存储器302存储有多条指令,所述指令可被所述处理器加载并执行,以使所述处理器能够执行如实施例所述的tcp反馈包ack包的优化方法。
38.本实施例还包含一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述多条指令可被处理器读取并执行tcp反馈包ack包的优化方法。
39.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

技术特征:
1.一种tcp反馈包ack包的优化方法,其特征在于包括:对出口场景进行设置,其中ack包停留在出口队列上,等待发送,所述对出口场景进行设置从而加快所述ack包的传输,使所述ack包更早到达发送端;对入口场景进行设置,其中 ack包停留在入口队列上,等待被丢包或发送到某队列,所述对入口场景及性能设置从而保护进口队列中的 ack包,防止ack包丢失,以便发送端可以收到接收端发送的所述ack包。2.根据权利要求1所述的一种tcp反馈包ack包的优化方法,其特征在于所述对出口场景进行设置包括:在路由器或交换机中为小数据包配置一个单独队列作为小数据包队列,所述小数据包定义包括tcp ack包,所述小数据包还包括icmp包或其他互联网中的小的控制数据包;将所述小数据包队列标记为用于低吞吐量应用的队列而赋予低吞吐量标签,内核或操作系统中的流量控制机制优先处理所述小数据包队列中的数据包;当所述tcp ack包到达一出口队列时,新到的ack包被置于所有非ack包之前,从而小数据包队列或其他队列中的所有ack包将在该队列中所有非ack包之前被传输。3.根据权利要求2所述的一种tcp反馈包ack包的优化方法,其特征在于所述对出口场景进行设置中从多个队列中选择数据包以进行传输的机制称为数据包调度程序,所述数据包调度程序被配置为htb、prio或cbq,无论使用哪种数据包调度程序,配置的程序允许在所有其他控制数据包之前和普通数据包之前传输tcp ack包。4.根据权利要求1所述的一种tcp反馈包ack包的优化方法,其特征在于所述对入口场景进行设置包括:当系统决定丢弃某些在入口队列中的数据包时,所有tcp ack包被保护,而不被丢包;无论在哪个入口队列,无论要丢多少数据包,系统都会为tcp ack包赋予最低的丢包率或优先级;预留单独的队列以存储入口tcp ack包或者设置一个机制对有限数量的进口ack包做保护,以防止丢失;当tcp ack包到达一进口队列时,新到的tcp ack包被标记为不可丢包的。5.根据权利要求4所述的一种tcp反馈包ack包的优化方法,其特征在于,所述当tcp ack包到达一进口队列时,新到的tcp ack包被标记为不可丢包的替换为:在进口队列中,所有tcp ack包将在所有一般数据包被丢包之后才能被丢包。6.根据权利要求5所述的一种tcp反馈包ack包的优化方法,其特征在于所述对入口场景进行设置还包括:所述内核或操作系统中的流量控制机制执行丢包程序,所述丢包程序取决于网络设备中所实现的排队规则,所述排队规则包括某些丢包程序取决于数据包的抵达速率,所述丢包程序中的丢包决定基于在流量控制中实现的数据包过滤器。7.一种实施如权利要求1-6任一所述tcp反馈包ack包的优化方法的优化装置,其特征在于包括:出口场景设置模块,用于对出口场景进行设置,其中ack包停留在出口队列上,等待发送,所述对出口场景进行设置从而加快所述ack包的传输,使所述ack包更早到达发送端;以及入口场景设置模块,用于对入口场景进行设置,其中 ack包停留在入口队列上,等待被
丢包或发送到某队列,所述对入口场景及性能设置从而保护进口队列中的 ack包,防止ack包丢失,以便发送端可以收到接收端发送的所述ack包。8.一种tcp反馈包ack包的优化系统,包括:如权利要求7所述的tcp反馈包ack包的优化装置以及网络设备中的组件系统,其中所述网络设备包括路由器或交换机。9.一种电子设备,包括处理器和存储器,所述存储器存储有多条指令,所述处理器用于读取所述指令并执行如权利要求1-6任一所述的tcp反馈包ack包的优化方法。10.一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述多条指令可被处理器读取并执行如权利要求1-6任一所述的tcp反馈包ack包的优化方法。

技术总结
提供一种TCP反馈包ACK包的优化方法,包括:对出口场景进行设置,其中ACK包停留在出口队列上,等待发送,对出口场景进行设置从而加快ACK包的传输,使ACK包更早到达发送端;对入口场景进行设置,其中ACK包停留在入口队列上,等待被丢包或发送到某队列,对入口场景及性能设置从而保护进口队列中的ACK包,防止ACK包丢失,以便发送端可以收到接收端发送的ACK包。在出口场景中,本发明机制和系统用来加快ACK包的传输,使ACK包更早到达发送端。在进口场景中,本发明机制和系统用来保护进口队列中的ACK包,防止ACK包丢失,以便发送端可以收到接收端发送的ACK包。本发明系统包括在各样网络设备(如路由器或交换机)中的组件系统。设备(如路由器或交换机)中的组件系统。设备(如路由器或交换机)中的组件系统。


技术研发人员:蔡维德
受保护的技术使用者:天民(青岛)国际沙盒研究院有限公司
技术研发日:2021.06.16
技术公布日:2022/3/8

最新回复(0)