CN110138678A - 数据传输控制方法和装置、以及网络传输设备和存储介质 - Google Patents
数据传输控制方法和装置、以及网络传输设备和存储介质 Download PDFInfo
- Publication number
- CN110138678A CN110138678A CN201810129482.9A CN201810129482A CN110138678A CN 110138678 A CN110138678 A CN 110138678A CN 201810129482 A CN201810129482 A CN 201810129482A CN 110138678 A CN110138678 A CN 110138678A
- Authority
- CN
- China
- Prior art keywords
- data stream
- tcp data
- packet
- tcp
- packet loss
- 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
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
- 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/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- 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/326—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames with random discard, e.g. random early discard [RED]
Abstract
本发明实施例公开了一种数据传输控制方法和装置、以及网络传输设备和存储介质。所述数据传输控制方法包括:接收待处理因特网协议IP数据包;确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件;若所述第一TCP数据流满足所述丢包筛选条件,则在根据预设的丢包策略确定要丢弃所述待处理IP数据包时,将所述待处理IP数据包丢弃;若所述第一TCP数据流不满足所述丢包筛选条件,则将所述待处理IP数据包存储到所述网络传输设备的队列缓存中。本发明实施例,通过判断IP数据包所属的TCP数据流是否满足丢包筛选条件,将丢包集中到了满足丢包筛选条件的TCP数据流上,从而减少了受丢包影响的TCP数据流的数量,减少了受丢包影响的用户的数量。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种数据传输控制方法和装置、以及网络传输设备和存储介质。
背景技术
传输控制协议(Transmission Control Protocol,TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP的流量在因特网协议(Internet Protocol,IP)网络中占据统治地位。TCP通过确认与重传来保证传输的可靠性,使用拥塞控制算法来控制发送速率,在充分利用网络资源的同时又避免造成网络拥塞。
网络流量具有明显的突发性,即在时间上流量的大小是不均匀的。网络传输设备中,例如路由器、交换机、光线路终端(Optical Line Terminal,OLT)和数字用户线路接入复用器 (Digital Subscriber Line Access Multiplexer,DSLAM)等,一般使用缓存并以队列的形式来吸收流量的突发。当网络流量超过网络设备的处理能力时,设备将缓存数据包,以防止丢包。若网络流量持续大于设备处理能力的时间较长,则缓存队列的长度将不断上升,直至溢出。
网络传输设备发生缓存溢出时,将无法接收新到达的数据包,即数据包都将被丢弃,这种现象被称为尾丢弃。尾丢弃的主要危害是TCP流之间的全局同步,从而造成设备利用率低。这是因为,在网络设备处于尾丢弃状态时,经过该设备的TCP流都会被丢包,这些TCP流会同步的进入“丢包—降速—重传—增速”的周期。同步增速时,容易导致网络设备负载过重,而同步降速时,会导致网络设备利用率低。
主动队列管理(Active Queue Management,AQM)是针对尾丢弃所被广泛采用的现有技术,其基本思想是在队列开始堆积时就主动治理,而不是等队列被动溢出时尾丢弃。但是AQM 技术中的主动丢包过程中丢包行为是盲目的,只是以一定的概率进行判断是否丢包,其所带来的后果就是被丢包的TCP数据流多,受丢包影响的用户多。
发明内容
本申请提供了一种网络数据传输控制方法和装置、以及网络传输设备和存储介质,能够减少丢包所影响的TCP数据流的数量,提升总体用户体验。
第一方面,本申请提供了一种数据传输控制方法,所述方法由网络传输设备执行,所述方法包括:接收待处理IP数据包;确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件;若所述第一TCP数据流满足所述丢包筛选条件,则在根据预设的丢包策略确定要丢弃所述IP数据包时,将所述待处理IP数据包丢弃;若所述第一TCP数据流不满足所述丢包筛选条件,则将所述待处理IP数据包存储到所述网络传输设备的队列缓存中。
本申请中,通过设置丢包筛选条件,对接收到的IP数据包所属的TCP数据流进行筛选,在IP数据包所属的TCP数据流满足丢包筛选条件时再进一步确定是否将IP数据包丢弃。可见,采用本申请第一方面的实施方式,在需要主动丢包时,将要丢弃的IP数据包集中到了满足丢包筛选条件TCP数据流上,减少了受丢包影响的TCP数据流的数量,从而减少了受丢包影响的用户数量,提升了总体用户体验。
结合第一方面,在第一方面的一种可能的实施方式中,所述丢包筛选条件包括TCP数据流的流状态信息满足预设条件;所述确定所述IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件,包括:确定所述第一TCP数据流的流状态信息是否满足所述预设条件;其中,所述第一TCP数据流的流状态信息包括所述第一TCP数据流的速率表征值,所述预设条件包括速率表征值大于设定值,所述第一TCP数据流的速率表征值用于表征所述第一TCP数据流的传输速率。
本申请中,通过将丢包筛选条件设置为TCP数据流的速率表征值大于设定值,将被丢包的TCP数据流选择在大流上,降低了丢包触发TCP重传超时(Retransmission Timeout,RTO) 的可能性,从而减少了降窗的发生,减少了丢包对设备网络传输性能的影响。
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述第一TCP数据流的速率表征值为预设时长内存储到所述队列缓存中的属于所述第一TCP数据流的IP数据包的数据量。
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述属于所述第一TCP数据流的IP数据包的数据量,为属于所述第一TCP数据流的IP数据包的字节数和/或IP数据包的个数;速率表征值大于设定值为IP数据包的字节数大于设定字节数和/或IP数据包的个数大于设定数。
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述第一TCP数据流的流状态信息还包括所述第一TCP数据流最近一次被选中的时间,所述预设条件还包括选中时差大于第一设置时长;其中,所述第一TCP数据流被选中是指所述第一 TCP数据流满足所述丢包筛选条件,所述第一TCP数据流的选中时差为所述待处理IP数据包的接收时间与所述第一TCP数据流最近一次被选中的时间的差值。
本申请中,通过设置上述第一设置时长作为丢包保护周期,避免了同一条TCP数据流在一个丢包保护周期内被多次选中,从而避免由于同一条数据流的丢包数量过多,造成该数据流的重传包被丢弃导致触发TCP RTO的情况出现。
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述第一TCP数据流的流状态信息还包括所述第一TCP数据流被连续选中的时长,所述预设条件还包括TCP数据流被连续选中的时长小于第二设置时长;其中,所述第一TCP数据流被选中是指所述第一TCP数据流满足所述丢包筛选条件,所述第一TCP数据流被连续选中的时长,为所述待处理IP数据包的接收时间与所述第一TCP数据流在所述待处理IP数据包的接收时间之前被连续选中的最早一次被选中时间之间的时长。
需要说明的是,对于每一个TCP数据流而言,例如对于上述第一TCP数据流,每次接收到一个属于第一TCP数据流的IP数据包时,都需要确定此时接收到的IP数据包所属的第一TCP数据流是否满足丢包筛选条件,若满足丢包筛选条件,则说明此次第一TCP数据流被选中。第一TCP数据流被连续选中,表明在所述待处理IP数据包的接收时间之前,接收到的多个属于第一TCP数据流的IP数据包时,该多个IP数据包所属的TCP数据流(即第一 TCP数据流)连续被确定为满足丢包筛选条件。此外,若在所述待处理IP数据包的接收时间之前,只接收到了属于第一TCP数据流的一个IP数据包,则第一TCP数据流被连续选中则是指在接收到这一个IP数据包时,确定该一个IP数据包所属的第一TCP数据流满足丢包筛选条件。
可以理解的是,上述第一TCP数据流被连续选中是包括所述待处理IP数据包的接收时间之前最近一次接收到的属于所述第一TCP数据流的IP数据包时,该最近一次接收到的IP 数据包所属的第一TCP数据流也是满足丢包筛选条件的。
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述方法还包括:按照第一预设周期确定所述队列缓存中的缓存队列长度;根据所述缓存队列长度调整所述设定值,其中,所述设定值与所述缓存队列长度呈负相关变化。
本申请中,可以根据网络传输设备的队列缓存中缓存队列长度实现筛选条件的周期性调整,从而使筛选条件更符合设备中缓存的实际存储状态,使数据传输的控制效果更符合实际的网络状态。
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件,包括:根据所述待处理IP数据包所属的第一TCP数据流的唯一标识查询流状态信息表,得到所述第一TCP数据流的流状态信息,所述流状态信息表用于以TCP数据流的唯一标识为索引存储每个TCP数据流的流状态信息;根据所述第一TCP数据流的流状态信息,确定所述第一TCP数据流是否满足所述丢包筛选条件。
本申请中,可以通过配置用于记录TCP数据流的流状态信息的流状态信息表,从而使的网络传输设备接收到待处理IP数据包时,能够通过查表的方式快速确定出待处理IP数据包所属第一TCP数据流的流状态信息,提高了IP数据包的处理效率。
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,若所述第一TCP数据流的流状态信息包括所述第一TCP数据流最近一次被选中的时间,确定所述待处理IP数据包所属的第一TCP数据流满足预设的丢包筛选条件之后,所述方法还包括:将所述流状态信息表中所述第一TCP数据流的最近一次被选中的时间更新为确定所述待处理 IP数据包所属的第一TCP数据流满足所述丢包筛选条件的时间或者更新为所述待处理IP数据包的接收时间。
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述丢包筛选条件包括TCP数据流的唯一标识为预设置的数据流标识中的一个,所述预配置的数据流标识包括所述队列缓存中存储的TCP数据流中的至少一个TCP数据流的唯一标识。
本申请中,为了减少对网络传输设备的存储及资源的占用,可以直接采用数据流标识作为丢包筛选条件,将需要丢包的TCP数据流集中到预设置的数据流标识所对应的TCP数据流上,减少受丢包影响的TCP数据流的数量。
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述方法还包括:按照预设时间间隔和预设的选择规则,轮换选择预配置的哈希表中设定个数的哈希索引,并标记当前选择的哈希索引;所述丢包筛选条件包括TCP数据流的哈希值为当前标记的哈希索引中的一个,其中,TCP数据流的哈希值为通过所述哈希表所对应的哈希函数,对TCP数据流的唯一标识进行哈希计算得到的值。
本申请中,通过预配置上述哈希表,在接收到IP数据包时,即可根据IP数据包所属的TCP数据流的哈希值与当前被选择的哈希索引相比对,快速的判断出IP数据包所属的TCP数据流是否满足丢包筛选条件。
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述方法还包括:按照第二预设周期确定所述队列缓存中的缓存队列长度;根据所述缓存队列长度调整所述设定个数,其中,所述设定个数与所述缓存队列长度呈正相关变化。
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述选择规则包括顺序循环选择。
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,TCP 数据流的唯一标识为TCP数据流的五元组,或根据预设算法对TCP数据流的五元组进行计算得到的唯一标识。
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件之前,还包括:根据所述待处理IP数据包的五元组确定所述IP数据包所属的第一TCP数据流。
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述丢包策略包括随机早检测(Random Early Detection,RED)算法。
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,在确定不丢弃所述待处理IP数据包时,所述方法还包括:将所述待处理IP数据包存储到所述队列缓存中。
第二方面,本申请提供了一种数据传输控制装置,所述装置包括:数据接收模块,用于接收待处理因特网协议IP数据包;数据处理模块,用于确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件,若所述第一TCP数据流满足所述丢包筛选条件,则在根据预设的丢包策略确定要丢弃所述待处理IP数据包时,将所述待处理IP数据包丢弃,若所述第一TCP数据流不满足所述丢包筛选条件,则将所述待处理IP数据包存储到所述网络传输设备的队列缓存中。
结合第二方面,在第二方面的一种可能的实施方式中,所述丢包筛选条件包括TCP数据流的流状态信息满足预设条件;所述数据处理模块在确定所述待处理IP数据包所属的第一 TCP数据流是否满足预设的丢包筛选条件时,具体用于:确定所述第一TCP数据流的流状态信息是否满足所述预设条件;其中,所述第一TCP数据流的流状态信息包括所述第一TCP 数据流的速率表征值,所述预设条件包括速率表征值大于设定值,所述第一TCP数据流的速率表征值用于表征所述第一TCP数据流的传输速率。
结合第二方面或第二方面的上述实施方式,在第二方面的一种可能的实施方式中,所述第一TCP数据流的速率表征值为预设时长内存储到所述队列缓存中的属于所述第一TCP数据流的IP数据包的数据量。
结合第二方面或第二方面的上述实施方式,在第二方面的一种可能的实施方式中,所述第一TCP数据流的流状态信息还包括所述第一TCP数据流最近一次被选中的时间,所述预设条件还包括选中时差大于第一设置时长,其中,所述第一TCP数据流被选中是指所述第一 TCP数据流满足所述丢包筛选条件,所述第一TCP数据流的选中时差为所述待处理IP数据包的接收时间与所述第一TCP数据流最近一次被选中的时间的差值。
结合第二方面或第二方面的上述实施方式,在第二方面的一种可能的实施方式中,所述第一TCP数据流的流状态信息还包括所述第一TCP数据流被连续选中的时长,所述预设条件还包括TCP数据流被连续选中的时长小于第二设置时长;其中,所述第一TCP数据流被选中是指所述第一TCP数据流满足所述丢包筛选条件,所述第一TCP数据流被连续选中的时长,为所述待处理IP数据包的接收时间与所述第一TCP数据流在所述待处理IP数据包的接收时间之前被连续选中的最早一次被选中时间之间的时长。
结合第二方面或第二方面的上述实施方式,在第二方面的一种可能的实施方式中,所述装置还包括:第一条件调整模块,用于按照第一预设周期确定所述队列缓存中的缓存队列长度;根据所述缓存队列长度调整所述设定值,其中,所述设定值与所述缓存队列长度呈负相关变化。
结合第二方面或第二方面的上述实施方式,在第二方面的一种可能的实施方式中,所述数据处理模块在确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件时,具体用于:根据所述待处理IP数据包所属的第一TCP数据流的唯一标识查询流状态信息表,得到所述第一TCP数据流的流状态信息,所述流状态信息表用于以TCP数据流的唯一标识为索引存储每个TCP数据流的流状态信息;根据所述第一TCP数据流的流状态信息,确定所述第一TCP数据流是否满足所述丢包筛选条件。
结合第二方面或第二方面的上述实施方式,在第二方面的一种可能的实施方式中,所述装置还包括:流状态信息表更新模块,用于在所述第一TCP数据流的流状态信息包括所述第一TCP数据流最近一次被选中的时间时,在确定所述待处理IP数据包所属的第一TCP数据流满足预设的丢包筛选条件之后,将所述流状态信息表中所述第一TCP数据流的最近一次被选中的时间更新为确定所述待处理IP数据包所属的TCP数据流满足所述丢包筛选条件的时间或者更新为所述待处理IP数据包的接收时间。
结合第二方面或第二方面的上述实施方式,在第二方面的一种可能的实施方式中,所述丢包筛选条件包括TCP数据流的唯一标识为预设置的数据流标识中的一个,所述预配置的数据流标识包括所述队列缓存中存储的TCP数据流中的至少一个TCP数据流的唯一标识。
结合第二方面或第二方面的上述实施方式,在第二方面的一种可能的实施方式中,所述装置还包括:哈希索引轮选模块,用于按照预设时间间隔和预设的选择规则,轮换选择预配置的哈希表中设定个数的哈希索引,并标记当前选择的哈希索引;所述丢包筛选条件包括TCP 数据流的哈希值为当前标记的哈希索引中的一个,其中,TCP数据流的哈希值为通过所述哈希表对应的哈希函数,对TCP数据流的唯一标识进行哈希计算得到的值。
结合第二方面或第二方面的上述实施方式,在第二方面的一种可能的实施方式中,所述装置还包括:第二条件调整模块,用于按照第二预设周期确定所述队列缓存中的缓存队列长度;根据所述缓存队列长度调整所述设定个数,其中,所述设定个数与所述缓存队列长度呈正相关变化。
结合第二方面或第二方面的上述实施方式,在第二方面的一种可能的实施方式中,所述选择规则包括顺序循环选择。
结合第二方面或第二方面的上述实施方式,在第二方面的一种可能的实施方式中,TCP 数据流的唯一标识为TCP数据流的五元组,或根据预设算法对TCP数据流的五元组进行计算得到的唯一标识。
结合第二方面或第二方面的上述实施方式,在第二方面的一种可能的实施方式中,所述装置还包括:所属TCP数据流确定模块,用于在确定所述待处理IP数据包所属的第一TCP 数据流是否满足预设的丢包筛选条件之前,根据所述待处理IP数据包的五元组确定所述IP 数据包所属的第一TCP数据流。
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述丢包策略包括RED算法。
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述数据处理模块还用于,在确定不丢弃所述待处理IP数据包时,将所述待处理IP数据包存储到所述队列缓存中。
第三方面,本申请提供一种网络传输设备,所述设备包括存储器和处理器;所述存储器用于存储计算机程序代码;所述处理器用于读取所述计算机程序代码来运行与所述计算机程序代码对应的计算机程序,以用于执行如第一方面或第一方面的任一种实施方式中的数据传输控制方法。
第四方面,本申请提供了一种计算机可读存储介质,所述可读存储介质中存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第一方面或第一方面的任一种实施方式中的数据传输控制方法。
第五方面,本申请提供了一种计算机程序产品,所述计算机产品包括可读计算机指令,当所述计算机产品在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种实施方式中的数据传输控制方法。
第六方面,本申请提供了一种计算机程序,当所述计算机程序在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种实施方式中的数据传输控制方法。
附图说明
图1示出了发明实施例适用的一种网络传输架构的示意图;
图2示出了根据本发明实施例的一种数据传输控制方法的流程示意图;
图3中示出了一个哈希表的示意图;
图4示出了根据缓存队列平均长度确定主动丢包率的示意图;
图5示出了本发明实施例与现有丢包方式的网络传输效果的对比示意图;
图6示出了根据本发明一实施例的一种数据传输控制装置的框架示意图;
图7示出了根据本发明另一实施例的一种数据传输控制装置的框架示意图;
图8示出了根据本发明又一实施例的一种数据传输控制装置的框架示意图;
图9示出了根据本发明实施例提供的一种网络传输设备的示意性框图。
具体实施方式
由于网络流量的不可预知性,流量的突发程度和持续时间也不可预知,而网络传输设备的缓存都是有限的,因此,端到端传输路径上的所有网络传输设备都存在丢包的风险,尤其是缓存较小的交换机、接入网设备等设备。
本发明实施例提供了一种数据传输控制方法、装置、设备和存储介质,适用于所有IP网络中由于网络流量过大引起IP数据包丢包的应用场景中。
图1示出了本发明实施例适用的一种典型的城域网的网络传输架构示意图。如图1所示,该网络传输架构可以包括核心路由器(Core Router,CR)、宽带远程接入服务器(Broadband Remote Access Server,BRAS)、LSW、OLT等网络传输设备。每个网络传输设备上都可以设有用于缓存设备所接收到的IP数据包的队列缓存,在网络流量突发时,网络传输设备将接收到的IP数据包以队列的形式存储到队列缓存中,如图1中所示的各网络传输设备的队列缓存以及各队列缓存中缓存队列(所存储的IP数据包的队列),如对于CR设备,如图1中示意性的示出了其队列缓存a和缓存队列b。本发明实施例的数据传输控制方法适用于图1中所示的CR、BRAS、LSW和OLT中的任一网络传输设备中,也就是说,CR、BRAS、LSW和OLT都可以是本发明实施例的数据传输控制方法的执行主体。
下面以图1中的LSW为例对本发明实施例的数据传输控制方法进行进一步说明。LSW 从成本考虑,一般不会配备较大的队列缓存,因此在网络流量突发拥塞时容易产生丢包。
为了减少丢包时受影响的TCP数据流的数量,本发明实施例通过在LSW上预配置丢包筛选条件,LSW在接收到IP数据包时,首先判断该IP数据包所属的TCP数据流是否满足该丢包筛选条件,在IP数据包所属的TCP数据流满足该丢包筛选条件时,再进一步根据预设的丢包策略来确定是否将该IP数据包丢弃。通过该方法,LSW在需要丢包时,将丢弃的IP 数据包集中在了满足上述丢包筛选条件的TCP数据流上,实现了有目的的选择性丢包,从而减少受丢包影响的TCP数据流数量,减少了受丢包影响的用户数量,提升了网络用户的总体用户体验。
图2示出了本发明实施例提供的一种数据传输控制方法的流程示意图,该方法具体可以由网络传输设备执行。如图2所示,该数据传输控制方法主要可以包括以下几个步骤:
步骤S11:接收IP数据包。
为便于表述,后续将步骤S11中接收的IP数据包称为待处理IP数据包。
步骤S12:确定待处理IP数据包所属的TCP数据流是否满足预设的丢包筛选条件。
为便于表述,后续将待处理IP数据包所属的TCP数据流称为第一TCP数据流。
本发明一可选实施例中,确定待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件之前,还包括:
根据待处理IP数据包的五元组确定待处理IP数据包所属的第一TCP数据流。
为了减少丢包所影响的TCP数据流的数量,进而减少受影响的用户数量,网络传输设备在接收到其它网络传输设备或用户终端设备发送来的待处理IP数据包时,首先确定待处理IP 数据包所属的第一TCP数据流,再依据第一TCP数据流是否满足丢包筛选条件来确定该待处理IP数据包是否为作为备选的待丢弃IP数据包,即网络传输设备在确定需要进行丢包时要丢弃的IP数据包。
IP数据包的五元组是指IP数据包的源IP地址、源端口、目的IP地址、目的端口和传输层协议,五元组能够区分不同会话,且对应的会话是唯一的,即一个会话对应一个TCP链接、一条TCP数据流,因此,五元组能够唯一的标识IP数据包所属的TCP数据流,五元组相同的IP数据包即属于同一条TCP数据流。
其中,上述丢包筛选条件是对于TCP数据流而言的,用于判断TCP数据流是否为备选的、需要进行IP数据包丢弃的数据流。基于该丢包筛选条件,实现了网络传输设备所丢弃的IP 数据包只集中在满足该丢包筛选条件的TCP数据流上。
本发明一可选实施例中,丢包筛选条件包括TCP数据流的流状态信息满足预设条件。相应的,上述确定待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件,具体包括:
确定第一TCP数据流的流状态信息是否满足上述预设条件。
其中,第一TCP数据流的流状态信息包括第一TCP数据流的速率表征值,预设条件包括速率表征值大于设定值,第一TCP数据流的速率表征值用于表征第一TCP数据流的传输速率。
需要说明的是,上述待处理IP数据包中的“待处理”仅仅是为了将所接收到的IP数据包与在描述丢包筛选条件或预设条件时所涉及的IP数据包区分开来,同样的,上述第一TCP 数据流中的“第一”也仅仅是用来将接收的待处理IP数据包所属的TCP数据流与在描述丢包筛选条件或预设条件时所涉及的TCP数据流区分开来,并没有其它具有特定的顺序或关系限定。
本发明实施例中,对于任一TCP数据流,TCP数据流的传输速率可以是TCP数据流的发送速率,也可以是TCP数据流的接收速率。TCP数据流的速率表征值可以是TCP数据流的传输速率本身,例如,可以是TCP数据流的接收速率或发送速率。对于任一TCP数据流,TCP数据流的速率表征值也可以是预设时长内接收的或发送的属于该TCP数据流的IP数据包的数据量。
本发明一可选实施例中,对于任一TCP数据流,预设时长内接收的属于该TCP数据流的IP数据包的数据量可以用该预设时长内接收到的属于该TCP数据流的IP数据包的数据量表示;预设时长内发送的属于该TCP数据流的IP数据包的数据量可以用在预设时长内存储到队列缓存中的属于该TCP数据流的IP数据包的数据量来表示,此时,该TCP数据流的流量即为预设时长内存储到队列缓存中的属于该TCP数据流的IP数据包的数据量。
对于上述第一TCP数据流而言,第一TCP数据流的速率表征值可以为预设时长内存储到队列缓存中的属于第一TCP数据流的IP数据包的数据量。
本发明一可选实施例中,对于任一TCP数据流,属于该TCP数据流的IP数据包的数据量可以为属于该TCP数据流的IP数据包的字节数和/或IP数据包的个数,对应的,该TCP数据流的速率表征值大于设定值为属于该TCP数据流的IP数据包的字节数大于设定字节数和/或属于该TCP数据流的IP数据包的个数大于设定数。
网络传输设备在发送IP数据包时,会根据网络的状态,通过调整发送窗口的大小来调整发送速率。在网络处于轻载状态时,将不断扩大发送窗口,增加发送速率,试探网络容量,当判断网络处于拥塞状态(一般以丢包作为网络拥塞的信号)时,将缩小发送窗口(称为降窗),降低发送速率,以缓解网络拥塞。
在当前的TCP降窗机制中,只要不触发TCP RTO,在一段时间内,无论丢多个包还是丢一个包,网络传输设备都仅会进行一次降窗(重传包被丢弃或整个发送窗口的包被丢弃则会触发TCP RTO,而此时TCP发送窗口将降到初始值,对该TCP数据流的传输性能造成较大影响)。在发生丢包时,被丢弃数据包的发送端设备能够基于TCP的选择性重传(SelectiveAcknowledgments,SACK)特性,将所丢弃的数据包重传。SACK特性是指TCP接收端设备进行TCP确认时,会描述更详细的接收信息,包括哪些报文即IP数据包已收到、哪些报文未收到,从而使发送端设备能够只对丢弃的数据包进行重传。
由TCP的降窗机制和SACK特性可知,对于同一条TCP数据流而言,在一个发送窗口内,无论是丢一个包还是丢多个包,在不触发TCP RTO的前提下,对该TCP数据流的性能几乎没有影响。但为了避免触发TCP RTO,需要控制每条数据流的丢包数量,而大流所能容忍的丢包数量更大,将丢包集中在大流上,能够更好的控制丢包所造成的影响。本发明实施例中,大流是指在网络传输设备所传输的TCP数据流中,传输速率大于设定速率的TCP数据流,其中,传输速率可以是接收速率,也可以是发送速率,而TCP数据流的接收速率可以通过在预设时长内所接收到的属于该TCP数据流的IP数据包的数据量表示,发送速率可以通过在预设时长内所存储到队列缓存中的属于该TCP数据流的数据量表示,例如,对于一条 TCP数据流而言,若在预设时长内存储到队列缓存中的属于该TCP数据流的IP数据包的数据量大于设定数据量,则可以认为该TCP数据流为大流。
因此,本发明实施例中,预设条件可以设置为TCP数据流的速率表征值大于设定值。网络传输设备在接收到待处理IP数据包时,即可根据待处理IP数据包所属的第一TCP数据流的流量和上述设定值判断出该待处理IP数据包所属的第一TCP数据流是否满足预设条件。
作为一个具体示例,例如配置上述预设时长为2秒,TCP数据流的速率表征值以2秒内存储到队列缓存中的属于该TCP数据流的IP数据包的个数来表示,设定数为8。假设在当前 2秒内存储到队列缓存中的IP数据包共21个,这21个数据包中有5个属于TCP数据流A, 7个属于TCP数据流B,9个属于TCP数据流C,则此时TCP数据流A的速率表征值为5, TCP数据流B的速率表征值为7,TCP数据流C的速率表征值为9,则在当前接收到属于TCP 数据流C的待处理IP数据包时,由于该待处理IP数据包所属的TCP数据流C的流量为9,大于设定数8,该待处理IP数据包所属的TCP数据流C满足预设条件。
本发明一可选实施例中,流状态信息还可以包括第一TCP数据流的最近一次被选中的时间,即第一TCP数据流最近一次被确定为满足丢包筛选条件的时间,相对应的,上述预设条件还包括选中时差大于第一设置时长,其中,第一TCP数据流被选中是指第一TCP数据流满足所述丢包筛选条件,第一TCP数据流的选中时差为待处理IP数据包的接收时间与第一 TCP数据流最近一次被选中的时间的差值。
本发明实施例中,在一个TCP数据流发生丢包时,通过记录该TCP数据流最近一次即上一次被选中的时间,并设置丢包保护周期即上述第一设置时长,能够避免同一条TCP数据流在一个丢包保护周期内被多次选中丢包,从而避免了由于同一条数据流的丢包数量过多,造成该数据流的重传包被丢弃导致触发TCP RTO的情况出现。
需要说明的是,对于同一条TCP数据流,每接收到一个属于该TCP数据流的IP数据包时,都需要确定该TCP数据流是否满足丢包筛选条件,如果满足则说明该TCP数据流此次被选中,如果不满足则此时该TCP数据流未被选中。TCP数据流被选中的时间可以是指确定TCP数据流满足丢包筛选条件的时间,也可以是指TCP数据流被选中时所对应的该TCP数据流的IP数据包的接收时间。
作为一个具体示例,假设网络传输设备接收到了一IP数据包s,包s的接收时间为t,包 s属于TCP数据流a。而在时间t之前,网络传输设备已经依次接收到了属于TCP数据流a的三个IP数据包,为描述方便,三个IP数据包按照接收时间先后分别记为包1、包2和包3,而在接收到包1时,确定包1所属的TCP数据流(即TCP数据流a)不满足丢包筛选条件,则此时TCP数据流a未被选中,此后在接收到包2时,确定包2所属的TCP数据流(即TCP 数据流a)满足丢包筛选条件,则此时TCP数据流被选中,再接收到包3时,确定包3所属的TCP数据流(即TCP数据流a)满足丢包筛选条件,则此时TCP数据流也被选中,则网来传输设备在接收到包s时,TCP数据流a最近一次被选中则为在接收到包3时确定包3所属的TCP数据流满足丢包筛选条件,TCP数据流a最近一次被选中的时间则可以为确定包3 所属的TCP数据流满足丢包筛选条件的时间,也可以为包3的接收时间。在该具体示例中,对于包s而言,包s所属的TCP数据流a的选中时差则为包s的接收时间与TCP数据流a在包s的接收时间之前最近一次被选中的时间之间的差值,即包s的接收时间与确定包3所属的TCP数据流满足丢包筛选条件的时间之间的差值,或者是包s的接收时间与包3的接收时间之间的差值。
本发明一可选实施例中,第一TCP数据流的流状态信息还可以包括第一TCP数据流被连续选中的时长,相对应的,预设条件还包括TCP数据流被连续选中的时长小于第二设置时长。
由前文描述可知,第一TCP数据流被选中是指第一TCP数据流满足丢包筛选条件,第一 TCP数据流被连续选中的时长,为待处理IP数据包的接收时间与第一TCP数据流在待处理 IP数据包的接收时间之前被连续选中的最早一次被选中时间之间的时长。例如,对于前文中 TCP数据流a的具体示例中,对于包s而言,TCP数据流a在包s的接收时间之前被连续选中则是指对于TCP数据流a而言,连续接收到TCP数据流a的包2和包3时,这两次TCP 数据流均被选中,此时第一TCP数据流被连续选中的时长,则为包s的接收时间与TCP数据流a在包s的接收时间之前被连续选中的最早一次被选中(接收到包2时,确定包2所属的 TCP数据流a满足丢包筛选条件)的时间之间的差值,具体可以为包s的接收时间与确定包 2所属的TCP数据流满足丢包筛选条件的时间之间的差值,或者也可以为包s的接收时间与包2的接收时间之间的差值。
可以理解的是,第一TCP数据流在待处理IP数据包的接收时间之前被连续选中的操作中最近进一次被选中指的是在接收到待处理IP数据之前最近一次接收到属于第一TCP数据流的IP数据包时确定第一TCP数据流被选中(即满足丢包筛选条件)。
本发明实施例中,可以通过设置丢包轮换周期即上述第二设设置时长,保证了同一条TCP 数据流被连续丢包的时长不会大于上述第二设置时长,即一条TCP数据流被连续丢包的时长不小于第二设置时长时,需要将丢包从该条TCP数据流轮换到另一条TCP数据流,以减小了TCP RTO被触发的可能性。
在实际应用中,为了确定一条TCP数据流的IP数据包正在被丢弃且被连续丢包的时长,可以在该TCP数据流的IP数据包被丢弃时,从该TCP数据流的IP数据包被丢弃时刻开始,统计该TCP数据流被连续丢包的时长(属于该TCP数据流的IP数据包被连续丢弃的时长)。
本发明一可选实施例中,为了提高IP数据包的处理效率,上述确定待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件,具体可以包括:
根据待处理IP数据包所属的第一TCP数据流的唯一标识查询流状态信息表,得到IP数据包所属的TCP数据流的流状态信息;其中,流状态信息表用于以TCP数据流的唯一标识为索引存储每个TCP数据流的流状态信息;
根据第一TCP数据流的流状态信息,确定第一TCP数据流是否满足丢包筛选条件。
本发明实施例中,在丢包筛选条件包括TCP数据流的流状态信息满足预设条件时,可以通过设置上述流状态信息表,来记录网络传输设备的缓存队列中的每个TCP数据流的最近的流状态信息,从而在网络传输设备接收到待处理IP数据包时,即可通过在流状态信息表中直接查询出该待处理IP数据包所属的第一TCP数据流的流状态信息,进而快速判断出待处理 IP数据包所属的第一TCP数据流是否满足丢包筛选条件。
可以理解的是,对于流状态信息所包括的具体信息的不同,流状态信息表中所存储的TCP 数据流的流状态信息也不同。例如,若流状态信息包括的TCP数据流的速率表征值,则以 TCP数据流的唯一标识为索引存储到流状态信息表中所存储的流状态信息包括TCP数据流的速率表征值;若流状态信息还包括TCP数据流最近一次被选中的时间,则流状态信息表中所存储的流状态信息还包括TCP数据流最近一次被选中的时间。
在实际应用中,可以按照上述预设时长,对预设时长内所接收到的每个TCP数据流的流状态信息进行统计,并将统计结果更新到流状态信息表中,从而实现对流状态信息表中所存储的TCP数据流的流状态信息的更新。
同样的,在统计预设时长内所接收到的每个TCP数据流的流状态信息时,根据流状态信息所包括的具体信息的不同,所需要统计的流状态信息也就不同。例如,对于任一TCP数据流,若该TCP数据流的速率表征值为预设时长内存储到队列缓存中的属于该TCP数据流的 IP数据包的数据量,则所需要统计流状态信息则为预设时长内存储到队列缓存中的属于该 TCP数据流的IP数据包的数据量;若该TCP数据流的速率表征值为预设时长内接收到的属于该TCP数据流的IP数据包的数据量,则所需要统计的流状态信息则为预设时长内接收到的属于该TCP数据流的IP数据包的数据量。
可以理解的是,若在当前预设时长内,所统计的存储到队列缓存中的一个TCP数据流的唯一标识在流状态信息表中不存在,则可以直接以TCP数据流的唯一标识为索引,将该TCP 数据流对应的流状态信息存储到流状态信息表中即可;若在当前预设时长之前的设定时长一个TCP数据流的唯一标识在流状态信息表中已经存在,则以当前预设时长内最新统计到的该 TCP数据流的流状态信息替代之前设定时长所统计到的该TCP数据流的流状态信息,完成该 TCP数据流的流状态信息的更新。
作为一个具体的示例,表1中示出了一个流状态信息表的示意图。该示例中,流状态信息包括TCP数据流的速率表征值(以预设时间内存储到队列缓存中的TCP数据流的IP数据包的个数表征)和TCP数据流上次被选中的时间(TCP数据流最近一次被选中的时间),其中,流序号即表示TCP数据流的唯一标识。
表1
流序号 | 流大小(包个数) | 上次被选中时间 |
1 | m_1 | t_1 |
2 | m_2 | t_2 |
…… | …… | …… |
N | m_N | t_N |
基于表1中所示的流状态信息表,网络传输设备在接收到一IP数据包时,即可根据IP 数据包所属的TCP数据流的流序号,在该表中查找到对应的流状态信息,例如,接收到的某一IP数据包所属的TCP数据流的流序号为1,则该TCP数据流的速率表征值为m_1,上次被选中(最近一次被选中)时间为t_1。
本发明一可选实施例中,若待接收IP数据包所属的第一TCP数据流的唯一标识在流状态信息表中不存在,则该数据传输控制方法还可以包括:确定待处理IP数据包所属的第一 TCP数据流的速率表征值为零。
也就是说,若待处理IP数据包所属的第一TCP数据流的唯一标识(如表1中的流序号) 在流状态信息表中未查找到,则说明该待处理IP数据包所属的第一TCP数据流在队列缓存中不存在,当前接收到的该待处理IP数据包是网络传输设备当前状态下该IP数据包所属的第一TCP数据流的第一个数据包,此时可以直接将待处理IP数据包所属的TCP数据流的流量确定为零。
可以理解的是,若待处理IP数据包所属的第一TCP数据流的唯一标识在流状态信息表中不存在,则说明该待处理IP数据包所属的第一TCP数据流不满足丢包筛选条件。
本发明一可选实施例中,若第一TCP数据流流状态信息还包括第一次TCP数据流最近一次被选中的时间,则确定待处理IP数据包所属的第一TCP数据流满足预设的丢包筛选条件之后,本发明实施例的数据传输控制方法还包括:
对流状态信息表中第一TCP数据流的最近一次被选中的时间进行更新,具体的,将流状态信息表中第一TCP数据流的最近一次被选中的时间更新为确定待处理IP数据包所属的第一TCP数据流满足丢弃筛选条件的时间或者更新为待处理IP数据包的接收时间。
可以理解的是,在确定接收到的待处理IP数据包所属的第一TCP数据流是否满足丢包筛选条件时,若所设置的丢包筛选条件不同,则在确定待处理IP数据包所属的第一TCP数据流满足丢包筛选条件之后,所要更新的第一TCP数据流的流状态信息也就不同。例如,丢包筛选条件中的流状态信息包括TCP数据流最近一次被选中的时间,则在将一TCP数据流被选中之后,需要将第一TCP数据流的最近一次被选中时间更新为确定待处理IP数据包所属的第一TCP数据流满足丢弃筛选条件的时间或者更新为待处理IP数据包的接收时间。再例如,若丢包筛选条件中的流状态信息包括TCP数据流被被连续选中的时长,则在确定待处理IP数据包所属的第一TCP数据流满足丢包筛选条件之后,需要开始统计第一TCP数据流被连续选中的时长或者对已经统计的第一TCP数据流被连续选中的时长进行更新。
本发明一可选实施例中,该数据传输控制方法还可以包括:
按照第一预设周期计算队列缓存中的缓存队列长度;
根据缓存队列长度调整上述预设条件中的设定值,其中,设定值与缓存队列长度呈负相关变化。
本发明实施例中,网络传输设备可以根据其队列缓存中缓存队列长度实现对第一筛选条件中的设定值的周期性调整,从而使丢包筛选条件更符合设备中缓存的实际存储状态。其中,缓存队列长度指的是队列缓存中所存储的IP数据包的长度,其中,缓存队列长度具体可以以队列缓存中所存储的IP数据包的字节数来表征,也可以以队列缓存中所存储的IP数据包的个数来表征。
可以理解的是,根据缓存队列长度调整设定值时,可以预先配置相应的调整规则,例如,配置缓存队列长度与设定值的对应关系,在计算出上述缓存队列长度后,即可根据配置的该对应关系对设定值进行调整。当前,在实际应用中,还可以在计算出缓存队列长度后,基于计算出的缓存队列长度进行其它处理后,依据处理结果对设定值进行调整。例如,在一具体实施例中,根据缓存队列长度调整预设条件中的设定值,可以包括:
根据缓存队列长度计算网络传输设备的主动丢包率;
根据主动丢包率调整设定值,其中,主动丢包率与设定值呈负相关变化。
即可以根据网络传输设备的当前主动丢包率对设定值进行调整,在主动丢包率较高时,通过调低设定值,以使被选中的满足TCP数据流的数量更多,更符合丢包的实际应用场景。
可以理解的是,在实际应用中,除了可以根据缓存队列长度调整设定值,还可以根据缓存队列长度对预设条件中的上述第一设置时长和/或第二设置时长进行相应的调整,具体的,可以配置缓存队列长度与第一设置时长和/或第二设置时长可以呈负相关变化。
在实际应用场景中,由于网络传输设备的存储空间和计算能力有限,且网络中所传输的数据量又很大时,很可能会导致网络传输设备在基于上述预设条件来选择TCP数据流的难度较大,例如,维护一张流状态信息表需要占用一定的存储空间,且需要对表中的流状态信息进行维护的复杂度对一些网络传输设备来说可能是难以承受的。因此,为了避免该问题,本发明实施例中,可以基于TCP数据流的唯一标识来实现对TCP数据流的筛选。
其中,TCP数据流的唯一标识可以为TCP数据流所对应的五元组,或根据预设算法对 TCP数据流所对应的五元组进行计算得到的唯一流标识、还可以是其它能够唯一标识一条 TCP数据流的标识。
本发明一可选实施例中,上述丢包筛选条件可以包括TCP数据流的唯一标识为预设置的数据流标识中的一个,其中,预配置的数据流标识包括队列缓存中存储的TCP数据流中的至少一个TCP数据流的唯一标识中。
即可以在网络传输设备中预设置TCP数据流的数据流标识,通过将接收到的待处理IP 数据包所属的第一TCP数据流的唯一标识与预设置的数据流标识相匹配,来筛选可能需要丢包的TCP数据流。其中,预配置的数据流标识的个数可以根据需要选择,如果接收到的待处理IP数据包所属的第一TCP数据流的唯一标识为预设置的数据流标识中的一个,则说明该第一TCP数据流满足丢包筛选条件。
可以理解的是,上述预设置的数据流标识可以是缓存中存储的IP数据包所属的TCP数据流中的一个或多个TCP数据流的唯一标识。进一步的,可以根据TCP数据流中数据流的大小选择预设置的数据流标识,例如优选将大流的TCP数据流的标识作为预设置的数据流标识,此外,该预设置的数据流标识可以根据缓存中所存储的数据的变化进行周期性的调整。
本发明一可选实施例中,本发明实施例的数据传输控制方法还可以包括:
按照预设时间间隔和预设的选择规则,轮换选择预配置的哈希表中设定个数的哈希索引,并标记当前选择的哈希索引;
此时,对应的丢包筛选条件包括TCP数据流的哈希值为当前标记的哈希索引中的一个,其中,TCP数据流的哈希值为通过哈希表所对应的哈希函数,对TCP数据流的唯一标识进行哈希计算得到的值。
本发明实施例中,可以通过预配置上述哈希表,并按照预设时间间隔对哈希表中的哈希索引进行周期性轮换选择的方式,来选择可能需要丢弃数据包的TCP数据流,从而在接收到待处理IP数据包时,即可根据待处理IP数据包所属的第一TCP数据流的哈希值是否是当前选中的哈希索引中的一个,来快速确定出该第一TCP数据流是否满足丢包筛选条件,通过该方式,在需要丢包时,将丢弃的IP数据包集中在了每次所选中的哈希索引对应的TCP数据流上,而其他没被选中的哈希索引所对应的TCP数据流则不会被丢包。
可以理解的是,上述哈希表所对应的哈希函数指的是初始化创建哈希表时所采用的哈希函数,哈希函数的具体选择可以根据需要实际需要确定。例如,可以采用除留余数法创建哈希表,哈希函数对应可以将关键字对不大于哈希表表长的数直接取模,在本发明实施例中,关键字即为TCP数据流的唯一标识。在TCP数据流的唯一标识为该数据流所对应的五元组时,可以直接根据哈希函数对接收到的IP数据包的五元组进行哈希计算,计算出的哈希值即为IP数据包所属的TCP数据流的哈希值,通过判断该哈希值是否属于所标记的哈希索引中的一个,快速确定出IP数据包所属的TCP数据流是否满足丢包筛选条件。
其中,上述时间间隔、设定个数和选择规则均可以根据实际应用需要进行设置和调整。本发明一可选实施例中,选择规则包括顺序循环选择。
本发明一可选实施例中,该数据传输控制方法还可以还包括:
按照第二预设周期计算队列缓存中的缓存队列长度;
根据缓存队列长度调整上述设定个数,其中,设定个数与缓存队列长度呈正相关变化。
本发明实施例中,可以依据网络传输设备的队列缓存中的缓存队列长度对每次所选中的哈希索引的数量进行调整,缓存队列长度越长,设定个数越大,被选中可能要丢包的TCP数据流的数量越多,接收到的待处理IP数据包被选中丢弃的概率越大,从而使数据传输控制更符合网络传输设备的队列缓存中的实际存储状态。其中,根据缓存队列长度调整设定个数的具体调整策略可以根据实际应用需要进行设置。例如,在一个具体示例中,根据缓存队列长度调整设定个数,可以包括:
根据缓存队列长度计算网络传输设备的主动丢包率;
根据主动丢包率调整设定个数,其中,主动丢包率与设定个数呈正相关变化。
即根据主动丢包率对设定个数进行调整,主动丢包率越高,设定个数的数值越大,每次选择的哈希索引越多。
作为一个具体的示例,图3中示出了一个哈希表的示意图。该示例中,哈希表对应的哈希函数为将关键字对不大于哈希表表长(即索引个数)的数p直接取模,该哈希表中包括N 个哈希索引,表中1、2、……、N示意性的示出了N个哈希值即哈希索引。在对哈希表中的哈希索引进行顺序循环选择时,可以按照预设时间间隔进行轮换,设定个数可以根据实际应用需要进行选择,例如,在第i轮选择时,哈希索引为1、2的TCP数据流被选中,在第i+1 轮选择时,哈希索引为3、4、5的TCP数据流被选中,在某轮选择到达最后一个即第N个哈希索引时,再轮回到第1个哈希索引即可,从而实现选择的可循环。在接收到的待处理IP数据包,将待处理IP数据包所属的第一TCP数据流的唯一索引对p进行取模后,若取模结果为当前选中的哈希索引中的一个,即可快速确定出该IP数据包的TCP数据流是满足丢包筛选条件的。
步骤S131:若第一TCP数据流满足丢包筛选条件,则在根据预设的丢包策略确定要丢弃待处理IP数据包时,将待处理IP数据包丢弃。
步骤S132:若第一TCP数据流不满足丢包筛选条件,则将待处理IP数据包存储到网络传输设备的队列缓存中。
本发明实施例中,可以根据实际应用需要,配置不同的丢包策略来确定是否需要将满足丢包筛选条件的IP数据包进行丢弃。
本发明一可选实施例中,上述丢包策略可以直接配置为RED算法。
此时,可以直接根据RED算法确定出是否需要将符合丢包筛选条件的TCP数据流的IP 数据包丢弃。具体的,在采用RED算法确定是否需要丢弃IP数据包时,需要确定网络传输设备的主动丢包率,若主动丢包率不小于第一丢包率阈值,则将IP数据包丢弃,若主动丢包率大于第二丢包率阈值且小于第一丢包率阈值,则为IP数据包生成随机数,若随机数不小于预配置的丢包阈值,则将IP数据包丢弃,若主动丢包率不大于第二丢包率阈值,则不丢弃IP 数据包。其中,第一丢包率阈值大于第二丢包率阈值,第一丢包率阈值和第二丢包率阈值可以根据需要设置。
本发明实施例中,可以为大于第二丢包率阈值且小于第一丢包率阈值的主动丢包率预配置相对应的丢包阈值,例如,将不小于第二丢包率阈值且小于第一丢包率阈值的主动丢包率相对应的丢包阈值可以配置为X,则在接收到的IP数据包的TCP数据流满足丢包筛选条件时,若此时设备的主动丢包率大于第二丢包率阈值且小于第一丢包率阈值,则为该IP数据包生成一随机数Y,若Y不小于X,则确定要丢弃该IP数据包。在一个示例中,第一丢包率阈值可以设置为100%,第二丢包率阈值可以设置为0%,上述丢包阈值可以配置为60,,则在主动丢包率为100%时,直接将满足丢包筛选条件的IP数据包丢弃,若主动丢包率大于等于 60%且小于100%时,则为IP数据包随机生成1至100之间的随机数,假设生成的随机数为 50,由于50小于丢包阈值60,则不丢弃该IP数据包,若生成的随机数为70,由于70大于丢包阈值60,则丢弃该IP数据包。
RED丢包方式是根据网络传输设备的缓存队列长度来衡量拥塞程度,队列长度越长,拥塞程度越严重,主动丢包率越高。图4示出了RED中根据平均队列长度确定主动丢包率的一个具体示例,图中横坐标ave_qlen表示设备的队列缓存的缓存队列长度,纵坐标ρ表示主动丢包率。如图4中所示,当缓存队列长度小于阈值min_thr时,不丢包即主动丢包率为0,当缓存队列长度在阈值min_thr和阈值max_thr之间时,主动丢包率按缓存队列长度线性计算,此时主动丢包率最大值为max_p,当缓存队列长度超过阈值max_thr时,则主动丢包率为1。在接收到IP数据包时,如果设备的主动丢包率为1,则直接将筛选出的IP数据包丢弃,如果主动丢包率为0,则将IP数据包存储到队列缓存中,若主动丢包率大于0小于1,则采用生成随机数的方式来确定是否丢弃。
本发明实施例的数据传输控制方法,在进行主动丢包,通过丢包筛选条件,将满足丢包筛选条件的TCP数据流的IP数据包作为备选的待丢弃IP数据包,之后再根据丢包策略(如 RED算法)确定是否丢弃通过丢包筛选条件筛选出的备选的待丢弃IP数据包,通过本发明实施例的方法,实现了将丢包集中在部分TCP数据流上,减少了受丢包影响的用户数量,在不进一步恶化该部分用户体验的基础上,保障了其它TCP数据流的传输,提升了其它用户的体验,从而在统计上提升了用户体验。
在一个具体示例中,图5示出了基于本发明实施例的数据传输控制方法、基于AQM技术的随机丢弃方法、以及基于未使用AQM的尾丢弃方法的网络传输设备的吞吐量变化的示意图,其中,横坐标表示时间,纵坐标表示设备的端口利用率,图中曲线S1为基于本发明实施例的数据传输控制方法的设备端口利用率变化曲线,曲线S2为基于AQM技术的随机丢弃方法的设备端口利用率变化曲线,曲线S3为基于未使用AQM的尾丢弃方法的设备端口利用率变化曲线。由曲线S1、S2和S3可以看出,与现有两种方式相比,本发明实施例的方法能够明显提升网络轻载时的端口利用率,这是因为在网络传输发生拥塞、发生降窗时,由于受影响的TCP数据流的数量减少,因此发生降窗的TCP数据流的数量较少,在同样拥塞程度下,本发明实施例的端口利用率明显提升。
与图2中所示的数据传输控制方法相对应,图6示出了本发明实施例提供的一种数据传输控制装置100的框架示意图,该数据传输控制装置100具体可以实现为处理器或直接部署在网络传输设备中。如图6所示,该网络传输控制装置100可以包括数据接收模块110和数据处理模块120。其中:
数据接收模块110,用于接收待处理IP数据包。
数据处理模块120,用于确定待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件,若第一TCP数据流满足丢包筛选条件,则在根据预设的丢包策略确定要丢弃待处理IP数据包时,将待处理IP数据包丢弃,若第一TCP数据流不满足丢包筛选条件,则将待处理IP数据包存储到网络传输设备的队列缓存中。
本发明实施例中,网络传输控制装置100在接收到待处理IP数据包时,首先判断该接收到的待处理IP数据包所属的第一TCP数据流是否满足丢包筛选条件,只有在满足丢包筛选条件时才会进一步根据丢包策略判断是否需要丢弃该待处理IP数据包。通过本发明实施例,网络传输控制装置100将需要丢弃的IP数据包集中到了满足丢包筛选条件的TCP数据流时,从而减少了受丢包影响的TCP数据流的数量,减少了受丢包影响的用户数量,提升了总体用户体验。
本发明一可选实施例中,上述丢包筛选条件包括TCP数据流的流状态信息满足预设条件。相应的,数据处理模块120在确定待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件时,具体用于:
确定第一TCP数据流的流状态信息是否满足预设条件;其中,第一TCP数据流的流状态信息包括第一TCP数据流的速率表征值,预设条件包括速率表征值大于设定值,第一TCP 数据流的速率表征值用于表征第一TCP数据流的传输速率。
本发明一可选实施例中,第一TCP数据流的速率表征值为预设时长内存储到队列缓存中的属于第一TCP数据流的IP数据包的数据量。
本发明一可选实施例中,第一TCP数据流的流状态信息还包括第一TCP数据流最近一次被选中的时间,预设条件还包括选中时差大于第一设置时长,其中,第一TCP数据流被选中是指第一TCP数据流满足丢包筛选条件,第一TCP数据流的选中时差为待处理IP数据包的接收时间与第一TCP数据流最近一次被选中的时间的差值。
本发明一可选实施例中,第一TCP数据流的流状态信息还包括第一TCP数据流的IP数据包被连续选中的时长,预设条件还包括TCP数据流的IP数据包被连续选中的时长小于第二设置时长,其中,所述第一TCP数据流被选中是指所述第一TCP数据流满足所述丢包筛选条件,所述第一TCP数据流被连续选中的时长,为所述待处理IP数据包的接收时间与所述第一TCP数据流在所述待处理IP数据包的接收时间之前被连续选中的最早一次被选中时间之间的时长。
本发明一可选实施例中,数据传输控制装置100还可以包括第一条件调整模块。
第一条件调整模块,用于按照第一预设周期确定队列缓存中的缓存队列长度;根据缓存队列长度调整设定值,其中,设定值与缓存队列长度呈负相关变化。
本发明一可选实施例中,数据处理模块120在确定待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件时,具体用于:
根据待处理IP数据包所属的第一TCP数据流的唯一标识查询流状态信息表,得到第一 TCP数据流的流状态信息,流状态信息表用于以TCP数据流的唯一标识为索引存储每个TCP 数据流的流状态信息;根据第一TCP数据流的流状态信息,确定第一TCP数据流是否满足丢包筛选条件。
本发明一可选实施例中,数据传输控制装置100还可以包括流状态信息表更新模块121,如图7所示。
流状态信息表更新模块121,用于在第一TCP数据流的流状态信息包括第一TCP数据流最近一次被选中的时间时,在确定待处理IP数据包所属的第一TCP数据流满足预设的丢包筛选条件之后,将流状态信息表中第一TCP数据流的最近一次被选中的时间更新为确定待处理IP数据包所属的第一TCP数据流满足丢弃筛选条件的时间或者更新为待处理IP数据包的接收时间。
本发明一可选实施例中,丢包筛选条件包括TCP数据流的唯一标识为预设置的数据流标识中的一个,预配置的数据流标识包括队列缓存中存储的TCP数据流中的至少一个TCP数据流的唯一标识。
本发明一可选实施例中,数据传输控制装置100还可以包括哈希索引轮选模块122,如图8所示。
哈希索引轮选模块122,用于按照预设时间间隔和预设的选择规则,轮换选择预配置的哈希表中设定个数的哈希索引,并标记当前选择的哈希索引;所述丢包筛选条件包括TCP数据流的哈希值为当前标记的哈希索引中的一个,其中,TCP数据流的哈希值为通过所述哈希表对应的哈希函数,对TCP数据流的唯一标识进行哈希计算得到的值。
本发明一可选实施例中,数据传输控制装置100还包括第二条件调整模块。
第二条件调整模块,用于按照第二预设周期确定队列缓存中的缓存队列长度,根据缓存队列长度调整设定个数,其中,设定个数与缓存队列长度呈正相关变化。
本发明一可选实施例中,选择规则包括顺序循环选择。
本发明一可选实施例中,TCP数据流的唯一标识为TCP数据流的五元组,或根据预设算法对TCP数据流的五元组进行计算得到的唯一标识。
本发明一可选实施例中,数据传输控制装置100还包括所属TCP数据流确定模块。
所属TCP数据流确定模块,用于在确定IP数据包所属的TCP数据流是否满足预设的丢包筛选条件之前,根据IP数据包的五元组确定IP数据包所属的TCP数据流。
本发明一可选实施例中,丢包策略包括RED算法。
本发明一可选实施例中,数据处理模块120,还用于在确定不丢弃IP数据包时,将IP数据包存储到队列缓存中。
可以理解的是,根据本发明数据传输控制装置100,可对应于根据本发明实施例的数据传输控制方法中的执行主体,实现数据传输控制装置100中的各个模块的操作和/或功能是分别是为了实现本发明实施例的数据传输控制方法中的相应流程,为了简洁,在此不再赘述。
图9是根据本发明一实施例的网络传输设备200的示意性框图。如图9所示,网络传输设备200包括处理器201、存储器202和通信接口203,存储器202用于存储可执行的程序代码,处理器201通过读取存储器202中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行本发明上述任一实施例的数据传输控制方法。通信接口203用于与外部设备通信,网络传输设备200还可以包括总线204,总线204用于连接处理器201、存储器 202和通信接口203,使处理器201、存储器202和通信接口203通过总线204进行相互通信。
根据本发明实施例的网络传输设备200,可对应于根据本发明实施例的数据传输控制方法中的执行主体,并且网络传输设备200中的各个模块的操作和/或功能分别为了实现本发明各实施例中的方法的相应流程,为了简洁,在此不再赘述。
本发明实施例还提供了一种计算机可读存储介质,该可读存储介质中存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行本发明上述任一实施例中的数据传输控制方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)) 或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质例如,固态硬盘(Solid State Disk,SSD)等。
Claims (25)
1.一种数据传输控制方法,所述方法由网络传输设备执行,其特征在于,所述方法包括:
接收待处理因特网协议IP数据包;
确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件;
若所述第一TCP数据流满足所述丢包筛选条件,则在根据预设的丢包策略确定要丢弃所述IP数据包时,将所述待处理IP数据包丢弃;
若所述第一TCP数据流不满足所述丢包筛选条件,则将所述待处理IP数据包存储到所述网络传输设备的队列缓存中。
2.根据权利要求1所述的方法,其特征在于,
所述确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件,包括:
确定所述第一TCP数据流的流状态信息是否满足预设条件;
其中,所述第一TCP数据流的流状态信息包括所述第一TCP数据流的速率表征值,所述预设条件包括速率表征值大于设定值,所述第一TCP数据流的速率表征值用于表征所述第一TCP数据流的传输速率。
3.根据权利要求2所述的方法,其特征在于,所述第一TCP数据流的速率表征值为预设时长内存储到所述队列缓存中的属于所述第一TCP数据流的IP数据包的数据量。
4.根据权利要求2或3所述的方法,其特征在于,所述第一TCP数据流的流状态信息还包括所述第一TCP数据流最近一次被选中的时间,所述预设条件还包括选中时差大于第一设置时长;
其中,所述第一TCP数据流被选中是指所述第一TCP数据流满足所述丢包筛选条件,所述第一TCP数据流的选中时差为所述待处理IP数据包的接收时间与所述第一TCP数据流最近一次被选中的时间的差值。
5.根据权利要求2或3中任一项所述的方法,其特征在于,
所述第一TCP数据流的流状态信息还包括所述第一TCP数据流被连续选中的时长,所述预设条件还包括TCP数据流被连续选中的时长小于第二设置时长;
其中,所述第一TCP数据流被选中是指所述第一TCP数据流满足所述丢包筛选条件,所述第一TCP数据流被连续选中的时长,为所述待处理IP数据包的接收时间与所述第一TCP数据流在所述待处理IP数据包的接收时间之前被连续选中的最早一次被选中时间之间的时长。
6.根据权利要求2至5中任一项所述的方法,其特征在于,所述方法还包括:
按照第一预设周期确定所述队列缓存中的缓存队列长度;
根据所述缓存队列长度调整所述设定值,其中,所述设定值与所述缓存队列长度呈负相关变化。
7.根据权利要求2至6中任一项所述的方法,其特征在于,所述确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件,包括:
根据所述待处理IP数据包所属的第一TCP数据流的唯一标识查询流状态信息表,得到所述第一TCP数据流的流状态信息,所述流状态信息表用于以TCP数据流的唯一标识为索引存储每个TCP数据流的流状态信息;
根据所述第一TCP数据流的流状态信息,确定所述第一TCP数据流是否满足所述丢包筛选条件。
8.根据权利要求7所述的方法,其特征在于,若所述第一TCP数据流的流状态信息包括所述第一TCP数据流最近一次被选中的时间,确定所述待处理IP数据包所属的第一TCP数据流满足预设的丢包筛选条件之后,所述方法还包括:
将所述流状态信息表中所述第一TCP数据流的最近一次被选中的时间更新为确定所述待处理IP数据包所属的第一TCP数据流满足所述丢弃筛选条件的时间或者更新为所述待处理IP数据包的接收时间。
9.根据权利要求1所述的方法,其特征在于,所述丢包筛选条件包括TCP数据流的唯一标识为预设置的数据流标识中的一个,所述预配置的数据流标识包括所述队列缓存中存储的TCP数据流中的至少一个TCP数据流的唯一标识。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
按照预设时间间隔和预设的选择规则,轮换选择预配置的哈希表中设定个数的哈希索引,并标记当前选择的哈希索引;
所述丢包筛选条件包括TCP数据流的哈希值为当前标记的哈希索引中的一个,其中,TCP数据流的哈希值为通过所述哈希表所对应的哈希函数,对TCP数据流的唯一标识进行哈希计算得到的值。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
按照第二预设周期确定所述队列缓存中的缓存队列长度;
根据所述缓存队列长度调整所述设定个数,其中,所述设定个数与所述缓存队列长度呈正相关变化。
12.根据权利要求10所述的方法,其特征在于,所述选择规则包括顺序循环选择。
13.根据权利要求7至12中任一项所述的方法,其特征在于,TCP数据流的唯一标识为TCP数据流的五元组,或根据预设算法对TCP数据流的五元组进行计算得到的唯一标识。
14.根据权利要求1至13中任一项所述的方法,其特征在于,所述确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件之前,还包括:
根据所述待处理IP数据包的五元组确定所述IP数据包所属的第一TCP数据流。
15.根据权利要求1至14中任一项所述的方法,其特征在于,所述丢包策略包括随机早检测RED算法。
16.一种数据传输控制装置,其特征在于,所述装置包括:
数据接收模块,用于接收待处理因特网协议IP数据包;
数据处理模块,用于确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件,若所述第一TCP数据流满足所述丢包筛选条件,则在根据预设的丢包策略确定要丢弃所述待处理IP数据包时,将所述待处理IP数据包丢弃,若所述第一TCP数据流不满足所述丢包筛选条件,则将所述待处理IP数据包存储到所述网络传输设备的队列缓存中。
17.根据权利要求16所述的装置,其特征在于,所述数据处理模块在确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件时,具体用于:
确定所述第一TCP数据流的流状态信息是否满足预设条件;
其中,所述第一TCP数据流的流状态信息包括所述第一TCP数据流的速率表征值,所述预设条件包括速率表征值大于设定值,所述第一TCP数据流的速率表征值用于表征所述第一TCP数据流的传输速率。
18.根据权利要求17所述的装置,其特征在于,所述第一TCP数据流的速率表征值为预设时长内存储到所述队列缓存中的属于所述第一TCP数据流的IP数据包的数据量。
19.根据权利要求17或18所述的装置,其特征在于,所述第一TCP数据流的流状态信息还包括所述第一TCP数据流最近一次被选中的时间,所述预设条件还包括选中时差大于第一设置时长;
其中,所述第一TCP数据流被选中是指所述第一TCP数据流满足所述丢包筛选条件,所述第一TCP数据流的选中时差为所述待处理IP数据包的接收时间与所述第一TCP数据流最近一次被选中的时间的差值。
20.根据权利要求17或18所述的装置,其特征在于,
所述第一TCP数据流的流状态信息还包括所述第一TCP数据流被连续选中的时长,所述预设条件还包括TCP数据流被连续选中的时长小于第二设置时长;
其中,所述第一TCP数据流被选中是指所述第一TCP数据流满足所述丢包筛选条件,所述第一TCP数据流被连续选中的时长,为所述待处理IP数据包的接收时间与所述第一TCP数据流在所述待处理IP数据包的接收时间之前被连续选中的最早一次被选中时间之间的时长。
21.根据权利要求17至20中任一项所述的装置,其特征在于,所述数据处理模块在确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件时,具体用于:
根据所述待处理IP数据包所属的第一TCP数据流的唯一标识查询流状态信息表,得到所述第一TCP数据流的流状态信息,所述流状态信息表用于以TCP数据流的唯一标识为索引存储每个TCP数据流的流状态信息;
根据所述第一TCP数据流的流状态信息,确定所述第一TCP数据流是否满足所述丢包筛选条件。
22.根据权利要求16所述的装置,其特征在于,所述丢包筛选条件包括TCP数据流的唯一标识为预设置的数据流标识中的一个,所述预配置的数据流标识包括所述队列缓存中存储的TCP数据流中的至少一个TCP数据流的唯一标识。
23.根据权利要求16所述的装置,其特征在于,所述装置还包括:
哈希索引轮选模块,用于按照预设时间间隔和预设的选择规则,轮换选择预配置的哈希表中设定个数的哈希索引,并标记当前选择的哈希索引;
所述丢包筛选条件包括TCP数据流的哈希值为当前标记的哈希索引中的一个,其中,TCP数据流的哈希值为通过所述哈希表对应的哈希函数,对TCP数据流的唯一标识进行哈希计算得到的值。
24.一种网络传输设备,其特征在于,所述设备包括存储器和处理器;
所述存储器用于存储可执行的计算机程序代码;
所述处理器用于读取所述计算机程序代码来运行与所述计算机程序代码对应的计算机程序,以用于执行如权利要求1至15中任一项所述的数据传输控制方法。
25.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求1至15中任一项所述的数据传输控制方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810129482.9A CN110138678B (zh) | 2018-02-08 | 2018-02-08 | 数据传输控制方法和装置、以及网络传输设备和存储介质 |
PCT/CN2018/124103 WO2019153931A1 (zh) | 2018-02-08 | 2018-12-27 | 数据传输控制方法和装置、以及网络传输设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810129482.9A CN110138678B (zh) | 2018-02-08 | 2018-02-08 | 数据传输控制方法和装置、以及网络传输设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110138678A true CN110138678A (zh) | 2019-08-16 |
CN110138678B CN110138678B (zh) | 2023-02-24 |
Family
ID=67547899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810129482.9A Active CN110138678B (zh) | 2018-02-08 | 2018-02-08 | 数据传输控制方法和装置、以及网络传输设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110138678B (zh) |
WO (1) | WO2019153931A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112235829A (zh) * | 2020-10-15 | 2021-01-15 | 展讯通信(上海)有限公司 | 数据传输方法、设备和存储介质 |
CN112532444A (zh) * | 2020-11-26 | 2021-03-19 | 上海阅维科技股份有限公司 | 用于网络镜像流量的数据流采样方法、系统、介质及终端 |
WO2022111329A1 (zh) * | 2020-11-25 | 2022-06-02 | 华为技术有限公司 | 报文处理方法及设备 |
CN115085890A (zh) * | 2022-06-23 | 2022-09-20 | 杭州云合智网技术有限公司 | 数据中心网络芯片优化tcp rto重传等待时间的方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115550250B (zh) * | 2022-11-17 | 2023-04-07 | 鹏城实验室 | 小流报文重传方法、系统、电子设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6515963B1 (en) * | 1999-01-27 | 2003-02-04 | Cisco Technology, Inc. | Per-flow dynamic buffer management |
CN1852134A (zh) * | 2005-07-05 | 2006-10-25 | 华为技术有限公司 | 一种对bt客户端数据传输的控制方法 |
CN102904826A (zh) * | 2012-09-28 | 2013-01-30 | 华为技术有限公司 | 流量负载分担的方法及设备 |
CN103188166A (zh) * | 2013-03-20 | 2013-07-03 | 苏州云初网络技术有限公司 | 使用tcp-自意识随机早期检测的流量控制方法 |
CN103229466A (zh) * | 2012-12-27 | 2013-07-31 | 华为技术有限公司 | 一种数据包传输的方法及装置 |
US20140283057A1 (en) * | 2013-03-15 | 2014-09-18 | Mehdi Mahvi | Tcp validation via systematic transmission regulation and regeneration |
CN104394090A (zh) * | 2014-11-14 | 2015-03-04 | 北京航空航天大学 | 一种采用dpi对数据包进行网络流分类的sdn控制器 |
CN105472532A (zh) * | 2014-09-09 | 2016-04-06 | 中兴通讯股份有限公司 | 一种传输数据的方法和装置 |
CN105684396A (zh) * | 2013-11-27 | 2016-06-15 | 英特尔公司 | 无线系统中的tcp流量自适应 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7729249B2 (en) * | 2007-07-16 | 2010-06-01 | Microsoft Corporation | Systems and methods for improving TCP-friendliness of delay-based congestion control |
CN101527679B (zh) * | 2009-03-12 | 2010-12-29 | 上海交通大学 | 基于适应性随机延迟的tcp/ip网络隐蔽时间信道干扰方法 |
CN102868576B (zh) * | 2012-09-26 | 2015-05-13 | 电子科技大学 | 宽带网用户接入链路下行丢包率测量方法 |
US8711690B2 (en) * | 2012-10-03 | 2014-04-29 | LiveQoS Inc. | System and method for a TCP mapper |
-
2018
- 2018-02-08 CN CN201810129482.9A patent/CN110138678B/zh active Active
- 2018-12-27 WO PCT/CN2018/124103 patent/WO2019153931A1/zh active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6515963B1 (en) * | 1999-01-27 | 2003-02-04 | Cisco Technology, Inc. | Per-flow dynamic buffer management |
CN1852134A (zh) * | 2005-07-05 | 2006-10-25 | 华为技术有限公司 | 一种对bt客户端数据传输的控制方法 |
CN102904826A (zh) * | 2012-09-28 | 2013-01-30 | 华为技术有限公司 | 流量负载分担的方法及设备 |
CN103229466A (zh) * | 2012-12-27 | 2013-07-31 | 华为技术有限公司 | 一种数据包传输的方法及装置 |
US20140283057A1 (en) * | 2013-03-15 | 2014-09-18 | Mehdi Mahvi | Tcp validation via systematic transmission regulation and regeneration |
CN103188166A (zh) * | 2013-03-20 | 2013-07-03 | 苏州云初网络技术有限公司 | 使用tcp-自意识随机早期检测的流量控制方法 |
CN105684396A (zh) * | 2013-11-27 | 2016-06-15 | 英特尔公司 | 无线系统中的tcp流量自适应 |
CN105472532A (zh) * | 2014-09-09 | 2016-04-06 | 中兴通讯股份有限公司 | 一种传输数据的方法和装置 |
CN104394090A (zh) * | 2014-11-14 | 2015-03-04 | 北京航空航天大学 | 一种采用dpi对数据包进行网络流分类的sdn控制器 |
Non-Patent Citations (1)
Title |
---|
王富良等: "基于BP神经网络的TCP协议改进研究", 《微计算机信息》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112235829A (zh) * | 2020-10-15 | 2021-01-15 | 展讯通信(上海)有限公司 | 数据传输方法、设备和存储介质 |
WO2022111329A1 (zh) * | 2020-11-25 | 2022-06-02 | 华为技术有限公司 | 报文处理方法及设备 |
CN112532444A (zh) * | 2020-11-26 | 2021-03-19 | 上海阅维科技股份有限公司 | 用于网络镜像流量的数据流采样方法、系统、介质及终端 |
CN112532444B (zh) * | 2020-11-26 | 2023-02-24 | 上海阅维科技股份有限公司 | 用于网络镜像流量的数据流采样方法、系统、介质及终端 |
CN115085890A (zh) * | 2022-06-23 | 2022-09-20 | 杭州云合智网技术有限公司 | 数据中心网络芯片优化tcp rto重传等待时间的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2019153931A1 (zh) | 2019-08-15 |
CN110138678B (zh) | 2023-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110138678A (zh) | 数据传输控制方法和装置、以及网络传输设备和存储介质 | |
US8665892B2 (en) | Method and system for adaptive queue and buffer control based on monitoring in a packet network switch | |
US8976669B2 (en) | Switch fabric end-to-end congestion avoidance mechanism | |
US9819608B2 (en) | Method and system for resource coherency and analysis in a network | |
US7426181B1 (en) | Slow-start adaptive mechanisms to improve efficiency of bandwidth allocation | |
EP2540042B1 (en) | Communication transport optimized for data center environment | |
CN103905328B (zh) | 一种数据传输控制系统、方法及相关装置 | |
US7203167B2 (en) | Data flow control method | |
CN106062726B (zh) | 用于数据中心交换机的流感知缓冲区管理 | |
US8891543B1 (en) | Method and system for processing packets in a network device | |
US20030108045A1 (en) | Methods and apparatus for partially reordering data packets | |
EP0829986A1 (en) | System for improving data throughput of a TCP/IP Network connection with slow return channel | |
CN108418767A (zh) | 数据传输方法、设备及计算机存储介质 | |
EP3332519B1 (en) | Data packet network | |
CN110166367A (zh) | 一种分组网络中控制流量的方法及装置 | |
CA2299041A1 (en) | Method and apparatus for forecasting and controlling congestion in a data transport network | |
JP2002223240A (ja) | 重み付きランダムアーリディテクションバッファアドミッタンスアルゴリズムの近似方法 | |
US20050144309A1 (en) | Systems and methods for controlling congestion using a time-stamp | |
CN108494698A (zh) | 一种基于传输速率的拥塞控制方法 | |
US8989011B2 (en) | Communication over multiple virtual lanes using a shared buffer | |
CN104995883B (zh) | 用信号通知拥塞的方法 | |
CN104052676B (zh) | 一种发送通路装置及发送通路的数据处理方法 | |
Kozačinski et al. | Configuration of quality of service parameters in communication networks | |
EP3108631B1 (en) | Buffer bloat control | |
Szilágyi et al. | Efficient LTE PDCP buffer management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |