一种确定丢包原因的方法和终端技术

技术编号:10315776 阅读:109 留言:0更新日期:2014-08-13 17:22
本发明专利技术实施例提供一种确定丢包原因的方法和终端,涉及通信领域,能够简单高效地确定丢包类型,以便根据丢包类型做相应的调整。其方法为:确定传输控制协议TCP发送窗口产生的丢包的数量,当丢包的数量大于门限值时,确定TCP发送窗口因拥塞而产生丢包,门限值为1、2或3,当TCP发送窗口产生的全部丢包的数量不大于门限值时,确定TCP发送窗口因拥塞以外的原因而产生丢包,根据丢包原因对拥塞控制窗口和慢启动阈值进行调整。本发明专利技术实施例用于确定丢包原因。

【技术实现步骤摘要】
一种确定丢包原因的方法和终端
本专利技术涉及通信领域,尤其涉及一种确定丢包原因的方法和终端。
技术介绍
在互联网中,随着信息传送量的逐渐增大和网络组成的日益复杂,网络发生拥塞的可能性越来越大。TCP (Transmission Control Protocol,传输控制协议)拥塞控制机制可以通过对网络容量进行探测,调整本地的拥塞控制窗口。为了提升TCP在无线网络、有线/无线混合网络中的端到端传输速率,现有的优化方法主要分为以下两类:一是基于宽带估计的方法:以Westwood算法为代表,通过在发送端持续检测接收端发送的ACK (Acknowledgement,确认字符)的到达速率,来获取端到端的BWE (BandwidthEstimation,有效带宽估计),在发送端检测到丢包时,根据网络的有效宽带自适应的降低拥塞窗口,以此来提高网络传输效率;二是基于拥塞队列估计的方法:以Veno算法为代表,Veno算法可以对丢包进行明显的区分,它通过计算理想的网络传输速率和实际传输速率之差,来间接估计出瓶颈链路处的拥塞队列长度,并根据拥塞队列长度来区分拥塞丢包和链路随机丢包,从而适当的调整拥塞窗口大小来提高网络传输效率。其中,在基于宽带估计的方法中,需要准确的估计BWE,对时间精度要求高,因此We s two ο d算法要求T CP支持时间戳选项,而当遇到对端不支持时间戳选项时,该算法的性能就会降低。且该算法在实现过程中,需要用到滤波、除法等,在基于FPGA (Field-Programmable Gate Array,现场可编程门阵列)的实现中,占用资源多,实现起来比较困难。同样,Veno算法要获取RTT (平滑的往返时延)或BaseRTT (最小平滑往返时延),也需要时间戳的支持,且该算法也包含除法,基于FPGA实现较为困难。其次,Veno算法还涉及拥塞队列长度阈值的选择,在不同的网络环境中,需要调整拥塞队列长度阈值,若拥塞队列长度阈值取值不当,对识别丢包类型有较大影响,从而影响TCP性能。
技术实现思路
本专利技术的实施例提供一种确定丢包原因的方法和终端,以便能够高效地确定丢包类型。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,提供一种确定丢包原因的方法,包括:确定传输控制协议TCP发送窗口产生的丢包的数量;当所述丢包的数量大于门限值时,确定所述TCP发送窗口因拥塞而产生所述丢包,所述门限值为1、2或3。结合第一方面,在第一方面的第一种可能实现的方式中,当所述TCP发送窗口产生的全部丢包的数量不大于所述门限值时,确定TCP发送窗口因拥塞以外的原因而产生所述丢包。结合第一方面或第一方面的第一种可能实现的方式,在第一方面的第二种可能实现的方式中,所述产生所述丢包包括:若接收到规定数量的重复的TCP响应ACK,则确定产生所述丢包;或若重传定时器超时,则确定产生所述丢包。结合第一方面或第一方面的第一种可能实现的方式或第二种可能实现的方式,在第一方面的第三种可能实现的方式中,所述确定TCP发送窗口产生的丢包的数量包括:确定所述TCP发送窗口丢掉了第一丢失TCP包,所述第一丢失TCP包为所述TCP发送窗口丢掉的TCP包中在顺序上第一个被丢掉的TCP包;获取恢复序号,所述恢复序号为所述TCP发送窗口在确定所述TCP发送窗口丢掉了第一丢失TCP包时已发送的TCP包中的最大发送序号与I的和;向接收端重传所述第一丢失TCP包;接收第一 TCP响应ACK,所述第一 TCP ACK为所述接收端针对接收到的所述第一丢失TCP包发送的ACK ;确定所述第一 TCP ACK的确认序号是否小于所述恢复序号;若所述第一 T CP ACK的确认序号小于所述恢复序号,则确定所述TCP发送窗口丢掉了第二丢失TCP包,所述第二丢失TCP包为所述TCP发送窗口丢掉的TCP包中在顺序上第二个被丢掉的TCP包。结合第一方面或第一方面的第三种可能实现的方式,在第一方面的第四种可能实现的方式中,所述确定TCP发送窗口的丢包数量还包括:在确定所述TCP发送窗口丢掉了第η丢失TCP包后,向所述接收端重传所述第η丢失TCP包,所述第η丢失TCP包为所述TCP发送窗口丢掉的TCP包中在顺序上第η个被丢掉的TCP包;接收第n TCP ACK,所述第n TCP ACK为所述接收端针对接收到的所述第n丢失TCP包发送的ACK ;确定所述第n TCP ACK的确认序号是否小于所述恢复序号;若所述第n TCP ACK的确认序号小于所述恢复序号,则确定所述TCP发送窗口丢掉了第n+1丢失TCP包,所述第n+1丢失TCP包为所述TCP发送窗口丢掉的TCP包中的第n+1个被丢掉的TCP包,其中η为自然数,且η ≥2。结合第一方面或第一方面的第二种可能实现的方式至第四种可能实现的方式,在第一方面的第五种可能实现的方式中,当接收到规定数量的重复的TCP ACK时,若确定所述TCP发送窗口因拥塞而产生所述丢包,则将拥塞控制窗口减半来获取调整后的拥塞控制窗口,并将慢启动阈值减半来获取调整后的慢启动阈值;若确定TCP发送窗口因拥塞以外的原因而产生所述丢包,则将所述拥塞控制窗口与乘法减小因子相乘,来获取调整后的拥塞控制窗口,并将所述慢启动阈值与所述乘法减小因子相乘,来获取调整后的慢启动阈值。结合第一方面或第一方面的第二种可能实现的方式至第四种可能实现的方式,在第一方面的第六种可能实现的方式中,当重传定时器超时时,若确定所述TCP发送窗口因拥塞而产生所述丢包,将所述拥塞控制窗口降为I,并将所述拥塞控制窗口减半后的值作为调整后的慢启动阈值;若确定TCP发送窗口因拥塞以外的原因而产生所述丢包,则将所述拥塞控制窗口降为I,并将所述拥塞控制窗口与所述乘法减小因子相乘,将相乘后的拥塞控制窗口的值作为调整后的慢启动阈值。第二方面,提供一种终端,包括:数量确定单元,用于确定传输控制协议TCP发送窗口产生的丢包的数量;丢包分析单元,用于当所述丢包的数量大于门限值时,确定所述TCP发送窗口因拥塞而产生所述丢包,所述门限值为1、2或3。结合第二方面,在第二方面的第一种可能实现的方式中,所述丢包分析单元还用于当所述TCP发送窗口产生的全部丢包的数量不大于所述门限值时,确定TCP发送窗口因拥塞以外的原因而产生所述丢包。结合第二方面或第二方面的第一种可能实现,在第二方面的方式的第二种可能实现的方式中,包括:丢包检测单元,用于若接收到规定数量的重复的TCP响应ACK,则确定产生所述丢包;或若重传定时器超时,则确定产生所述丢包。结合第一方面或第一方面的第一种可能实现的方式或第二种可能实现的方式,在第二方面的第三种可能实现 的方式中,所述数量确定单元具体包括:第一确定子单元,用于确定所述TCP发送窗口丢掉了第一丢失TCP包,所述第一丢失TCP包为所述TCP发送窗口丢掉的TCP包中在顺序上第一个被丢掉的TCP包;序号获取子单元,用于获取恢复序号,所述恢复序号为所述TCP发送窗口在确定所述TCP发送窗口丢掉了第一丢失TCP包时已发送的TCP包中的最大发送序号与I的和;第一重传子单元,用于向接收端重传所述第一丢失TCP包;第一响应子单元,用于接收第一 TCP响应ACK,所述第一 TCPACK为所述接收端针对接收本文档来自技高网
...
一种确定丢包原因的方法和终端

