本发明涉及数字信息传输,尤其涉及一种面向命名数据网络的网络流量采集方法及装置。
背景技术:
1、sflow(sampled flow)协议是一种基于报文采样的网络流量监测技术,在大规模网络适用性及运行成本上表现了极其出色的优势,因此,目前sf1ow被广泛应用于网络流量监测中。
2、但是,在对命名数据网络(named data networking,ndn)进行网络流量采集时,由于ndn网络中的数据包(data packet)的内容名称是不定长的,内容名称长度没有明确限制,封装成sflow数据报后容易造成内容缺失和占用空间过大。同时由于ndn网络下的数据包与兴趣包是关联的,由兴趣包和对应的数据包构成完整的用户会话信息。而sflow的双向独立采样机制会造成兴趣包和数据包无法一一对应,从而导致流量采集时存储空间和网络通信带宽资源浪费、流量采集有效性低。
3、上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
1、本发明的主要目的在于提供一种面向命名数据网络的网络流量采集方法及装置,旨在解决现有技术中流量采集时存储空间和网络通信带宽资源浪费、流量采集结果有效性低的技术问题。
2、为实现上述目的,本发明提供了一种面向命名数据网络的网络流量采集方法,所述方法包括以下步骤:
3、在获取到的网络包是兴趣包时,对所述兴趣包进行采集,并将所述兴趣包标记为已采集;
4、在获取到的所述网络包是数据包且所述数据包对应的兴趣包被标记为已采集时,对所述数据包进行采集;
5、对获得的采集数据的内容名称进行哈希操作,并根据哈希值对所述采集数据进行封装,获得流量采集封装结果。
6、可选地,所述在获取到的网络包是兴趣包时,对所述兴趣包进行采集,并将所述兴趣包标记为已采集之前,还包括:
7、判断网络中的路由记录是否已经被存储;
8、若否,则对所述路由记录的第一内容名称进行哈希操作,获得内容名称查询接口以及由所述第一内容名称和第一哈希值构成的内容名称数据表,将所述路由记录标记为已存储。
9、可选地,所述若否,则对所述路由记录的第一内容名称进行哈希操作,获得内容名称查询接口以及由所述第一内容名称和第一哈希值构成的内容名称数据表之后,还包括:
10、在网络缓存路由记录被移除时,判断所述网络缓存路由记录是否存在于所述内容名称数据表中;
11、若否,则接收所述网络缓存路由记录,并返回判断所述网络缓存路由记录是否已经被存储的步骤。
12、可选地,所述对获得的采集数据的内容名称进行哈希操作,并根据哈希值对所述采集数据进行封装,获得流量采集封装结果之后,还包括:
13、对所述流量采集封装结果进行解析,获得流量采集结果,并根据所述内容名称查询接口和所述内容名称数据表获取所述流量采集结果中的所述哈希值对应的第一内容名称。
14、可选地,所述在获取到的网络包是兴趣包时,对所述兴趣包进行采集,并将所述兴趣包标记为已采集,包括:
15、在获取到的网络包是兴趣包时,判断所述兴趣包是否存在于内容缓存表中;
16、若否,则判断所述兴趣包是否存在于待定兴趣表中;
17、若否,则在转发信息库表查询所述兴趣包,并对所述兴趣包进行采集,并在所述转发信息库表中将所述兴趣包标记为已采集。
18、可选地,所述若否,则在转发信息库表查询所述兴趣包,并对所述兴趣包进行采集,并在所述转发信息库表中将所述兴趣包标记为已采集,包括:
19、若否,则在转发信息库表查询所述兴趣包,根据预设采集率对所述兴趣包进行采集,并在所述转发信息库表中将所述兴趣包标记为已采集。
20、可选地,所述在获取到的所述网络包是数据包且所述数据包对应的兴趣包被标记为已采集时,对所述数据包进行采集,包括:
21、在获取到的所述网络包是数据包时,根据所述数据包的所述内容名称在所述待定兴趣表中查询所述数据包对应的兴趣包,并判断所述兴趣包是否已经被采集;
22、若是,则对所述数据包进行采集。
23、此外,为实现上述目的,本发明还提出一种面向命名数据网络的网络流量采集装置,所述面向命名数据网络的网络流量采集装置包括:
24、兴趣包采样模块,用于在获取到的网络包是兴趣包时,对所述兴趣包进行采集,并将所述兴趣包标记为已采集;
25、数据包采样模块,用于在获取到的所述网络包是数据包且所述数据包对应的兴趣包被标记为已采集时,对所述数据包进行采集;
26、名称转换模块,用于对获得的采集数据的内容名称进行哈希操作,并根据哈希值对所述采集数据进行封装,获得流量采集封装结果。
27、此外,为实现上述目的,本发明还提出一种面向命名数据网络的网络流量采集设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的面向命名数据网络的网络流量采集程序,所述面向命名数据网络的网络流量采集程序配置为实现如上文所述的面向命名数据网络的网络流量采集方法的步骤。
28、此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有面向命名数据网络的网络流量采集程序,所述面向命名数据网络的网络流量采集程序被处理器执行时实现如上文所述的面向命名数据网络的网络流量采集方法的步骤。
29、在本发明中,公开了在获取到的网络包是兴趣包时,对兴趣包进行采集,并将兴趣包标记为已采集;在获取到的网络包是数据包且数据包对应的兴趣包被标记为已采集时,对数据包进行采集;对获得的采集数据的内容名称进行哈希操作,并根据哈希值对采集数据进行封装,获得流量采集封装结果。由于本发明在获取到兴趣包时,采集兴趣包并标记为已采集;在获取到数据包且数据包对应的兴趣包被标记为已采集时,采集数据包,从而能够采集到兴趣包和数据包一一对应的完整用户会话信息;再将采集数据的内容名称转换为定长的哈希值,从而减少了流量采集时存储空间和网络通信带宽资源的占用,并提高了流量采集的有效性。
1.一种面向命名数据网络的网络流量采集方法,其特征在于,所述方法包括以下步骤:
2.如权利要求1所述方法,其特征在于,所述在获取到的网络包是兴趣包时,对所述兴趣包进行采集,并将所述兴趣包标记为已采集之前,还包括:
3.如权利要求2所述方法,其特征在于,所述若否,则对所述路由记录的第一内容名称进行哈希操作,获得内容名称查询接口以及由所述第一内容名称和第一哈希值构成的内容名称数据表之后,还包括:
4.如权利要求2所述方法,其特征在于,所述对获得的采集数据的内容名称进行哈希操作,并根据哈希值对所述采集数据进行封装,获得流量采集封装结果之后,还包括:
5.如权利要求1所述方法,其特征在于,所述在获取到的网络包是兴趣包时,对所述兴趣包进行采集,并将所述兴趣包标记为已采集,包括:
6.如权利要求5所述方法,其特征在于,所述若否,则在转发信息库表查询所述兴趣包,并对所述兴趣包进行采集,并在所述转发信息库表中将所述兴趣包标记为已采集,包括:
7.如权利要求1所述方法,其特征在于,所述在获取到的所述网络包是数据包且所述数据包对应的兴趣包被标记为已采集时,对所述数据包进行采集,包括:
8.一种面向命名数据网络的网络流量采集装置,其特征在于,所述装置包括:
9.一种面向命名数据网络的网络流量采集设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的面向命名数据网络的网络流量采集程序,所述面向命名数据网络的网络流量采集程序配置为实现如权利要求1至7中任一项所述的面向命名数据网络的网络流量采集方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有面向命名数据网络的网络流量采集程序,所述面向命名数据网络的网络流量采集程序被处理器执行时实现如权利要求1至7任一项所述的面向命名数据网络的网络流量采集方法的步骤。