一种tcp报文出错信息的获取方法和装置的制造方法

文档序号:9420202阅读:527来源:国知局
一种tcp报文出错信息的获取方法和装置的制造方法
【技术领域】
[0001]本发明涉及网络通信技术领域,特别是涉及一种TCP报文出错信息的获取方法和一种TCP报文出错信息的获取装置。
【背景技术】
[0002]TCP/IP协议由网络层的IP协议(Internet Protocol,网络之间互联的协议)和传输层的TCP协议(Transmiss1n Control Protocol,传输控制协议)组成,IP协议是一种无连接的、不可靠的通信协议,TCP协议是一种基于IP协议的面向连接的、可靠的传输协议,为应用层提供可靠的传输服务。
[0003]为了确保数据传输的可靠性,TCP协议采用重传和应答机制。在数据的传输过程中,当出现丢包、乱序和超时等异常传输状态时,发送端会对出现异常传输状态的TCP报文进行重新发送。
[0004]TCP协议的数据重传意味着对于同一 TCP报文进行了重复的发送,这就额外占用了不必要的网络宽带和流量,当出现大量的数据重传时,将严重影响网络的传输性能,大幅度降低网络的传输效率。一旦出现网络的传输效率低下的问题时,确定导致TCP报文重传的原因,即确定TCP报文的出错信息是解决问题的关键。
[0005]在在先技术中,通常的做法是,在传输效率低下的问题出现后,一次性抓取一定量的TCP报文,采用第三方工具(如SmartBit、WireShark、Sniffer等工具)对抓取的TCP报文进行分析,从而确定TCP报文的出错信息。
[0006]由于在先技术是在重传问题出现后再抓取TCP报文,因而,只有当导致重传的原因连续重复出现时,才能够得到相对可靠的分析结果,然而,在实际应用中,重传问题在多数情况下并非是连续重复出现的,当重传问题在抓取TCP报文的过程中并没有出现时,对重传问题出现后再抓取TCP报文进行分析,显然无法准确确定TCP报文的出错信息。

【发明内容】

