截至 2015 年,SNMP 仍被广泛使用吗?

截至 2015 年,SNMP 仍被广泛使用吗?

15 年前,SNMP 的很多功能对我来说似乎很麻烦。其中一个例子是 MIB 的概念,它是本地资源,用于“理解”其他数字 OID。

SNMP 是否已经现代化或转变为其他东西?它仍然是网络设备的必备功能吗?

答案1

遗憾的是,SNMP 仍然广泛使用。 协议的后续版本已经解决了 SNMPv1 中的许多问题,但这些问题几乎全部都是为了修复安全模型。因此,SNMP 流量现在比较臃肿,但他们没有解决我认为是 SNMP 的明显缺陷 - 存储在 MIB 中的数据位于监控/被监控设备交换之外。

在 SNMPv1 中,将 MIB 存储的数据与该交换分开,以及随后在线路上使用数字 OID 是有意义的,因为它将大多数交换保持在每个方向的单个 UDP 数据报中。在我看来,从 v3 开始,它不再有意义 - 但我不是 IETF。

遗憾的是,SNMP 仍然是一种最低公分母管理协议,而且我经常惊讶地发现,在很多设备中提取监控数据的最简单方法就是使用基于 UDP 中的 RO 社区字符串的 SNMPv1。

编辑(2018):因为它非常切题,所以我引用了 Geoff Huston 在《互联网协议杂志》2018 年 8 月刊

二十五年前,互联网开始使用简单网络管理协议 (SNMP),尽管该协议存在安全漏洞、效率低下、使用抽象语法表示法一 (ASN.1) 非常烦人,并且会遭受某些形式的分布式拒绝服务 (DDoS) 攻击,但它仍然得到广泛的应用。

答案2

我从事网络监控系统工作,SNMP 仍然被广泛使用和依赖,原因如下:

  • 使用 UDP 作为底层协议使 SNMP 非常高效。由于大多数监控/管理都在您自己的数据中心内完成,因此您不必担心数据包在公共互联网上丢失,而 TCP 确认和流量控制则显得多余。SNMPv2 解决了 SNMP 的一些原始低效问题,例如增加了对 BULK GET 的支持。
  • SNMP 在联网设备中是通用的。几乎所有联网设备都实现了 SNMP 代理。MIB 确保有一个全局空间,不同供应商可以以受控的方式添加信息,从而使查找要查询哪些 OID 的信息变得更容易,并且几乎与供应商无关。
  • 最后,还没有一个好的候选者可以替代。SNMP 可能不是很好,但它已经足够好了。现在有几种网络设备都有 API 来获取相同和额外的信息,但正如我在第二点中所说,查询这些 API 的方式显然因设备而异,并且没有一个端点是跨设备的标准化的。

答案3

大家都同意@madhatter 的观点,SNMPv2 不会很快消失。

但就未来而言,一些电信 NEP 开始提供网络配置协议接口(基于 XML)与 SNMP 并行,并且它似乎以牺牲 SNMP 为代价获得发展势头,不仅可以替代 CLI/TL1,还可以替代传统上通过 SNMP 实现的 FCAPS 功能。

另请参阅此旧文(2013 年)信息世界文章

相关内容