一种网络流量日志记录方法及装置转让专利

申请号 : CN201810932368.X

文献号 : CN110838949A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张炬

申请人 : 阿里巴巴集团控股有限公司

摘要 :

本发明公开了一种网络流量日志记录方法,以及一种网络流量日志记录装置。其中,网络流量日志记录方法包括:通过创建用于记录发送端和接收端转发数据包数量的日志流,并统计第一预设时间内发送端发出的数据包的数量和接收端接收的数据包的数量,当统计的发送端发出的数据包的数量与接收端接收的数据包的数量不相等时,判断第一预设时间内数据包的丢包原因,在日志流中记录与数据包的丢包原因对应的丢包数量。其中,每条日志流均记录了与网络流量相关的关键指标,可以发现更细粒度的网络问题,并详细记录数据转发过程中的丢包原因,从而能够实现精确的网络监控和问题回溯。

权利要求 :

1.一种网络流量日志记录方法,其特征在于,包括:创建用于记录发送端和接收端转发数据包数量的日志流;

统计第一预设时间内所述发送端发出的数据包的数量和所述接收端接收的数据包的数量;

当统计的所述发送端发出的数据包的数量与所述接收端接收的数据包的数量不相等时,判断所述第一预设时间内数据包的丢包原因;

在所述日志流中记录与数据包的丢包原因对应的丢包数量。

2.根据权利要求1所述的网络流量日志记录方法,其特征在于,所述数据包丢包原因包括以下至少一种:宽带限速丢包、设备故障丢包、路由信息错误丢包、物理线路故障丢包、访问控制丢包、病毒攻击丢包。

3.根据权利要求1所述的网络流量日志记录方法,其特征在于,还包括:根据数据包收发方向的不同,在所述日志流中记录所述发送端发出的数据包的时间戳信息和/或序列号信息,以及所述接收端接收的数据包的时间戳信息和/或序列号信息;

将所述记录的时间戳信息和当前时间戳信息进行对比,确定转发的数据包的重传数量;

根据数据包收发方向的不同,在所述日志流中记录所述发送端发出的数据包的重传数量,以及所述接收端接收的数据包的重传数量。

4.根据权利要求3所述的网络流量日志记录方法,其特征在于,还包括:将所述记录的序列号信息和当前的序列号信息进行对比,确定转发的数据包的乱序数量;

根据数据包收发方向的不同,在所述日志流中记录所述发送端发出的数据包的乱序数量,以及所述接收端接收的数据包的乱序数量。

5.根据权利要求1所述的网络流量日志记录方法,其特征在于,还包括:根据数据包收发方向的不同,在所述日志流中记录所述发送端发出的用于记录连接状态信息的数据包和/或报文的数量,以及所述接收端接收的用于记录连接状态信息的数据包和/或报文的数量。

6.根据权利要求1-5任一项所述的网络流量日志记录方法,其特征在于,还包括:当转发后续数据包时,获取所述用于记录发送端和接收端转发数据包数量的日志流;

统计第二预设时间内所述发送端发出的数据包的数量和所述接收端接收的数据包的数量;

当所述统计单元统计的所述发送端发出的数据包的数量与所述接收端接收的数据包的数量不相等时,判断所述第二预设时间内的数据包丢包原因;

在所述日志流中增加与数据包丢包原因对应的丢包计数;

在所述日志流中更新所述发送端发出的数据包的时间戳信息和/或序列号信息,以及所述接收端接收的数据包的时间戳信息和/或序列号信息。

7.根据权利要求6所述的网络流量日志记录方法,其特征在于,所述后续数据包是所述发送端或接收端之间在所述第一预设时间之后转发的数据包;

所述第二预设时间位于所述第一预设时间之后。

8.一种网络流量日志记录装置,其特征在于,包括:创建单元,用于创建日志流,所述日志流用于记录发送端和接收端转发数据包的数量;

统计单元,统计第一预设时间内所述发送端发出的数据包的数量和所述接收端接收的数据包的数量;

判断单元,当统计的所述发送端发出的数据包的数量与所述接收端接收的数据包的数量不相等时,判断所述第一预设时间内数据包的丢包原因;

记录单元,用于在所述日志流中记录与数据包的丢包原因对应的丢包数量。

