RMON学习笔记(一)
远程网络监视(KMON)是对SNMP最重要的增强,定义在RFCl271中。它定义的MIB补充为MIB—II,并且MIB—II向网络管理人员提供了有关互联网络的关键信息。
利用MIB-II,网络管理人员可以获取对单个设备纯属本地的信息。可以获知出入某个设备的信息流量,但却不易获知LAN上的整体流量。通常,一个用于研究网络整体流量的设备被称为网络监视器,或网络分析器、探测器。
1。RMON的目标
RMON的规范主要是——个MIB定义,它定义了标准网络监视功能以及在管理控制台和远程监视器之间的通信接口。RMON提供了一个有效而且高效的方法,它可以在降低其它代理和管理站负载的情况下监视子网的行为。在RFcl271中列出了RMON的设计目标:
脱线工作:由网络管理器来限制或停止一个监视器的轮询是可取而且是必要的,有限制的查询可以节约通信开支。(在管理器不查询时也不断的统计数据,并在发生错误时报警。这个应该是称它为脱线工作的原因。yl)
抢先监视:如果有充足的资源,并且认为其行为不会有很大的破坏性,监视器可以不断地对网络进行诊断并记录网络性能状况。(不断采集数据,在故障发生时提供有用信息。yl)
问题检测和汇报:监视器可以根据它所观测到的流量被动地(无查询地)识别某些错误及其它情况,如拥塞。
值数据:网络监视器可以分析在其子网中收集的数据,从而减轻管理站的负担。
多管理者支持:一个互联网可以配置多个管理站,以获得可靠性和执行不同功能或管理同一组织的不同部分。监视器可以配置为同时和多个管理站打交道。
2。对远程监视器的控制
远程监视器有两种实现方式:
1。专用设备。
2。作为系统功能的一部分。
为了有效地管理远程监视器,在RMON MIB中提供厂对来自管理站的各种控制的支持。这些支持分为两大类:配置和动作发动。
2。1配置
一般情况下,需要对远程监视器进行数据搜索配置.指明要收集的数据类型和形式。
RMON MIB容纳它的方法如下:MIB被组织成几个功能织,在每一组内,可能有一个或多个控制表和一个或多个数据表。控制表一般可读写,它包含描述数据表的数据的参数,而数据表一般只可读。所以在配置时,管理站设置合适的控制参数来配置远程监视器使其收集所需的数据。通过在控制表上加上一个新行或更改已有的一行来设置参数。监视器按照控制行中的参数设置收集信息.并存放在相应的数据表的行中。
2。2动作发动
SNMP没有提供向代理发布命令以执行某个动作的特殊机制.SNMP的唯一功能就是读取和设置MIB视图内对象的值。然而,利用SNMP的set操作发布命令也是可能的:可用对象来代表一个命令,这样当该对象被设为一个特定值时,一个特定动作就会被执行。
3。多管理者的支持
某一资源允许并发访问,就会有冲撞和产生意外结果的可能:
并发资源请求会超过监视器提供这些资源的能力。
管理站可能捕捉并保持监视器资源很长一段时间,阻止了其他管理站的管理功能的执行。
资源会分配给某一个管理站,这个管理站由于崩溃而无法释放资源。
RMON MIB通过为每个控制表增加一个列对象来解决这些问题,他指定了表的特定行及相应功能的所有者通过所有者标号:
管理站可以识别它所有的不再使用的资源。
如果管理站经过了从新启动,它可以识别其在过去预定的资源,并释放它不再需要的那些部分。
RMON规范建议所有者标号包含一个或多个如下元素:IP地址、管理站名称、网络管理者的名字、地址或电话号码。
如果有多个网络管理者具有访问一个控制表的权利,可通过共享取得较高的效率。
4。表管理
在不违反或更改SNMP框架的情况下,为行增减提供了一个清楚又条理的方法。
4。1
在RMON规范中,定义了两个新的数据类型,用ASN.1表示,其定义如下:
OwnerString::=DisplayString
EntryStatus::=INTEGER{ valid(1),
createRequest(2),
underCreation(3),
invalid(4)}
在RMON MIB中,在每个可读写表中都有两个对象OwnerString和EntryStatus,他们的值分别指定那一行的所以者和行状态。
管理站利用SNMP把一行加入一个RMON表中,通过发一个包括表的多个列对象标识符的SetRequest PDU实现。
RMON MIB支持内多个管理站引起的并发友增加企图所带来的问题的处理机制,他是通过该表对应的行状态的管理来实现的。由几步组成:
1 如果管理站试图创建一个新行,并且索引对象值不存在,就以createRequest(2)为状态对象值开始创建一个新行。
2.创建操作完成后,代理把状态对象值设置成underCreation(3)。
3.在管理站创建完其配置所需的所有行之前,这些行应一直处于underCreation(3)状态,直至管理站把每一新创建行的状态对象值设置为vdid(1)。
4.如果其它管理站试图以createRequest(2)状态创建一新行,而该行已经存在,就会返回错误信息。
4。3行更改和删除
通过把其状态对象值设置为无效,一行就可被删去。