dcsimg

面向所有人的SNMP

最佳ENP: SNMP无处不在,并且版本很多。在了解有关在多个不同平台上实施的知识之前,请先了解基础知识。

 By 卡拉·施罗德
第页  |  返回第1页

管理小型网络并不那么困难。当某事不起作用时,通常很容易发现故障所在。但是,即使对于小型网络,也应进行某种管理和监视。随着网络的发展,拥有一些不知疲倦的自动监视程序来监视事物变得更加重要。

计算机世界里塞满了各种各样的监视,警报和管理工具,从MRTG,Cacti,Nagios,OpenNMS和Mon等漂亮的免费开源应用程序,到昂贵的商业套件,除了做早餐外,其他一切都可以做,例如ZenWorks, HP OpenView和Tivoli。它们执行一系列不同的任务,例如网络发现和映射,提供实时状态指示器,报告故障,跟踪进程,磁盘使用情况,重新启动已关闭的服务器以及关闭有故障的设备。

这些共同点是它们都支持SNMP。 SNMP(简单网络管理协议)自80年代以来就存在。这个想法是创建一个用于管理IP(Internet协议)设备的标准协议,而不是让使用不同,不兼容的客户端代理的不同应用程序和套件杂乱无章。

SNMP结构
当您开始阅读有关SNMP的文章时,您会遇到各种各样的新术语和缩写。 SNMP管理的网络中有三个主要部分:网络管理系统(NMS),有时也称为管理器,代理和受管设备。代理是受管设备中的软件模块。可以将它们视为处理设备与管理器之间的通信的中介。由于SNMP提供了一个通用标准,因此理论上所有带有SNMP代理的设备都可以由任何支持SNMP的管理应用程序进行管理。消息来自两端:管理者可以查询代理,而代理可以向管理者自愿提供信息。

某些设备具有内置的代理,例如管理型交换机,路由器,打印机,电源和网络访问点。您还可以在服务器或工作站上安装SNMP代理以监视几乎所有可监视的内容:CPU温度,服务,数据库性能,磁盘空间,网卡性能— you name it.

SNMP版本
SNMP有三种版本:SNMPv1,SNMPv2和SNMPv3。 SNMPv1是最广泛使用的,可能还会持续一段时间。对v1的主要反对意见是缺乏安全性;所有消息均以明文形式发送。 v2是为了增加安全性而开发的,但是似乎开发有些失控了,我们最终得到了四个版本:

  • SNMPv2p
  • SNMPv2c
  • SNMPv2u
  • SNMPv2“星号”或SNMPv2 *
作为适当的标准,RFC中仅记录了前三个。尽管对于SNMP,拥有RFC可能无济于事,因为存在一些复杂的问题。整理它们的运气很好。 v2还添加了一些新功能,这增加了复杂性,因此非常混乱。

SNMPv3应该能够恢复秩序和理智,它是一个很好的实现,易于使用并且具有真正的安全性,因此随着时间的推移,它应该取代v1和v2。

SNMP命令
所有版本都有一组通用的SNMP命令: 读,写陷阱。您可能听说过“ SNMP陷阱”。您的管理器使用读取和写入命令:它轮询设备信息,这些信息由代理存储为变量,然后将命令写入设备,这意味着更改变量。受管设备以异步方式发出陷阱,这意味着当它们有紧急情况要说时,它们不必等待管理器询问情况如何。例如,路由器将报告其已失去Internet连接,或者服务器正在过热和崩溃。您的经理会抓住陷阱,并在理想情况下做出明智的反应。

SNMP的独到之处在于,它不需要受管设备执行除报告状态以外的任何操作,这给它们带来了微不足道的负担,并使用管理器来完成所有繁重的工作,例如评估其收集的信息并确定要处理的内容。用它做。 NMS不发出命令,而是重新编写变量。这可能有点怪异,但是结果是一个非常灵活,成本低的系统,该系统易于由不同供应商在不同平台上的各种设备上实施。

SMI和MIB
不,不是不可抗拒的时尚Mul鱼和黑衣人,而是管理信息和管理信息库的结构。这是所有这些设备变量及其存储方式的精彩演讲。每个代理都保留一个他们正在跟踪的对象列表。然后您的经理以希望有用的方式收集和使用此信息。 SMI是用于定义对象的语法或框架; MIB是特定对象的定义。每个对象都有一个唯一的对象标识符(OID)。这些与MAC地址的管理方式相同,具有中央注册表和对硬件供应商的唯一分配。

SNMP消息
SNMP的所有版本都使用以下五个消息:GetRequest,GetNextRequest,SetRequest,GetResponse和Trap,我相信它们会自己解释。 SNMPv2使用与v1不同的消息格式和协议操作,这几乎使其与v1不可互操作。但是,有解决方法。一些管理器同时支持v1和v2,或者您的v2代理可以充当v1代理。这意味着它们在管理器和代理之间翻译消息,以便v1设备可以理解它们。

雷蒙
RMON或远程监视是SNMP的一部分。它是一个MIB模块,它定义了一组供网络监视探针使用的MIB对象。 SNMP框架由数十个MIB模块组成。有些是免费提供的,有些是深层专有的秘密,当然,您始终可以编写自己的秘密。 (请参阅参考资料中的在线MIB验证器,并下载MIB。)

SNMP实战
在以后的文章中,我们将深入探讨如何在基于Linux的网络管理应用程序中使用SNMP。在此之前,您可以试用SNMP来查看它的外观。在Debian上,安装 mpmp 包。在Fedora上, 网络快照-utils网络快照。安装程序应自动启动snmp守护程序。然后运行以下命令:

#mpwalk -v 1 -c public localhost system
这应该吐出一堆看起来像这样的输出:
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (32) 0:00:00.32
SNMPv2-MIB::sysORID.1 = OID: IF-MIB::ifMIB
SNMPv2-MIB::sysORID.2 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.3 = OID: TCP-MIB::tcpMIB
当然,手册页会告诉您如何做更多有趣的事情,Douglas Mauro和Kevin Schmidt撰写的O'Reilly出色的著作《 Essential SNMP,第二版》是理解和使用SNMP的实用指南。

资源资源
是否想阅读SNMP RFC?真?好吧,那好吧。从相关RFC的以下方便部分表开始:

添加到del.icio.us | DiggThis

本文最初于2008年8月5日发布
通过网络更新新闻获取最新消息