9.根据权利要求8所述的网络流量日志记录装置,其特征在于,所述数据包丢包原因包括以下至少一种:宽带限速丢包、设备故障丢包、路由信息错误丢包、物理线路故障丢包、访问控制丢包、病毒攻击丢包。

10.根据权利要求8所述的网络流量日志记录装置,其特征在于,还包括:根据数据包收发方向的不同,在所述日志流中记录所述发送端发出的数据包的时间戳信息和/或序列号信息,以及所述接收端接收的数据包的时间戳信息和/或序列号信息;

将所述记录的时间戳信息和当前时间戳信息进行对比,确定转发的数据包的重传数量;

根据数据包收发方向的不同,在所述日志流中记录所述发送端发出的数据包的重传数量,以及所述接收端接收的数据包的重传数量。

11.根据权利要求10所述的网络流量日志记录装置,其特征在于,还包括:将所述记录的序列号信息和当前的序列号信息进行对比,确定转发的数据包的乱序数量;

根据数据包收发方向的不同,在所述日志流中记录所述发送端发出的数据包的乱序数量,以及所述接收端接收的数据包的乱序数量。

12.根据权利要求8所述的网络流量日志记录装置,其特征在于,还包括:根据数据包收发方向的不同,在所述日志流中记录所述发送端发出的用于记录连接状态信息的数据包和/或报文的数量,以及所述接收端接收的用于记录连接状态信息的数据包和/或报文的数量。

13.根据权利要求8-12任一项所述的网络流量日志记录装置,其特征在于,还包括:当转发后续数据包时,获取所述用于记录发送端和接收端转发数据包数量的日志流;

统计第二预设时间内所述发送端发出的数据包的数量和所述接收端接收的数据包的数量;

当所述统计单元统计的所述发送端发出的数据包的数量与所述接收端接收的数据包的数量不相等时,判断所述第二预设时间内的数据包丢包原因;

在所述日志流中增加与数据包丢包原因对应的丢包计数;

在所述日志流中更新所述发送端发出的数据包的时间戳信息和/或序列号信息,以及所述接收端接收的数据包的时间戳信息和/或序列号信息。

14.根据权利要求13所述的网络流量日志记录装置,其特征在于,所述后续数据包是所述发送端或接收端之间在所述第一预设时间之后转发的数据包;

所述第二预设时间位于所述第一预设时间之后。

说明书 :

一种网络流量日志记录方法及装置

技术领域

[0001] 本发明涉及网络流量日志领域,具体涉及一种细粒度的网络流量日志记录方法。本发明同时涉及一种网络流量日志记录装置。

背景技术

[0002] 目前,在云环境下的日志服务主要用于分布式的收集云基础服务平台的网络流量日志信息,进行集中管理并按需智能化解析网络流量日志,发现日志特性,从而方便使用日志信息对实例级别的网络问题进行监控。通过上述方式能够提供实例级别的统计信息,这种维度的统计信息仅仅能够发现整个实例是否可用,针对更细粒度的网络问题而言粒度太粗,因此,需要一种更细粒度的统计信息,针对网络问题进行精确分类、并能够涵盖数据丢包的具体原因等网络问题。
[0003] 为了解决上述问题,现有技术提供一种基于流级别的统计信息的方法,该方法能够获取流级别的统计信息,并区分出网络流量数据丢包还是正常两种情况。但是该流级别的统计信息实际上仅仅包含了基本报文个数、字节数以及是否发生数据包丢包等信息,仍然只能发现配置层面的异常情况,无法进一步分析数据丢包原因,从而无法发现更细粒度的网络问题。

发明内容

