流统计方法、装置及系统与流程

文档序号:34877294发布日期:2023-07-25 09:01阅读:60来源:国知局
流统计方法、装置及系统

本技术涉及网络,特别涉及一种流统计方法、装置及系统。


背景技术:

1、为了确保网络中各数据流的传输性能,运维人员需要对各数据流中的大流的相关性能参数(例如带宽和时延等)进行密切监控。其中,大流是指在一定时长内传输的报文量(个数或字节数)最多的若干个数据流。

2、相关技术中,为了从大量的数据流中识别出大流,网络设备(如交换机)可以在转发数据流的报文的过程中,对各个数据流的报文进行采样,并将采样得到的采样报文发送至控制设备(例如,分析器)。控制设备可以统计各个数据流对应的采样报文的数量,并将采样报文的数量最高的若干个数据流确定为大流。

3、但是上述方法需要向控制设备上报大量的采样报文,不仅会占用控制设备较多的存储空间,而且统计效率也较低。


技术实现思路

1、本技术提供了一种流统计方法、装置及系统,可以解决相关技术中的流统计方法会占用控制设备较多的存储空间,且统计效率较低的技术问题。

2、第一方面,提供了一种流统计方法,应用于网络设备。网络设备首先获取目标报文。然后,网络设备根据该目标报文所属数据流的目标流标识获取目标流索引,以及根据该目标流标识获取目标地址索引。该目标地址索引用于指示该网络设备的存储空间中的一个存储区域,该存储区域包括多个存储单元,每个存储单元用于存储一个流索引,以及该流索引指示的数据流的报文计数值。网络设备还根据该目标流索引更新该多个存储单元中第一存储单元中的流索引和/或报文计数值,并基于更新后的该第一存储单元中的报文计数值,统计该目标报文所属数据流的流量。具体地,网络设备通过第一映射函数处理目标报文所属数据流的目标流标识得到目标流索引,并通过第二映射函数处理目标流标识得到目标地址索引。

3、其中,统计数据流的流量并非是统计数据流的真实流量,而是统计出能够反映该数据流的流量大小的数值,例如流量统计值。本技术提供的方案中,网络设备能够在存储单元中记录数据流的流索引和报文计数值,并基于该报文计数值对数据流的流量进行统计。由于网络设备无需向控制设备上报采样报文,因此提高了流统计的效率,且不会占用控制设备的存储空间。又由于存储单元中的流索引是通过第一映射函数处理目标流标识得到的,因此能减小流索引对存储空间的占用。

4、可选地,网络设备根据目标流索引更新多个存储单元中第一存储单元中的流索引和/或报文计数值的方式可以包括以下任意一种:方式一,若多个存储单元中的第一存储单元中存储有目标流索引,则将第一存储单元中的报文计数值增加第一预设值。方式二,若多个存储单元中不存在已存储有目标流索引的存储单元,则在多个存储单元中的一个空闲存储单元中存储目标流索引和初始报文计数值,空闲存储单元为第一存储单元,空闲存储单元是指未存储流索引和报文计数值的存储单元。方式三,若多个存储单元中不存在已存储有目标流索引的存储单元,且不存在空闲存储单元,则将多个存储单元中报文计数值为初始值的一个存储单元中的流索引更新为目标流索引,报文计数值为初始值的存储单元为第一存储单元。

5、上述方式三中,若第一存储单元中的报文计数值为初始值,则网络设备可以确定对于该第一存储单元中已存储的流索引所指示的数据流(下文称为数据流1),网络设备已获取到的该数据流1的目标报文的数量为初始值。假设网络设备当前获取到的目标报文所属的数据流为数据流2,则可以推断出网络设备当前已获取到的数据流2的目标报文的数量,与网络设备已获取到的数据流1的目标报文的数量相当。相应的,网络设备采用数据流2的目标流索引更新第一存储单元中的数据流1的流索引,可以确保不会对多个数据流中的特定流的识别造成影响。其中,特定流可以是指流量较高或流量的变化量较高的数据流。

6、可选地,若多个存储单元中不存在已存储有目标流索引的存储单元,且每个存储单元中的报文计数值均大于初始报文计数值,则网络设备还可以将多个存储单元中报文计数值最少的存储单元中的报文计数值减少第一预设值。

7、可以理解的是,若报文计数值最少的存储单元中的报文计数值被减少至初始值,则当网络设备再次获取到目标报文时,即可采用上述方式三中所示的方法更新该报文计数值最少的存储单元中的流索引。基于上述更新方式,可以确保只有当网络设备获取到的某个新的数据流的目标报文的数量大于或等于该多个存储单元中的最少的报文计数值时,才能够采用该新的数据流的流索引替换报文计数值最少的存储单元中的流索引。由此,可以在网络设备中存储单元的数量有限的场景中,实现对流量较高的数据流的报文计数值的可靠统计。

8、可选地,网络设备基于更新后的第一存储单元中的报文计数值,统计目标报文所属数据流的流量的过程可以包括:若更新后的第一存储单元中的报文计数值满足统计条件,则将目标流标识上报至控制设备,以供控制设备将目标流标识指示的数据流的流量统计值增加第二预设值。或者,若更新后的第一存储单元中的报文计数值满足统计条件,则将目标流标识指示的数据流的流量统计值增加第二预设值。

9、可以理解的是,网络设备通过第一映射函数处理不同的流标识后,可能会得到相同的流索引,即不同数据流的流索引可能存在哈希冲突。由此可能会导致第一存储单元中存储的报文计数值是对不同数据流的目标报文的数量进行统计得到的。而本技术提供的方案可以在报文计数值满足统计条件时,更新当前获取到的目标报文所属数据流的流量统计值。由于网络设备获取到流量较大的数据流的目标报文的数量较多,因此对该流量较大的数据流的流量统计值的更新次数会较多。而网络设备获取到流量较小的数据流的目标报文的数量较少,因此对该流量较小的数据流的流量统计值的更新次数会较少。基于此,可以实现对不同数据流的流量的较为准确地统计,进而能够准确识别多个数据流中的特定流。

