与TCP/IP结构类似(并并不是单指TCP和IP协议,而是指一个协议体系,其中包含了一百多个协议),SNMP也是由一系列协议和规范组成的,它们一起提供了一种从网络设备中收集网络管理信息的方法,仍然采用 Client/ Server模型的特殊形式:管理/代理模型,对网络的管理与维护是通过管理工作站与SMMP代理间的交互工作完成的,代理负责回答管理工作站关于MIB信息的各种查询和设置。
与TCP/IP结构类似(并并不是单指TCP和IP协议,而是指一个协议体系,其中包含了一百多个协议),SNMP也是由一系列协议和规范组成的,它们一起提供了一种从网络设备中收集网络管理信息的方法,仍然采用 Client/ Server模型的特殊形式:管理/代理模型,对网络的管理与维护是通过管理工作站与SMMP代理间的交互工作完成的,代理负责回答管理工作站关于MIB信息的各种查询和设置。具体包括三个主要组成部分:
1)管理信息库MIB
2)简单网络管理协议SNP
3)管理信息结构SMI(Structure of Management Information)
SNMP协议下有众多的供应商提供设备和服务,如果没有一种约束机制,可能各个企业定义出来的MIB都各不相同,使这样的一些网络设备在SMMP层上的协同工作上出现大麻烦,所以,为了可以在网络环境中统一协调操作MIB中任意对象,需要一种机制,来限制和规范MIB的定义,很显然SMI实现了这一点。
SM∏I确定了可以用于MIB中的数据类型并说明对象在MIB内部怎样表示和命名,它内在的原理是在MIB内部鼓励简单性和可扩展性,因此,MIB只能存储简单的数据类型:标量和标量的二维数组,相应地只能检索标量,包括表中的单个条目,不支持复杂数据结构的创建和检索。
SMI的内容具体包括:
提供标准化的技术来定义特定的MIB结构
◆提候标准化的技术来定义单个对象,包括语法和每个对象的值
◆提供标在化的技术来对对象数据进行编码
1)管理进程,又称网络管理站,管理者可以是工作站、PC机等它负责发出管操作的指令,并接来自代理的信息。
2)管理代理
代理则位于被管理的设各内部,把来自管星者的命令或信息请求转换为本设各特有指令,完成管理者的 同所在语冬的息。被管理的设各是网络中的一个节点,有时被称为网网络单元(Network Elements),被管理的设各可以是路由器、网管服务器、交换机、网桥、集线器等。每一个支持SNP的网络设各中都运行着一个SP代理,它负责随时收集和存管理信息,记录网络设备的各种情况,网络管理件再通过SP道信协议查询或修改代理所记录的信息。代理具有两个基本功能:
◆从IB中读取各种变量值
◆在MB中修改各种变量值
当一个代理被安装到一个设备上时,上述的设备就被列为“被管理的”。换句话说,代理就是一个数据库。数据库中所包含的数据随被安装设备的不同而不同。举例来说,在一个路由器上,代理将包含关于路由选择表、接收和发送包的总数等信息,而对于一个网桥来说,数据库可能包含关于转发包数目和过滤表等信息。一般情况下,代理不主动发出消息,而仅仅响应消息。陷阱消息是唯一由代理发起的SNMP通讯,它是代理警报触发的事件,例如系统重新启动或非法访问,通过陷阱消息提供增强的安全性。
(1)单一代理模式 根据代理与被管理的实际关系,可分为如下几种代理种类:
单一代理是指被管设备上只有一个代理进程。代理既要与网络管理站通讯,进行SNMP协议的操作和转换;也要对本设备进行管理,搜集设备信息和监控设备。这个代理进程要实现本设备所需要支持的所有MIB对象。这种单一代理模式比较简单,早期的代理多数是使用这一代理模式的。其缺点就是MIB对象的扩展比较困难,当被管设备有新的MIB对象实例需要管理时,代理需要重新开发。
(2)委托代理(外部代理)模式
委托代理是一个中介,它使标准网络管理系统能够管理本来不能管理的网络元素。用SNMP的说法,委托代理实现了对不受标准SNMP代理进程直接控制或不直接支持UDP/IP协议機的网络对象的管理。委托代理是对管理能力的强有力扩展。
理站发送正确的响应,同时还需要将本地协议转换成SNMP/UDP/IP协议以便与网络管理站进行通信当一个网络资源不能与网络管理进程直接交换管理信息时,就必须要用到委托代理。比如,有些只有底层协议的网桥和调制解调器就不支持复杂的管理协议以及TCP/IP通信,无法与管理进程直接交换管理信息。这时,管理机构对该种设备的管理信息通信就必须经由委托代理转送,也就是说,外部代理相当于一个“管理桥”边用管理协议与管理进程通信,另一边则与被管理的设备通信。
这种管理的优点是为管理进程创造了透明的管理环境,唯一需要增加的信息是当对网络资源进行管理时要选择相应的委托代理,一个委托代理能够管理多个网络设备。
(3)Master-Subagent模式
为了解决 Agent的可扩展性,IETF早期提出了SMUX(SNMP多重协议),后来发现存在缺陷。在1998年IETF提出了Agentx(Agent Extensibility)协议标准。 Agentx是包含一个主代理和多个子代理进程的一种体系结构,多个子代理进程可以驻留在同一个设备或者相互连接的不同设备中。它们之间通过标准接口进行通信。主代理进程处理SNwP协议,每个子代理进程负责一个特定的MIB视图。当主代理进程在运行并负责与网络管理站通信时,单一的子代理进程API实现子代理进程的动态注册与注销。可扩展代理的优点在于,它能够在网络设备运行时动态增加和MIB实例。
Agentx协议允许多个子代理来负责处理MIB信息,该过程对于SMP管理应用程序是透明的 Agentx协议为代理的扩展提供了一个标准的解决方法,使得各子代理将它们的职责信息通告给主代理。每个符合 Agentx的子代理运行在各自的进程空间里,因此比采用单个完整的SNP代理具有更好的稳定性。另外,通过 Agentx协议能够访问它们的内部状态,进而管理站随后也能通过SNMP访问到它们。随着服务器进程和应用程序处理的日益复杂,最后后一点尤其重要。通过 Agentx技术,我们可以利用标准的SNMP管理工具来管理大型软件系统。
管理信息库(MIB)实际上是指在被管理设备中的数据库,一个概念上的数据库,在SMNP术语中它通常被称为管理信息库(MIB)。MIB中信息为网管中被管资源,而网络管理中的资源是以对象表示的,每个对象表示被管资源的某方面属性,这些对象就形成了MIB库,它采用和域名系统相似的树型结构,根在最上面,且没有名字。每个MIB变量记录了每个相连网络的状态、通信量统计数据、发生差错的次数以及内部数据结构的当前内容等。比如MIB-II,定义了 system(设备基本信息,如联系人、生产商、地理位置等)、 interfaces(设备上的网络接口)、at(地址转换换表)、ip、1cmp、tcp、udp等几个管理信息组,每组又有自己的管理信息与子树,实现具体的状态信息管理网络管理者通过对MIB库的存取访问,来实现五大管理功能。4)管理协议(SNMP)
管理者和代理之间的通信必须遵循某些规则和约定,这就是SNMP及相关协议。它定义了数据包的基本格式,是管理进程和管理代理之
间的信息交换的基础,它还控制着管理代理的MIB数据对象。因此,可用于处理管理代理定义的各种任务。SNP协议之所以易于使用,这是因为它对外提供了三种用于控制MIB对象的基本操作功能。它们是Set、Get和Trap:
Set:它是一个特权命令,因为可以通过它来改动设备的配置或控制设备的运转状态。
Get:它是SNMP协议中使用率最高的一个命令,因为该命令是从网络设备中获得管理信息的基本方式。
Trap:它的功能就是在网络管理系统没有明确要求的前提下,由管理代理通知网络管理系统有一些特别的情况或问题发生了。
SNMP协议也定义了执行以上三个命令时的报文流,但它没有定义其它的设备管理代理命令,可应用于MIB数据对象的操作只有Set和Get命令,这两个命令的目标是数据对象的值。比如说,SNMP协中没有定义 reboot(重启)命令;然而,管理代理软件把MIB数据对象和设备的内部命令联系起来,这样就可以实现某些特殊的命令操作。如果现在想要重启某个设备,管理系统就把某个与重启有关的MIB数据对象的值设为1(我们的假定)。这样就会触发管理代理执行重新启动设备的命令,同时还把这个MIB数据对象重新设置为原来的状态。SNMP在具体实现时主要使用五种操作语句,以实现SNMP的GET、SET、TRAP三种操作功能,从而得到管理信息。
可能您还想看