[0004] 本发明提供一种网络流量日志记录方法,以解决现有技术中存在的上述统计信息粒度太粗,无法对更细粒度的网络问题进行精确监控的缺陷。本发明另外提供网络流量日志记录装置。
[0005] 本申请提供一种网络流量日志记录方法,包括:
[0006] 创建用于记录发送端和接收端转发数据包数量的日志流;
[0007] 统计第一预设时间内所述发送端发出的数据包的数量和所述接收端接收的数据包的数量;
[0008] 当统计的所述发送端发出的数据包的数量与所述接收端接收的数据包的数量不相等时,判断所述第一预设时间内数据包的丢包原因;
[0009] 在所述日志流中记录与数据包的丢包原因对应的丢包数量。
[0010] 可选的,所述数据包丢包原因包括以下至少一种:
[0011] 宽带限速丢包、设备故障丢包、路由信息错误丢包、物理线路故障丢包、访问控制丢包、病毒攻击丢包。
[0012] 可选的,所述网络流量日志记录方法还包括:
[0013] 根据数据包收发方向的不同,在所述日志流中记录所述发送端发出的数据包的时间戳信息和/或序列号信息,以及所述接收端接收的数据包的时间戳信息和/或序列号信息;
[0014] 将所述记录的时间戳信息和当前时间戳信息进行对比,确定转发的数据包的重传数量;
[0015] 根据数据包收发方向的不同,在所述日志流中记录所述发送端发出的数据包的重传数量,以及所述接收端接收的数据包的重传数量。
[0016] 可选的,所述网络流量日志记录方法还包括:
[0017] 将所述记录的序列号信息和当前的序列号信息进行对比,确定转发的数据包的乱序数量;
[0018] 根据数据包收发方向的不同,在所述日志流中记录所述发送端发出的数据包的乱序数量,以及所述接收端接收的数据包的乱序数量。
[0019] 可选的,所述网络流量日志记录方法还包括:
[0020] 根据数据包收发方向的不同,在所述日志流中记录所述发送端发出的用于记录连接状态信息的数据包和/或报文的数量,以及所述接收端接收的用于记录连接状态信息的数据包和/或报文的数量。
[0021] 可选的,所述网络流量日志记录方法还包括:
[0022] 当转发后续数据包时,获取所述用于记录发送端和接收端转发数据包数量的日志流;
[0023] 统计第二预设时间内所述发送端发出的数据包的数量和所述接收端接收的数据包的数量;
[0024] 当所述统计单元统计的所述发送端发出的数据包的数量与所述接收端接收的数据包的数量不相等时,判断所述第二预设时间内的数据包丢包原因;
[0025] 在所述日志流中增加与数据包丢包原因对应的丢包计数;
[0026] 在所述日志流中更新所述发送端发出的数据包的时间戳信息和/或序列号信息,以及所述接收端接收的数据包的时间戳信息和/或序列号信息。
[0027] 可选的,所述后续数据包是所述发送端或接收端之间在所述第一预设时间之后转发的数据包;
[0028] 所述第二预设时间位于所述第一预设时间之后。
[0029] 相应的,本申请还提供一种网络流量日志记录装置,包括:
[0030] 创建单元,用于创建日志流,所述日志流用于记录发送端和接收端转发数据包的数量;
[0031] 统计单元,统计第一预设时间内所述发送端发出的数据包的数量和所述接收端接收的数据包的数量;
[0032] 判断单元,当统计的所述发送端发出的数据包的数量与所述接收端接收的数据包的数量不相等时,判断所述第一预设时间内数据包的丢包原因;
[0033] 记录单元,用于在所述日志流中记录与数据包的丢包原因对应的丢包数量。
[0034] 可选的,所述数据包丢包原因包括以下至少一种:
[0035] 宽带限速丢包、设备故障丢包、路由信息错误丢包、物理线路故障丢包、访问控制丢包、病毒攻击丢包。
[0036] 可选的,所述网络流量日志记录装置还包括:
[0037] 根据数据包收发方向的不同,在所述日志流中记录所述发送端发出的数据包的时间戳信息和/或序列号信息,以及所述接收端接收的数据包的时间戳信息和/或序列号信息;
[0038] 将所述记录的时间戳信息和当前时间戳信息进行对比,确定转发的数据包的重传数量;
[0039] 根据数据包收发方向的不同,在所述日志流中记录所述发送端发出的数据包的重传数量,以及所述接收端接收的数据包的重传数量。
[0040] 可选的,所述的网络流量日志记录装置还包括:
[0041] 将所述记录的序列号信息和当前的序列号信息进行对比,确定转发的数据包的乱序数量;
[0042] 根据数据包收发方向的不同,在所述日志流中记录所述发送端发出的数据包的乱序数量,以及所述接收端接收的数据包的乱序数量。
[0043] 可选的,所述的网络流量日志记录装置还包括:
[0044] 根据数据包收发方向的不同,在所述日志流中记录所述发送端发出的用于记录连接状态信息的数据包和/或报文的数量,以及所述接收端接收的用于记录连接状态信息的数据包和/或报文的数量。
[0045] 可选的,所述的网络流量日志记录装置还包括:
[0046] 当转发后续数据包时,获取所述用于记录发送端和接收端转发数据包数量的日志流;
[0047] 统计第二预设时间内所述发送端发出的数据包的数量和所述接收端接收的数据包的数量;
[0048] 当所述统计单元统计的所述发送端发出的数据包的数量与所述接收端接收的数据包的数量不相等时,判断所述第二预设时间内的数据包丢包原因;
[0049] 在所述日志流中增加与所述数据包丢包原因对应的丢包计数;
[0050] 在所述日志流中更新所述发送端发出的数据包的时间戳信息和/或序列号信息,以及所述接收端接收的数据包的时间戳信息和/或序列号信息。
[0051] 可选的,所述后续数据包是所述发送端或接收端之间在所述第一预设时间之后转发的数据包;
[0052] 所述第二预设时间位于所述第一预设时间之后。
[0053] 与现有技术相比,本申请具有以下优点:
[0054] 本发明提供了一种网络流量日志记录方法,具体而言是一种细粒度的网络流量日志记录方法。其中,网络流量日志记录方法包括:通过创建用于记录发送端和接收端转发数据包数量的日志流,并统计第一预设时间内发送端发出的数据包的数量和接收端接收的数据包的数量,当统计的发送端发出的数据包的数量与接收端接收的数据包的数量不相等时,判断第一预设时间内数据包的丢包原因,在日志流中记录与数据包的丢包原因对应的丢包数量。每条日志流均记录了与网络流量相关的关键指标,可以发现更细粒度的网络问题,并详细记录数据转发过程中的丢包原因,从而能够实现精确的网络监控和问题回溯。

