首页 > 其他分享 >使用counter64解决通过SNMP获取网络流量数据不准问题

使用counter64解决通过SNMP获取网络流量数据不准问题

时间:2023-11-07 09:58:33浏览次数:35  
标签:counter64 最大值 Counter64 SNMP 网络流量 计算 速率 清零

网络流量实时速率是如何计算的?

首先我们要知道网络流量实时带宽是如何计算出来的,我们先拿接口流入流量来举例子。
通过SNMP的ifInOctets键值,我们可以获取到接口流入数据量的累计总量。那么如果我们想要计算流入流量的带宽速率,只需要固定一个时间间隔(比如30s),在前后分别获取一次累计总量,再计算差值,即可得出30s的流入数据量总量。这时候就是一个简单的速度计算了,数据总量差值/时间间隔,就是这段时间内的流入流量的平均带宽速率。这也和瞬时速率同理,只要时间间隔越短,越能代表瞬时速率。
那么我们就可以获得计算公式:

为什么要用Counter64来获取网络流量数据?

首先讲讲Counter32的问题在哪里吧。
上文我们提到,计算网络流量速率是通过获取累计总量的差值来计算的。于是就有一个很明显的问题:这是一个累计值,只要设备在使用就会导致这个值无限的累加,而计算机处理数据是有最大位长限制的。那如果达到该怎么办呢?就会将这个值清零再重新进行累加。这样就有一个最大值,达到最大值时就会清零重新进行计算。
而Counter32呢,这个最大值为(2^32-1)Byte,也就是超过4GB时就会进行清零。
当我们端口速率过大的时候,这个最大值显然是不够用了。当累计值被清零,而计算程序不知道时,就会导致计算速率不准确、异常。举个例子:
假设我们的业务量端口速率有2Gbps,也就是250MB/s,在16s左右时,累计值就会被清零。如果速率计算程序的时间间隔大于16s,则会造成数据计算异常。
诚然,将时间间隔修改成16s内,甚至10s,或许可以解决问题。但终究是治标不治本的方案。而且时间间隔这么短也会加大网络的开销,因为要频繁通过SNMP获取信息。假如端口的数量一多,更是会造成其他的开销增大。
我拿我的业务举例子,当时间间隔设置为30s的时候,流量速率显然是异常的。而设置为10s,则是正常的(其实也不完全正常)。

 

 

问题在哪不言而喻:Counter32的最大值太小,不够用。
而Counter64则是用于解决这个问题的。Counter64的最大值为(2^64-1)Byte,也就是16EB。就算是千兆口24小时跑满,也需要4000多年才能跑完。以目前的发展情况来看,16EB是完全足够用的,不需要担心。
所以只要将Counter32更换为Counter64就能解决问题。

如何更换Counter64来获取网络流量数据?

在SNMP中,更换到Counter64,键值以及OID也会发生变化:
流入流量:

*Counter32Counter64
键值 ifInOctets ifHCInOctets
OID 1.3.6.1.2.1.2.2.1.10 1.3.6.1.2.1.31.1.1.1.6

流出流量:

*Counter32Counter64
键值 ifOutOctets ifHCOutOctets
OID 1.3.6.1.2.1.2.2.1.16 1.3.6.1.2.1.31.1.1.1.10

计算公式也可以换一下了

 

 

原文链接:https://owomoe.net/dev/182.html

标签:counter64,最大值,Counter64,SNMP,网络流量,计算,速率,清零
From: https://www.cnblogs.com/xwupiaomiao/p/17814325.html

相关文章

  • 安全运营之Zeek开源网络流量分析工具安装部署
    一、zeek简要介绍    Zeek官方网站为https://zeek.org/,官网将其定义为一款开源的网络安全流量分析工具,其前身为Bro,在其官方网站可以找到详细的文档说明,zeek可以以单节点部署,也可以以集群的方式部署。Zeek的架构如下:其中有两个关键的组件,EventEngine以及PolicyScriptInter......
  • Zabbix技术分享——使用SNMP监控网络设备
    前言:SNMP介绍SNMP(简单网关协议,SimpleNetworkManagementProtocol)是专门设计用于在IP网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。SNMP的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。随后人们对SGMP进行了很大的修改,特别......
  • 网络规划设计师真题解析--SNMP管理(安全威胁)
    在网络管理中要防范各种安全威胁。在SNMP管理中,无法防范的安全威胁是(35)。A.篡改管理信息:通过改变传输中的SNMP报文实施未经授权的管理操作B.通信分析:第三者分析管理实体之间的通信规律,从而获取管理信息C.假冒合法用户:未经授权的用户冒充授权用户,企图实施管理操作D.截获:未经授权......
  • MRTG监控linux服务器性能(网络流量,CPU,磁盘等)
     yum-yinstallmrtg* ......
  • Debian6 配置 snmp
    Debian6配置snmp1.首先在堡垒机页面上配置,系统设置-连接设置-SNMP设置,输入地址和团体名,如果服务端没有收到信息则执行以下步骤2.到堡垒机后台,开通远程访问修改主配置文件注释掉下面这一行:agentAddressudp:127.0.0.1:161并把下列行取消注释:agentAddressudp:161,udp6:[::......
  • Kubernetes中的容器网络流量管理实践案例
    前言Kubernetes是一个流行的容器编排平台,它提供了许多功能,包括容器网络流量管理。在本文中,我们将深入探讨Kubernetes中的容器网络流量管理实践案例。容器网络流量管理Kubernetes中的容器网络流量管理是一个非常重要的功能,它可以帮助我们管理容器之间的通信。在Kubernetes中,每个......
  • 基于 SNMP 协议收集主机信息
    我们使用root用户先到Metasploitable2-Linux主机上修改一下SNMP服务,因为默认服务是不对外开放的。 msfadmin@metasploitable:~#vim/etc/default/snmpd改第11行SNMPDOPTS='-Lsd-Lf/dev/null-usnmp-I-smux-p/var/run/snmpd.pid127.0.0.1'为:SNMPDOPTS=......
  • keepalived 报错/usr/sbin/keepalived: error while loading shared libraries: /lib6
    yuminstallkeepalived的时候提示需要一下包Installing: keepalived                                        x86_64                               1.3.5-19.el7               ......
  • 通过snmp获取设备每个接口的配置IP地址,网段信息和VLAN接口号
    第一部分,观察通过snmpOID能获取的信息,对信息进行关联。1、通过snmp获取到接口IP地址和掩码信息,发现IP地址作为索引值;2、每个IP地址的索引,都可以关联到接口的索引3、每个接口索引,都可以通过snmp获取到接口的名称,降这个3个数据进行关联,可以得到接口名称和网段信息的关联。第......
  • 防火墙配置SNMP
    深信服AC配置SNMP 深信服AF配置SNMP 深信服AD配置SNMP  在接口上启用是snmp管理,平台有网神的mib,可以都读到数据 ......