10、可选地,网络设备将目标流标识上报至控制设备的过程可以包括:网络设备将目标流标识封装在统计报文中,并将该统计报文上报至控制设备。其中,网络设备可以采用在互联网协议(internet protocol,ip)中封装ip(ip encapsulation within ip,ipinip)的封装方式构造统计报文。该统计报文的外层目的ip地址为控制设备的ip地址。

11、可选地,该统计条件可以包括:报文计数值为统计阈值的整数倍,该统计阈值为大于1的整数。相比于基于报文计数值的变化实时更新流量统计值,本技术提供的方案以统计阈值为统计间隔更新数据流的流量统计值,可以有效降低流量统计值的更新频率。由此,可以避免流量统计值的更新频率过高而占用较多的处理资源。

12、可选地,网络设备还可以输出流量统计值最高的前k个数据流的流标识。或者,网络设备还可以输出流量统计值在设定时段内的变化量最高的前k个数据流的流标识。其中,k为大于或等于1的整数。

13、在本技术中,网络设备可以按照预设的统计周期,周期性输出前k个数据流的流标识。其中,网络设备输出数据流的流标识可以是指:网络设备显示数据流的流标识,或者网络设备将数据流的流标识发送至另一设备,以供另一设备显示。

14、可选地,第二映射函数包括第一子映射函数和第二子映射函数。网络设备通过第二映射函数处理目标流标识进行映射得到目标地址索引的过程可以包括:通过第一子映射函数处理目标流标识得到第一子索引。通过第二子映射函数处理目标流标识第二子索引,目标地址索引包括第一子索引和第二子索引。目标地址索引指示的存储区域包括:第一子索引指示的第一子存储区域,以及第二子索引指示的第二子存储区域。多个存储单元包括第一子存储区域和第二子存储区域对应的存储单元。

15、通过采用两个不同的子映射函数处理目标流标识,可以确保对于一个目标流索引,能够确定出两个候选的子存储区域。由此,可以有效提高在该两个子存储区域中确定出满足条件的第一存储单元的概率,进而有效降低哈希冲突的概率。

16、可选地,若多个存储单元中的第二存储单元中的流索引和报文计数值超过设定时长未更新,则网络设备还可以将第二存储单元中存储的流索引和报文计数值删除。由此,可以释放第二存储单元的存储空间,以便继续存储其他数据流的流索引和报文计数值。

17、可选地,该目标报文可以为网络设备接收到的任一报文,或者该目标报文可以为网络设备待丢弃的报文。其中,若目标报文为网络设备接收到的任一报文,则网络设备所统计的数据流的流量可以是指数据流的总报文量。若目标报文为网络设备待丢弃的报文,则网络设备所统计的数据流的流量可以是指数据流的丢包量。

18、第二方面,提供了一种网络设备。该网络设备包括多个功能单元,该多个功能单元相互作用,以实现上述第一方面及其各实施方式中的方法。该多个功能单元可以基于软件、硬件或软件和硬件的结合实现,且该多个功能单元可以基于具体实现进行任意组合或分割。

19、第三方面,提供了一种网络设备。该网络设备包括:存储器,处理器及存储在该存储器上并可在该处理器上运行的计算机程序。该处理器执行该计算机程序时实现如上述第一方面及其各实施方式中的方法。

20、第四方面,提供了一种流统计系统。该流统计系统包括如上述任一方面提供的网络设备,以及控制设备。其中,网络设备用于基于更新后的第一存储单元中的报文计数值,向控制设备上报目标流标识。控制设备用于基于接收到的所述目标流标识,统计所述目标流标识指示的数据流的流量。

21、可选地,该网络设备用于若更新后的第一存储单元中的报文计数值满足统计条件,则将目标流标识上报至控制设备。该控制设备,用于将目标流标识指示的数据流的流量统计值增加第二预设值。

22、可选地,控制设备还用于:输出流量统计值最高的前k个数据流的流标识,或者,输出流量统计值在设定时段内的变化量最高的前k个数据流的流标识;k为大于或等于1的整数。

23、可选地,该网络设备可以为第一芯片,该控制设备可以为第二芯片。其中,第一芯片也称为数据面芯片或转发面芯片,第二芯片也称为控制面芯片。

24、第五方面,提供了一种计算机可读存储介质。该计算机可读存储介质中存储有指令,当该指令被处理器执行时,实现如上述第一方面及其各实施方式中的方法。

25、第六方面,提供了一种包含指令的计算机程序产品。当该计算机程序产品中的指令被处理器执行时,实现如上述第一方面及其各实施方式中的方法。

26、第七方面,提供了一种芯片,该芯片包括可编程逻辑电路和/或程序指令,当芯片运行时,实现上述第一方面及其各实施方式中的方法。

27、本技术提供的技术方案带来的有益效果至少包括:

28、网络设备获取到目标报文后,能够通过映射函数处理目标报文所属数据流的目标流标识,得到目标流索引和目标地址索引。之后,网络设备能够根据目标流索引更新该目标地址索引指示的多个存储单元中第一存储单元中的流索引和/或报文计数值,并基于更新后的第一存储单元中的报文计数值,统计目标报文所属数据流的流量。由于在上述流量统计的过程中,网络设备无需向控制设备上报采样报文,因此有效提高了流统计的效率,且不会占用控制设备的存储空间。又由于第一存储单元中存储的流索引是通过映射函数处理目标流标识得到的,因此可以避免直接存储目标流标识而占用较多的存储空间。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1