附图说明

[0055] 图1为本申请的网络流量日志记录方法的实施例流程图;
[0056] 图2为本申请的网络流量日志记录装置的实施例示意图;
[0057] 图3为本申请的网络流量日志记录方法中第一预设时间内数据转发流程的实施例流程图;
[0058] 图4为本申请的网络流量日志记录方法中第二预设时间内后续数据转发流程的实施例流程图;
[0059] 图5为本申请的网络流量日志记录方法中日志流删除流程的实施例流程图。

具体实施方式

[0060] 在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此,本发明不受下面公开的具体实施的限制。
[0061] 下面基于本申请的网络流量日志记录方法,对其实施例进行详细描述。此外,在下面的描述中,将分别针对本方法的各个步骤进行详细的说明。请参考图1,其为本申请的网络流量日志记录方法的实施例流程图。
[0062] 在本实施例中,网络流量日志记录方法包括如下步骤:
[0063] 步骤S101:创建用于记录发送端和接收端转发数据包数量的日志流。
[0064] 在本实施例中,若要实现统计更细粒度的基于流级别的网络流量信息,对网络流量信息进行实时的记录和分析,并能够全面覆盖网络中的异常情况,根据业务进行精确的网络监控、问题回溯、业务调度,及时解决故障排查、架构优化、安全检测等网络问题,从而使得云上网络更加稳定、安全和智能,首先需要创建网络流量数据传输过程中,基于流级别的记录发送端和接收端数据传输情况的日志流,需要说明的是,本实施例中所述的日志流即为流日志。
[0065] 在本实施例中,所述的日志流包含多条日志流记录,日志流记录是指涵盖网络相关的关键指标的记录,通过统计该网络流量的数据包或报文的数量信息进行表示。具体而言,日志流记录是日志流中的记录网络流量传输信息的网络流,每个日志流记录捕获特定网络窗口中的特定网络流,捕获窗口持续一段时间,在这段时间内日志流会聚合数据,再发布日志流记录,捕获窗口大约为10分钟,也可以为15分钟,当然,上述捕获窗口持续的时间并不限于10分钟或15分钟,其可以视网络数据传输的具体情况而定。
[0066] 在本实施例中,用户还可以针对VPC或子网创建日志流,通过对VPC内的云产品实例与Internet、其他VPC或本地数据中心之间建立的VPC连接进行更细粒度的监控,实现了对VPC连接中传输的网络流量信息基于流级别的信息统计、网络丢包、重传、乱序和延迟等问题的分析能力。需要说明的是,创建的日志流可以发送到日志服务器中进行分析,该日志服务支持日志查看、多关键词检索等功能,并实时返回查询结果,为用户提供日志流数据检索服务,从而能够实现精确的网络监控、问题回溯,全面覆盖网络中的出现的异常情况。
[0067] 另外,云服务商或用户还可以为网络接口创建日志流,当在网络接口上记录到任何网络流量数据时,将立即为网络接口创建一个日志流,每个网络接口有唯一的日志流,日志流中包含日志流记录,这些日志流记录包含网络中事件的关键指标信息,通过统计经过该网络接口的网络流量的数据包或报文数量进行表示。
[0068] 步骤S102:统计第一预设时间内所述发送端发出的数据包的数量和所述接收端接收的数据包的数量。
[0069] 在本实施例中,若要实现接收端和发送端之间网络流量的传输,首先需要通过“三次握手”建立接收端和发送端之间的连接,当连接的一端接收到报文信息时,会触发日志流新建流程,新建一条日志流,并对日志流上的所有统计信息进行初始化,其中,所述的连接可以是TCP连接。请参考图3所示,本申请的网络流量日志记录方法中第一预设时间内数据转发流程的实施例流程图。
[0070] 在连接上转发网络流量过程中,数据包走转发流程可能遇到转发成功和失败两种情况,其中,当数据包转发成功时,需要更新日志流上的统计信息,创建的日志流可以根据数据包接收和发送方向的不同,记录发送端发出的数据包或字节的数量,以及接收端接收的数据包或字节的数量。还可以根据数据包接收和发送方向的不同,在日志流中记录发送端发出的数据包或字节的时间戳信息或序列号信息,以及接收端接收的数据包的时间戳信息或序列号信息,便于在后续过程中计算重传和乱序的数据包数量,从而能够实现对重传和乱序等网络问题的精确监控。
[0071] 在本实施例中,日志流中记录的发送端发送的数据包或字节的数量具体包括:发送方向总的数据包个数、字节个数、丢包个数、丢包字节数,表示发送端丢包原因的acl丢包个数、宽带限速丢包个数、报文个数限速丢包个数、路由丢包个数、连接丢包个数,表示发送端重传和乱序情况的重传丢包个数、乱序丢包个数,以及表示发送端的特殊报文的syn报文个数、synack报文个数、fin包个数、rst包个数等。另外,日志流中记录的接收端接收的数据包或字节的数量具体包括:接收方向总的数据包个数、字节个数、丢包个数、丢包字节个数,表示接收端丢包原因的acl丢包个数、宽带限速丢包个数、报文个数限速丢包个数、路由丢包个数、连接丢包个数,表示接收端重传和乱序情况的重传丢包个数、乱序丢包个数,以及表示接收端特殊报文的syn报文个数、synack报文个数、fin包个数、rst包个数等。同时,根据数据收发方向的不同,在日志流中还可以记录发送端发出的数据包的时间戳或序列号信息,以及接收端接收的数据包的时间戳信息或序列号信息,从而创建一条基于流级别的记录关键指标信息日志流。当然,在本实施例中,日志流记录的数据信息不仅仅限于上述的数据包或报文,还包括字节数等,并且数据包的丢包原因也不仅仅限于上述的几种情况,还包括:设备故障丢包、路由信息错误丢包、物理线路故障丢包、访问控制丢包和病毒攻击丢包等丢包原因记录。
[0072] 如果转发的是包含连接状态信息的特殊数据包或报文,例如syn、synack、fin、rst等,则在日志流中增加特殊数据包或报文的统计计数。具体而言,所述的包含连接状态信息的syn报文是用于建立发送端和接收端之间连接的报文;synack报文是用于关闭发送端和接收端之间连接的报文;fin数据包是包含发送端和接收端之间连接重置信息的数据包;rst数据包是用于确认发送端和接收端之间建立连接后做出响应信息的数据包。
[0073] 步骤S103:当统计的所述发送端发出的数据包的数量与所述接收端接收的数据包的数量不相等时,判断所述第一预设时间内的数据包丢包原因。
[0074] 在网络流量传输过程中,当数据包转发失败时,同样需要更新日志流上的统计信息,日志流可以根据数据包收发方向的不同,记录发送端发出的数据包的数量,以及接收端接收的数据包的数量。另外,还需要增加发送端或接收端总的丢包个数和丢包字节数的计数,并根据丢包原因增加相应的丢包计数,当数据包丢包导致日志流中统计的发送端发出的数据包或字节的数量与接收端接收的数据包或字节的数量不相等时,日志流能够通过日志服务器向用户发出报警指示信息。
[0075] 在本实施例中,由于网络延迟的存在,传输的数据信息并不都是在第一预设时间内到达,也有可能由于传输线路网络状况的影响延迟一段时间到达。请参考图4所示,其为本申请的网络流量日志记录方法中第二预设时间内后续数据转发流程的实施例流程图。当转发后续数据包时,首先查找到第一预设时间内用于记录发送端和接收端转发数据包数量的日志流,用于继续统计第二预设时间内发送端发出的数据包的数量和接收端接收的数据包的数量,根据收发方向的不同继续在该日志流上更新对应的收发数据包和报文统计计数,如果是特殊报文,更新对应特殊报文的统计计数。同时,通过获取在第一预设时间内记录的数据包传输的时间戳信息和序列号信息。将当前日志流中记录的发送或接收数据包的时间戳信息和第一预设时间内记录的时间戳信息进行比对,计算rtt,确定在第二预设时间内的数据包是否发生了重传以及重传数据包的数量,另外,将当前日志流中记录的发送或接收数据包的序列号信息和第一预设时间内记录的序列号信息进行对比,确定转发的数据包的乱序数量。
[0076] 需要说明的是,在本实施例中,数据包丢包数量为在第一预设时间内发送端发出的数据包的数量与接收端接收的数据包的数量之间的差值,或者在第二预设时间内发送端发出的数据包的数量与接收端接收的数据包的数量之间的差值。当统计的数据包丢包数量增加时,即发送端发出的数据包的数量与接收端接收的数据包的数量不相等的时候,判断第一预设时间或第二预设时间内的数据包丢包原因,在日志流中继续增加与数据包丢包原因对应的丢包计数。
[0077] 需要进一步说明的是,所述的后续数据包是发送端或接收端之间在第一预设时间之后转发的数据包,所述的第二预设时间位于第一预设时间之后。
[0078] 步骤S104:用于在所述日志流中记录与数据包丢包原因对应的丢包数量。
[0079] 在网络流量传输过程中,当第一预设时间或第二预设时间内数据包转发失败时,都要更新日志流上的统计信息,日志流可以根据数据包收发方向的不同,增加发送端发出的数据包的统计计数,以及接收端接收的数据包的统计计数。另外,还需要增加发送端或接收端总的丢包个数和丢包字节数的计数,并根据丢包原因增加相应的丢包计数。
[0080] 另外,日志流还可以根据数据包收发方向的不同,记录发送端发出的总的数据包或报文的数量,以及接收端接收的总的数据包或报文的数量。其中,网络流量传输过程中,所述的日志流不仅仅限于统计数据包或报文数量信息还可以是字节数等信息。
[0081] 此外,在本实施例中还包括日志流的删除流程,请参照图5所示,其为本申请的网络流量日志记录方法中日志流删除流程的实施例流程图。删除日志流时,需要先读出日志流中的统计信息以及统计数据,然后再判断日志流的状态,如果已经是待删除的状态,那么说明是正常删除过程,否则的话,说明日志流删除超过预定时间,此时,需要记录日志流的状态再产生一条日志流删除日志,其中,该记录日志流删除的日志包含删除成功或者失败两种信息。
[0082] 本申请提供了一种基于流级别的详细日志记录方法,在日志流上加入网络关键指标的丢包信息、时间戳和序列号等信息,在日志流的新建过程中进行信息初始化,在数据包或者报文转发过程中对统计信息进行动态更新,实现了对网络流量流级别的信息统计,包括网络丢包、重传、乱序和延迟等网络问题的分析和监控能力,另外提供了详细的流量数据传输错误诊断分类,例如精确的定位路由信息错误、acl、网络限速等导致的数据包丢包。通过日志流记录的与网络流量相关的关键指标,可以发现更细粒度的网络问题,并详细记录数据转发过程中的丢包原因,从而能够实现精确的网络监控和问题回溯。
[0083] 与上述的网络流量日志记录方法相对应,本申请还提供一种网络流量日志记录装置,上述网络流量日志记录方法可以应用于该装置,请参见图2,其为本申请的网络流量日志记录装置的实施例示意图。由于本装置实施例相似于方法实施例,所以描述的比较简单,相关之处请参见方法实施例部分说明即可,下面描述装置实施例仅是示意性的。
[0084] 在实施例中,网络流量日志记录装置包括如下部分:
[0085] 创建单元201,用于创建日志流,所述日志流用于记录发送端和接收端转发数据包的数量。
[0086] 统计单元202,统计第一预设时间内所述发送端发出的数据包的数量和所述接收端接收的数据包的数量。
[0087] 在本实施例中,日志流根据数据包收发方向的不同,统计发送端发出的数据包或字节的数量,以及接收端接收的数据包或字节的数量。另外还可以记录发送端发出的数据包的时间戳信息或序列号信息,以及接收端接收的数据包的时间戳信息或序列号信息。当转发的是特殊数据包或报文时,根据数据包收发方向的不同,在日志流中增加发送端发出的或接收端接收的用于表示连接状态信息的数据包或报文的数量。表示连接状态信息的数据包或报文包括syn报文、synack报文、fin数据包和rst数据包中至少一种。
[0088] 判断单元203,当统计的所述发送端发出的数据包的数量与所述接收端接收的数据包的数量不相等时,判断所述第一预设时间内的数据包丢包原因。
[0089] 在本实施例中,当数据包丢包导致日志流中统计的发送端发出的数据包或字节的数量与接收端接收的数据包或字节的数量不相等时,同样需要更新日志流上的统计信息,日志流可以根据数据包收发方向的不同,记录发送端发出的数据包的数量,以及接收端接收的数据包的数量。另外,还需要增加发送端或接收端总的丢包个数和丢包字节数的计数,并根据丢包原因增加相应的丢包计数。
[0090] 由于网络延迟的存在,传输的数据信息并不都是在第一预设时间内到达,也有可能由于传输线路网络状况的影响延迟一段时间到达。当转发后续数据包时,首先查找到第一预设时间内用于记录发送端和接收端转发数据包数量的日志流,用于继续统计第二预设时间内发送端发出的数据包的数量和接收端接收的数据包的数量,根据收发方向的不同继续在该日志流上更新对应的收发数据包和报文统计计数,如果是特殊报文,更新对应特殊报文的统计计数。当统计的发送端发出的数据包的数量与接收端接收的数据包的数量不相等时,判断第二预设时间内的数据包丢包原因,在日志流中增加与数据包丢包原因对应的丢包计数。
[0091] 同时,将第一预设时间内记录的时间戳信息和当前时间戳信息进行对比,确定转发的数据包的重传数量,在日志流中记录发送端发出的数据包的重传数量,以及接收端接收的数据包的重传数量。将第一预设时间内记录的序列号信息和当前的序列号信息进行对比,确定转发的数据包的乱序数量,在日志流中记录发送端发出的数据包的乱序数量,以及接收端接收的数据包的乱序数量。需要说明的是,后续数据包是发送端或接收端之间在第一预设时间之后转发的数据包,第二预设时间位于第一预设时间之后。
[0092] 记录单元204,用于在所述日志流中记录与数据包丢包原因对应的丢包数量。
[0093] 在本实施例中,数据包丢包原因统计包括:acl丢包个数、宽带限速丢包个数、报文个数限速丢包个数、路由丢包个数、连接丢包个数中的至少一种丢包原因计数。当然,丢包原因不仅仅限于上述的几种情况,还包括:设备故障丢包、路由信息错误丢包、物理线路故障丢包、访问控制丢包和病毒攻击丢包等可能导致网络流量丢包的一系列原因,这些都可以在日志流中生成相应的统计记录。
[0094] 本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。