【关于 SNMP】 SNMP = Simple Network Management Protocol 简单网络管理协议,由 IETF(Internet Engineering Task Force)定义,详细的标准在其发布的 RFC(Request For Comments)中。 【版本】 SNMPv1 SNMP最初的版本,安全控制基于 community,一种纯文本字符串,由用户自定义配置,用来当作访问设备的权限密码,权限分读,写,trap三种。这种文本在网络中以明文传输,所以安全性无法得到保证。 SNMPv2 SNMP的修订版本,安全控制同样基于 community(因此这个版本也称为 v2c),但在 trap系统中加入 inform机制,比 trap更加可靠。这个版本能够一次检索大块数据,支持 GetBulk操作,并且 V2版的 SMI进行了进一步的扩展。 SNMPv3 SNMP最新的一个版本,拥有较好的安全性,安全机制上完全抛弃 community,但这个版本中没有再追加新的 SMI或MIB,所以可以说SNMPv3 = SNMPv2 + 安全 + 管理。整个 SNMP体系重新进行建模,形成了一个以“entity-engine-application”为核心的体系框架: 【常见概念】 MIB = Management Information Base,管理信息库。它是网络管理数据的标准,在这个标准里规定了网络代理设备必须保存的数据项目,数据类型,以及允许在每个数据项目中的操作。所有数据采用树形结构保存。当前广泛使用的是第二版 MIB,称为 MIB-II。 SMI = Structure of Management Information,管理信息结构。SMI可以看做是 ASN.1(Abstract Syntax Notation One,抽象语法定义。是一种用来定义语法的语言)的一个子集,定义了所使用的 ASN.1的类型和语法,以及 SNMP中使用到的类型,宏,符号等等。SMI用于协议的描述和 MIB的定义。 PDU = Protocol Data Unit,协议数据单元。是网络中传送的数据包,每一种 SNMP操作(get,set,trap等)在物理层面上都对应一个 PDU。 NMS = Network Management System,网络管理系统。是 SNMP中的控制端,也是网络管理的发起者。 Agent,代理,为被管理的设备提供 SNMP的能力,负责设备与 NMS的通信。代理并不是被管理的设备,而是设备上的一个固件,或是再其上面运行的一个嵌入式软件。 Trap,是由被管理的设备(理论上应该是 Agent)主动发出的一种告警数据(一般是TRAP-PDU或 TRAP2-PDU),用以提示 NMS设备的状态发生了某些重要的改变。v2和 v3版本追加了 INFORM-PDU,在 NMS接收 inform后,会发送一个应答给 Agent,...