[0007]本发明实施例所要解决的技术问题是提供一种TCP报文出错信息的获取方法,用以准确获知TCP报文的出错信息。
[0008]相应的,本发明实施例还提供了一种TCP报文出错信息的获取装置,用以保证上述方法的实现及应用。
[0009]为了解决上述问题,本发明实施例公开了一种TCP报文出错信息的获取方法,包括:
[0010]在预置的分析点实时获取TCP报文;所获取的TCP报文包括当前TCP报文和在先TCP报文;
[0011]根据所述当前TCP报文和所述在先TCP报文,提取重传TCP报文;
[0012]获取所述重传TCP报文对应的关联参数;所述关联参数包括在所述重传TCP报文经过所述分析点前,与所述重传TCP报文对应的确认字符ACK个数;
[0013]当所述关联参数满足第一预设条件时,确定所述重传TCP报文的出错信息为由超时导致重传的信息;所述第一预设条件包括所述确认字符ACK个数小于第一阈值。
[0014]优选的,所述关联参数包括当所述重传TCP报文经过所述分析点前,所述重传TCP报文对应的原始TCP报文是否经过分析点的信息;所述方法还包括:
[0015]当所述关联参数满足第二预设条件时,确定所述重传TCP报文的出错信息为在所述分析点上游丢包导致重传的信息;所述第二预设条件包括所述确认字符ACK个数大于或等于所述第一阈值,以及,所述原始TCP报文没有经过所述分析点。
[0016]优选的,所述方法还包括:
[0017]从所述在先TCP报文中提取第一乱序TCP报文,并统计所述第一乱序TCP报文的TCP报文乱序个数;
[0018]从所提取的第一乱序TCP报文中,获取与所述重传TCP报文对应的第二乱序TCP报文;
[0019]当所述关联参数满足第三预设条件,并且,所述第二乱序TCP报文的TCP报文乱序个数大于或等于第二阈值时,确定所述重传TCP报文的出错信息为在所述分析点上游严重乱序导致重传的信息;所述第三预设条件包括所述确认字符ACK个数大于或等于所述第一阈值,以及,所述原始TCP报文经过所述分析点。
[0020]优选的,所述方法还包括:
[0021 ] 当所述关联参数满足所述第三预设条件,并且,所述第二乱序TCP报文的TCP报文乱序个数小于所述第二阈值时,确定所述重传TCP报文的出错信息为在所述分析点下游丢包导致重传的信息。
[0022]优选的,所述根据所述当前TCP报文和所述在先TCP报文,提取重传TCP报文的步骤包括:
[0023]从所述当前TCP报文中提取第一传输队列号TSN,第一 IP标识IPID,以及,从所述在先TCP报文中提取第一传输队列号最大值TSNmax,并将所述第一传输队列号最大值TSNmax对应的IP标识IPID记为第一 IP标识最大值IPIDmax;
[0024]当所述第一传输队列号TSN小于所述第一传输队列号最大值TSNmax,以及,所述第一IP标识IPID大于所述第一 IP标识最大值IPIDmax时,提取所述当前TCP报文作为重传TCP报文;
[0025]或者,当所述第一传输队列号TSN大于所述第一传输队列号最大值TSNmax,以及,所述第一 IP标识IPID小于所述第一 IP标识最大值IPIDmax时,提取所述当前TCP报文的前一个TCP报文作为重传TCP报文。
[0026]优选的,所述在先TCP报文包括第一 TCP报文和第二 TCP报文,所述第二 TCP报文包括在获取所述第一 TCP报文前获取的所有TCP报文,所述从所述在先TCP报文中提取第一乱序TCP报文,并统计所述第一乱序TCP报文的TCP报文乱序个数的步骤包括:
[0027]从所述第一 TCP报文中提取第二传输队列号TSN,第二 IP标识IPID,以及,从所述第二 TCP报文中提取第二传输队列号最大值TSNmax,并将所述第二传输队列号最大值TSNmax对应的IP标识IPID记为第二 IP标识最大值IPIDmax;
[0028]当所述第二传输队列号TSN小于所述第二传输队列号最大值TSNmax,以及,所述第二IP标识IPID小于所述第二 IP标识最大值IPIDmax时,提取所述第一 TCP报文作为第一乱序TCP报文;
[0029]统计从所述第二传输队列号TSN的下一个传输队列号TSN,至所述第二传输队列号最大值TSNmax中,所有传输队列号TSN对应的TCP报文的个数;
[0030]将统计获取的TCP报文的个数作为所述第一乱序TCP报文的TCP报文乱序个数。
[0031]本发明实施例还公开了一种TCP报文出错信息的获取装置,包括:
[0032]TCP报文获取模块,用于在预置的分析点实时获取TCP报文;所获取的TCP报文包括当前TCP报文和在先TCP报文;
[0033]重传TCP报文提取模块,用于根据所述当前TCP报文和所述在先TCP报文,提取重传TCP报文;
[0034]关联参数获取模块,用于获取所述重传TCP报文对应的关联参数;所述联参数包括在所述重传TCP报文经过所述分析点前,与所述重传TCP报文对应的确认字符ACK个数;
[0035]第一出错信息确定模块,用于当所述关联参数满足第一预设条件时,确定所述重传TCP报文的出错信息为由超时导致重传的信息;所述第一预设条件包括所述确认字符ACK个数小于第一阈值。
[0036]优选的,所述关联参数包括当所述重传TCP报文经过所述分析点前,所述重传TCP报文对应的原始TCP报文是否经过分析点的信息;所述装置还包括:
[0037]第二出错信息确定模块,用于当所述关联参数满足第二预设条件时,确定所述重传TCP报文的出错信息为在所述分析点上游丢包导致重传的信息;所述第二预设条件包括所述确认字符ACK个数大于或等于所述第一阈值,以及,所述原始TCP报文没有经过所述分析点。
[0038]优选的,所述装置还包括:
[0039]第一乱序TCP报文提取模块,用于从所述在先TCP报文中提取第一乱序TCP报文,并统计所述第一乱序TCP报文的TCP报文乱序个数;
[0040]第二乱序TCP报文获取模块,用于从所提取的第一乱序TCP报文中,获取与所述重传TCP报文对应的第二乱序TCP报文;
[0041]第三出错信息确定模块,用于当所述关联参数满足第三预设条件,并且,所述第二乱序TCP报文的TCP报文乱序个数大于或等于第二阈值时,确定所述重传TCP报文的出错信息为在所述分析点上游严重乱序导致重传的信息;所述第三预设条件包括所述确认字符ACK个数大于或等于所述第一阈值,以及,所述原始TCP报文经过所述分析点。
[0042]优选的,所述装置还包括:
[0043]第四出错信息确定模块,用于当所述关联参数满足所述第三预设条件,并且,所述第二乱序TCP报文的TCP报文乱序个数小于所述第二阈值时,确定所述重传TCP报文的出错信息为在所述分析点下游丢包导致重传的信息。
[0044]优选的,所述重传TCP报文提取模块包括:
[0045]第一传输队列号TSN和IP标识IPID提取子模块,用于从所述当前TCP报文中提取第一传输队列号TSN,第一 IP标识IPID,以及,从所述在先TCP报文中提取第一传输队列号最大值TSNmax,并将所述第一传输队列号最大值TSNmax对应的IP标识IPID记为第一 IP标识最大值IPIDmax;
[0046]重传TCP报文提取子模块,用于当所述第一传输队列号TSN小于所述第一传输队列号最大值TSNmax,以及,所述第一 IP标识IPID大于所述第一 IP标识最大值IPIDmax时,提取所述当前TCP报文作为重传TCP报文;
[0047]或者,用于当所述第一传输队列号TSN大于所述第一传输队列号最大值TSNmax,以及,所述第一 IP标识IPID小于所述第一 IP标识最大值IPIDmax时,提取所述当前TCP报文的前一个TCP报文作为重传TCP报文。
[0048]优选的,所述在先TCP报文包括第一 TCP报文和第二 TCP报文,所述第二 TCP报文包括在获取所述第一 TCP报文前获取的所有TCP报文,所述第一乱序TCP报文提取模块包括:
[0049]第二传输队列号TSN和IP标识IPID提取子模块,用于从所述第一 TCP报文中提取第二传输队列号TSN,第二 IP标识IPID,以及,从所述第二 TCP报文中提取第二传输队列号最大值TSNmax,并将所述第二传输队列号最大值TSNmax对应的IP标识IPID记为第二 IP标识最大值IPIDmax;
[0050]乱序TCP报文提取子模块,用于当所述第二传输队列号TSN小于所述第二传输队列号最大值TSNmax,以及,所述第二 IP标识IPID小于所述第二 IP标识最大值IPIDmax时,提取所述第一 TCP报文作为第一乱序TCP报文;
[0051]TCP报文乱序个数统计子模块,用于统计从所述第二传输队列号TSN的下一个传输队列号TSN,至所述第二传输队列号最大值TSNmax中,所有传输队列号TSN对应的TCP报文的个数,并将统计获取的TCP报文的个数作为所述第一乱序TCP报文的TCP报文乱序个数。
[0052]与在先技术相比,本发明实施例包括以下优点:
[0053]本发明实施例可以在分析点处实时获取TCP报文,提取出重传TCP报文,当重传TCP报文经过分析点时,获取
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1