【技术保护点】
一种确定丢包原因的方法,其特征在于,所述方法包括:确定传输控制协议TCP发送窗口产生的丢包的数量;当所述丢包的数量大于门限值时,确定所述TCP发送窗口因拥塞而产生所述丢包,所述门限值为1、2或3。

【技术特征摘要】
1.一种确定丢包原因的方法,其特征在于,所述方法包括: 确定传输控制协议TCP发送窗口产生的丢包的数量; 当所述丢包的数量大于门限值时,确定所述TCP发送窗口因拥塞而产生所述丢包,所述门限值为1、2或3。2.根据权利要求1所述的方法,其特征在于,当所述TCP发送窗口产生的全部丢包的数量不大于所述门限值时,确定TCP发送窗口因拥塞以外的原因而产生所述丢包。3.根据权利要求1或2所述的方法,其特征在于,所述产生所述丢包包括: 若接收到规定数量的重复的TCP响应ACK,则确定产生所述丢包;或 若重传定时器超时,则确定产生所述丢包。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述确定TCP发送窗口产生的丢包的数量包括: 确定所述TCP发送窗口丢掉了第一丢失TCP包,所述第一丢失TCP包为所述TCP发送窗口丢掉的TCP包中在顺序上第一个被丢掉的TCP包; 获取恢复序号,所述恢复序号为所述TCP发送窗口在确定所述TCP发送窗口丢掉了第一丢失TCP包时已发送的TCP包中的最大发送序号与I的和; 向接收端重传所述第一丢失TCP包; 接收第一 TCP响应ACK,所述第一 TCP ACK为所述接收端针对接收到的所述第一丢失TCP包发送的ACK ; 确定所述第一 TCP ACK的确认序号是否小于所述恢复序号; 若所述第一 TCP ACK的确认序号小于所述恢复序号,则确定所述TCP发送窗口丢掉了第二丢失TCP包,所述第二丢失TCP包为所述TCP发送窗口丢掉的TCP包中在顺序上第二个被丢掉的TCP包。5.根据权利要求4所述的方法,其特征在于,所述确定TCP发送窗口的丢包数量还包括: 在确定所述TCP发送窗口丢掉了第η丢失TCP包后,向所述接收端重传所述第η丢失TCP包,所述第η丢失TCP包为所述TCP发送窗口丢掉的TCP包中在顺序上第η个被丢掉的TCP 包; 接收第n TCP ACK,所述第n TCP ACK为所述接收端针对接收到的所述第n丢失TCP包发送的ACK ; 确定所述第n TCP ACK的确认序号是否小于所述恢复序号; 若所述第n TCP ACK的确认序号小于所述恢复序号,则确定所述TCP发送窗口丢掉了第n+1丢失TCP包,所述第n+1丢失TCP包为所述TCP发送窗口丢掉的TCP包中的第n+1个被丢掉的TCP包,其中η为自然数,且η≥2。6.根据权利要求3至5任意一项所述的方法,其特征在于,当接收到规定数量的重复的TCPACK 时, 若确定所述TCP发送窗口因拥塞而产生所述丢包,则将拥塞控制窗口减半来获取调整后的拥塞控制窗口,并将慢启动阈值减半来获取调整后的慢启动阈值; 若确定TCP发送窗口因拥塞以外的原因而产生所述丢包,则将所述拥塞控制窗口与乘法减小因子相乘,来获取调整后的拥塞控制窗口,并将所述慢启动阈值与所述乘法减小因子相乘,来获取调整后的慢启动阈值。7.根据权利要求3至5任意一项所述的方法,其特征在于,当重传定时器超时, 若确定所述TCP发送窗口因拥塞而产生所述丢包,将所述拥塞控制窗口降为I,并将所述拥塞控制窗口减半后的值作为调整后的慢启动阈值; 若确定TCP发送窗口因拥塞以外的原因而产生所述丢包,则将所述拥塞控制窗口降为1,并将所述拥塞控制窗口与所述乘法减小因子相乘,将相乘后的拥塞控制窗口的值作为调整后的慢启动阈值。8.—种终端,其特征在于,包括: 数量确定单元,用于确定传输控制协议TCP发送窗口产生的丢包...

【专利技术属性】
技术研发人员:罗海胡新宇魏启坤谢于明
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1