一种TCP报文出错信息的获取方法和装置制造方法及图纸

技术编号:12474735 阅读:76 留言:0更新日期:2015-12-10 10:21
本发明专利技术实施例提供了一种TCP报文出错信息的获取方法和装置,其中,所述方法包括:在预置的分析点实时获取TCP报文;根据当前TCP报文和在先TCP报文,提取重传TCP报文;获取重传TCP报文对应的关联参数;关联参数包括在所述重传TCP报文经过所述分析点前,与重传TCP报文对应的确认字符ACK个数;当关联参数满足第一预设条件时,确定所述重传TCP报文的出错信息为由超时导致重传的信息。本发明专利技术实施例可以准确、及时获取重传TCP报文的出错信息,避免了事后抓取无法准确获知重传TCP报文出错信息的问题。

【技术实现步骤摘要】

本专利技术涉及网络通信
,特别是涉及一种TCP报文出错信息的获取方法和一种TCP报文出错信息的获取装置。
技术介绍
TCP/IP协议由网络层的IP协议(Internet Protocol,网络之间互联的协议)和传输层的TCP协议(Transmiss1n Control Protocol,传输控制协议)组成,IP协议是一种无连接的、不可靠的通信协议,TCP协议是一种基于IP协议的面向连接的、可靠的传输协议,为应用层提供可靠的传输服务。为了确保数据传输的可靠性,TCP协议采用重传和应答机制。在数据的传输过程中,当出现丢包、乱序和超时等异常传输状态时,发送端会对出现异常传输状态的TCP报文进行重新发送。TCP协议的数据重传意味着对于同一 TCP报文进行了重复的发送,这就额外占用了不必要的网络宽带和流量,当出现大量的数据重传时,将严重影响网络的传输性能,大幅度降低网络的传输效率。一旦出现网络的传输效率低下的问题时,确定导致TCP报文重传的原因,即确定TCP报文的出错信息是解决问题的关键。在在先技术中,通常的做法是,在传输效率低下的问题出现后,一次性抓取一定量的TCP报文,采用第三方工具(如SmartBit、WireShark、Sniffer等工具)对抓取的TCP报文进行分析,从而确定TCP报文的出错信息。由于在先技术是在重传问题出现后再抓取TCP报文,因而,只有当导致重传的原因连续重复出现时,才能够得到相对可靠的分析结果,然而,在实际应用中,重传问题在多数情况下并非是连续重复出现的,当重传问题在抓取TCP报文的过程中并没有出现时,对重传问题出现后再抓取TCP报文进行分析,显然无法准确确定TCP报文的出错信息。
技术实现思路
本专利技术实施例所要解决的技术问题是提供一种TCP报文出错信息的获取方法,用以准确获知TCP报文的出错信息。相应的,本专利技术实施例还提供了一种TCP报文出错信息的获取装置,用以保证上述方法的实现及应用。为了解决上述问题,本专利技术实施例公开了一种TCP报文出错信息的获取方法,包括:在预置的分析点实时获取TCP报文;所获取的TCP报文包括当前TCP报文和在先TCP报文;根据所述当前TCP报文和所述在先TCP报文,提取重传TCP报文;获取所述重传TCP报文对应的关联参数;所述关联参数包括在所述重传TCP报文经过所述分析点前,与所述重传TCP报文对应的确认字符ACK个数;当所述关联参数满足第一预设条件时,确定所述重传TCP报文的出错信息为由超时导致重传的信息;所述第一预设条件包括所述确认字符ACK个数小于第一阈值。优选的,所述关联参数包括当所述重传TCP报文经过所述分析点前,所述重传TCP报文对应的原始TCP报文是否经过分析点的信息;所述方法还包括:当所述关联参数满足第二预设条件时,确定所述重传TCP报文的出错信息为在所述分析点上游丢包导致重传的信息;所述第二预设条件包括所述确认字符ACK个数大于或等于所述第一阈值,以及,所述原始TCP报文没有经过所述分析点。优选的,所述方法还包括:从所述在先TCP报文中提取第一乱序TCP报文,并统计所述第一乱序TCP报文的TCP报文乱序个数;从所提取的第一乱序TCP报文中,获取与所述重传TCP报文对应的第二乱序TCP报文;当所述关联参数满足第三预设条件,并且,所述第二乱序TCP报文的TCP报文乱序个数大于或等于第二阈值时,确定所述重传TCP报文的出错信息为在所述分析点上游严重乱序导致重传的信息;所述第三预设条件包括所述确认字符ACK个数大于或等于所述第一阈值,以及,所述原始TCP报文经过所述分析点。优选的,所述方法还包括: 当所述关联参数满足所述第三预设条件,并且,所述第二乱序TCP报文的TCP报文乱序个数小于所述第二阈值时,确定所述重传TCP报文的出错信息为在所述分析点下游丢包导致重传的信息。优选的,所述根据所述当前TCP报文和所述在先TCP报文,提取重传TCP报文的步骤包括:从所述当前TCP报文中提取第一传输队列号TSN,第一 IP标识IPID,以及,从所述在先TCP报文中提取第一传输队列号最大值TSNmax,并将所述第一传输队列号最大值TSNmax对应的IP标识IPID记为第一 IP标识最大值IPIDmax;当所述第一传输队列号TSN小于所述第一传输队列号最大值TSNmax,以及,所述第一IP标识IPID大于所述第一 IP标识最大值IPIDmax时,提取所述当前TCP报文作为重传TCP报文;或者,当所述第一传输队列号TSN大于所述第一传输队列号最大值TSNmax,以及,所述第一 IP标识IPID小于所述第一 IP标识最大值IPIDmax时,提取所述当前TCP报文的前一个TCP报文作为重传TCP报文。优选的,所述在先TCP报文包括第一 TCP报文和第二 TCP报文,所述第二 TCP报文包括在获取所述第一 TCP报文前获取的所有TCP报文,所述从所述在先TCP报文中提取第一乱序TCP报文,并统计所述第一乱序TCP报文的TCP报文乱序个数的步骤包括:从所述第一 TCP报文中提取第二传输队列号TSN,第二 IP标识IPID,以及,从所述第二 TCP报文中提取第二传输队列号最大值TSNmax,并将所述第二传输队列号最大值TSNmax对应的IP标识IPID记为第二 IP标识最大值IPIDmax;当所述第二传输队列号TSN小于所述第二传输队列号最大值TSNmax,以及,所述第二IP标识IPID小于所述第二 IP标识最大值IPIDmax时,提取所述第一 TCP报文作为第一乱序TCP报文;统计从所述第二传输队列号TSN的下一个传输队列号TSN,至所述第二传输队列号最大值TSNmax中,所有传输队列号TSN对应的TCP报文的个数;将统计获取的TCP报文的个数作为所述第一乱序TCP报文的TCP报文乱序个数。本专利技术实施例还公开了一种TCP报文出错信息的获取装置,包括:TCP报文获取模块,用于在预置的分析点实时获取TCP报文;所获取的TCP报文包括当前TCP报文和在先TCP报文;重传TCP报文提取模块,用于根据所述当前TCP报文和所述在先TCP报文,提取重传TCP报文;关联参数获取模块,用于获取所述重传TCP报文对应的关联参数;所述联参数包括在所述重传TCP报文经过所述分析点前,与所述重传TCP报文对应的确认字符ACK个数;第一出错信息确定模块,用于当所述关联参数满足第一预设条件时,确定所述重传TCP报文的出错信息为由超时导致重传的信息;所述第一预设条件包括所述确认字符ACK个数小于第一阈值。优选的,所述关联参数包括当所述重传TCP报文经过所述分析点前,所述重传TCP报文对应的原始TCP报文是否经过分析点的信息;所述装置还包括:第二出错信息确定模块,用于当所述关联参数满足第二预设条件时,确定所述重传TCP报文的出错信息为在所述分析点上游丢包导致重传的信息;所述第二预设条件包括所述确认字符ACK个数大于或等于所述第一阈值,以及,所述原始TCP报文没有经过所述分析点。优选的,所述装置还包括:第一乱序TCP报文提取模块,用于从所述在先TCP报文中提取第一乱序TCP报文,并统计所述第一乱序TCP报文的TCP报文乱序个数;第二乱序TCP报文获取模块,用于从所提取的第一乱序T本文档来自技高网
...

【技术保护点】
一种TCP报文出错信息的获取方法,其特征在于,包括:在预置的分析点实时获取TCP报文;所获取的TCP报文包括当前TCP报文和在先TCP报文;根据所述当前TCP报文和所述在先TCP报文,提取重传TCP报文;获取所述重传TCP报文对应的关联参数;所述关联参数包括在所述重传TCP报文经过所述分析点前,与所述重传TCP报文对应的确认字符ACK个数;当所述关联参数满足第一预设条件时,确定所述重传TCP报文的出错信息为由超时导致重传的信息;所述第一预设条件包括所述确认字符ACK个数小于第一阈值。

【技术特征摘要】

【专利技术属性】
技术研发人员:马明礼
申请(专利权)人:大唐移动通信设备有限公司
类型:发明
国别省市:北京;11

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

1