网络管理:远程网络监视


ROMN

监视器

之前学习的 MIB-2 能提供单个设备的管理信息,但是并不能提供整个网络的通信情况。想要获取对于整个网络的管理信息,需要使用远程网络监视技术。用于监视整个网络通信情况的设备叫做网络监视器网络分析器探测器等。监视器观察 LAN 上出现的每个分组,并进行统计和汇总,也可以存储一些分组供以后分析用。监视器也根据分组类型进行过滤,捕获特殊的分组。通常是每个子网配置一个监视器,并且与中央管理站通信,因此叫做远程监视器。RMON 定义了远程网络监视的管理信息库,以及管理站与远程监视器的之间的接口

远程网络监视的目标

RMON的目标就是监视子网范围内的通信,从而减少管理站和被管理系统之间的通信负担。RMON 有下列目标:

目标 说明
离线操作 管理站停止对监视器的轮询时,监视器仍持续不断地收集、统计和积累数据
主动监视 监视器可以主动连续地或周期地运行诊断程序,收集并记录网络性能参数
问题检测和报告 监视器也可以被动地获取网络数据,并在出现错误时通知管理站
提供增值数据 监控器可以分析收集到的子网数据
多管理站操作 监视器可以配置得能够并发地工作,为不同的管理站提供不同的信息

RMON 表管理

在 SNMPv1 的管理框架中,对表操作的规定是很不完善的。RMON 规范包含一组文本约定和过程化规则,在不修改、不违反 SNMP 管理框架的前提下提供了明确而规律的增加行和删除行操作。

表结构

在 RMON 规范中增加了两种新的数据类型,以 ASN.1 表示如下:

OwnerString ::= DisplayString,
EntryStatus ::= INTEGER{valid(1), createRequest(2),
                        underCreation(3), invalid(4)}

在每一个可读/写的 RMON 表中都有一个 OwnerString 对象,其值为表行的所有人或创建者的名字。RMON 的表中还有一个对象 EntryStatus,其值表示行的状态,对象名以 Status 结尾,用于行的生成、修改和删除操作。
RMON 规范中的表结构由两部分组成:

功能
控制表 定义数据表的结构
数据表 用于存储数据

行的操作

增加行

管理站用 Set 命令在 RMON 表中增加新行,添加新行的流程图如下。在多个管理站请求产生同一概念行时,仅最先到达的请求成功,其他请求失败。另外管理站也可以把一个已存在的行的状态对象的值由 invalid 改写为 valid 起到恢复旧行的作用。

删除行

只有行的所有者才能发出 SetRequest PDU,把行状态对象的值置为 invalid(4) 删除该行。

修改行

首先置行状态对象的值为 invalid(4),然后用 SetRequest PDU 改变行中其他对象的值。

多管理站访问

当多个管理站访问时可能的问题:

  1. 多个管理站对资源的并发访问可能超过监视器的能力;
  2. 一个管理站可能长时间占用监视器资源,使得其他站得不到访问;
  3. 占用监视器资源的管理站可能崩溃,却没有释放资源。

RMON 控制表中列对象 Owner 规定了表行的所属关系,通过 Owner 控制资源的所属关系解决多管理站并发访问的问题。RMON 规范建议,所属标志应包括 IP 地址,管理站名,网络管理员的名字、地点和电话号码等,所属标志不能作为口令或访问控制机制使用。

RMON 的管理信息库

RMON MIB

RMON 规范定义了管理信息库 RMON MIB,它是 MIB-2 下面的第 16 个子树。RMON MIB 分为 10 组,存储在每一组中的信息都是监视器从一个或几个子网中统计和收集的数据。

这 10 个功能组都是任选的,但实现时有下列连带关系

  • 实现报警组时必须实现事件组。
  • 实现最高 N 台主机组时必须实现主机组。
  • 实现捕获组时必须实现过滤组。

统计组

统计组提供一个表,该表的每一行表示一个子网的统计信息。其中大部分对象是计数器,记录监视器从子网上收集到的各种不同状态的分组数。这个组的很多变量对性能管理是有用的,而变量 etherStatsDropEvents、etherStatsCRC-AlignErrors和etherStatsUndersizePkts 则对故障管理有用。

历史组

历史组存储的是以固定间隔取样所获得的子网数据,该组由历史控制表和历史数据表组成。

功能
历史控制表 定义被取样的子网接口编号、取样间隔大小以及每次取样数据的多少
历史数据表 存储取样期间获得的各种数据

数据表中包含与以太网统计表类似的计数器,提供关于各种分组的计数信息。与统计表的区别是这个表提供一定时间间隔之内的统计结果,这样可以做一些与时间有关的分析。例如可以计算子网利用率变量 etherHistoryUtilization,如果计算出取样间隔(Interval)期间收到的分组数 Packets 和字节数 Octets,则子网利用率可计算如下。其中 10^7 表示数据速率为 10Mb/s,以太网的帧间隔 96 比特,帧前导字段 64 比特,因此每个帧有 96+64 比特的开销。

每个数据行保存一次取样数据,它们与统计表(见统计组)中的数据有关。例如,历史表中的数据 etherHistoryPkts 等于统计表中的数据 etherStatsPkts 在取样间隔结束时的值减去取样间隔开始时的值之差。

主机组

主机组收集新出现的主机信息,其内容与接口组相同。监视器观察子网上传送的分组,根据源地址和目标地址了解网上活动的主机,为每一个新出现(启动)的主机建立并维护一组统计数据。

功能
主机控制表 每一个控制行对应一个子网接口,每一个数据行对应一个子网上的一个主机
主机数据表 每一行由主机 MAC 地址 hostAddress 和接口号 hostlndex 共同索引,记录各个主机的通信统计信息
主机时间表 与主机数据表内容相同,但是以发现时间 hostTimeCreationOrder 排序的

主机表 hostTable 的总行数可以用这个公式算出,其中 Ni 为控制表第 i 行 hostControlTableSize 的值,k 为控制表的行数,N 为主机表的行数,i 为控制表索引 hostControlIndex 的值。

例如图中,监视器有两个子网接口(k=2),子网 1 与接口 1 相连(对应的 hostControlIndex 值为1),有 1 台主机,所以该行的 hostControlTableSize 的值为 1(N1=1)。子网 2 与接口 2 相连,有两台主机,所以对应子网 2 的值是 hostControlIndex=2 (N2=2)。

最高 N 台主机组

最高 N 台主机组记录某种参数最大的 N 台主机的有关信息,这些信息的来源是主机组,包含一个控制表和一个数据表。

矩阵组

矩阵组记录子网中一对主机之间的通信量,信息以矩阵的形式存储。矩阵组由 3 个表组成:

功能
矩阵控制表 指明发现主机对会话的子网接口
矩阵数据表 分成源到目标(SD)和目标到源(DS)两个表

报警组

报警组定义了一组有关网络性能的门限值,超过门限值时向控制台产生报警事件,这一组必须和事件组同时实现。报警组由一个表组成,该表的一行定义了一种报警:监视的变量、采样区间和门限值。采样类型分为两种,absoluteValue(1) 表示采样值直接与门限值比较,deltaValue(2) 表示连续两次的采样值相减后与门限值比较,所以比较的是变化率叫做增量报警
产生一个上升警报后,除非采样值落回上升门限到达下降门限,并且再一次到达上升门限,将不再产生上升警报,对下降报警的规则是类似的。这种“迟滞”机制的作用是避免信号在门限附近波动时产生很多报警,加重网络负载。

过滤组

过滤组使监视器可以观察接口上的分组,通过过滤选择出某种指定的特殊分组。这个组定义了两种过滤器:

过滤器 功能
数据过滤器 按位模式匹配,即要求分组的一部分匹配或不匹配指定的位模式
状态过滤器 按状态匹配,即要求分组具有特定的错误状态(有效、CRC错误等)

各种过滤器可以用逻辑运算(AND、OR等)来组合,形成复杂的测试模式。一组过滤器的组合叫做通道,可以对通过通道测试的分组计数,也可以配置通道使得通过的分组产生事件(由事件组定义),或者使得通过的分组被捕获(由捕获组定义)。

过滤组由两个控制表组成:

功能
过滤表 定义了一组过滤器
通道表 定义由若干过滤器组成的通道

包捕获组

包捕获组建立一组缓冲区,用于存储从通道中捕获的分组,这个组由控制表和数据表组成。

事件组

事件组的作用是管理事件,事件是由 MIB 中其他地方的条件触发的。产生事件的条件在 RMON 其他组定义,例如报警组和过滤组都有指向事件组的索引项。事件还能使得这个功能组存储有关信息,甚至引起代理进程发送陷入消息。事件组分为两个表:

功能
事件表 定义事件的作用
日志表 记录事件出现的顺序和时间

RMON2 管理信息库

RMON MIB 只能存储 MAC 层管理信息。RMON2 对 RMON MIB 进行了扩充,使得能够监视 MAC 层之上的通信,这是 RMON2 和 RMON 最关键的区别。

9 个新的功能组

RMON2 监视 OSI/RM 第 3 到第 7 层的通信,能对数据链路层以上的分组进行译码。这使得监视器可以管理网络层协议,能了解分组的源和目标地址,能知道路由器负载的来源。监视器也能监视应用层协议,例如电子邮件协议、文件传输协议、HTTP协议等,这样监视器就可以记录主机应用活动的数据。
RMON2 扩充了 RMON MIB,增加了 9 个新的功能组:

功能组 功能
协议目录组 提供了表示各种网络协议的标准化方法,使管理站可以了解监视器所在的子网上运行了什么协议
协议分布组 统计各种协议流量数据,例如发送了多少分组、多少字节等
地址映像组 IP 与 MAC 地址的映像关系。用于网络设备发现、建立网络拓扑结构
网络层主机组 类似于 RMON1 的主机组,可跨网基于 IP 收集主机信息
网络层矩阵组 记录主机对(源/目标)之间的通信情况,信息类似于 RMON1 的矩阵组
应用层主机组 每行对应一台主机的一个应用协议,记录主机发送/接收的分组/字节数等
应用层矩阵组 统计一对应用层协议之间的通信情况,特定参数(如分组数/字节数)TopN 等
用户历史组 周期地收集统计数据
监视器配置组 定义监视器的标准参数集合,提高管理站和监视器之间的互操作性

索引功能

RMON2 引入了两种与对象索引有关的新功能,增强了 RMON2 的能力和灵活性。

外部对象索引

在 SNMPv1 管理信息结构的宏定义中,没有说明索引对象是否必须是被索引表的列对象。在 SNMPv2 的 SMI 中,已明确指出可以使用不是概念表成员的对象作为索引项。
在这种情况下,必须在概念行的 DESCRIPTION 子句中给出文字解释,说明如何使用这样的外部对象唯一地标识概念行实例。RMON2 采用了这种新的表结构,经常使用外部对象索引数据表,以便把数据表与对应的控制表结合起来。

时间过滤器索引

网络管理应用需要周期地轮询监视器,以便得到被管理对象的最新状态信息。为了提高效率,一般会希望监视器每次只返回那些自上次查询以来改变了的值。SNMPv1 和 SNMPv2 中都没有直接解决这个问题的方法。RMON2 的设计者在 MIB 的定义中实现了这个功能,就是用时间过滤器进行索引。
类型为 TimeFilter 的对象专门用于表索引,其类型也就是 TimeTicks。这个索引的用途是使得管理站可以从监视器取得自从某个时间以来改变过的变量,这里的时间由类型为 TimeFilter 的对象表示。

RMON2 的应用

协议标识符

各层都都可能运行各种协议,有些是标准的,有些是特定产品的,各协议之间还有复杂关系。为了在远程网络监视中必须能识别各种网络协议,表示协议之间的关系,RMON2 提供了表示协议类型和协议关系信息的标准方法。
RMON2 用协议标识符协议参数表示一个协议以及该协议与其他协议之间的关系,协议标识符是由字节串组成的分层的树结构,类似于 MIB 对象组成的树。
协议标识符树的节点是对于每个协议层定义为 32 位的字节串,编码为 4 个十进制数 [a.b.c.d]。链路层协议字节串是协议标识符树的根,下面每个直接相连的节点是链路层协议直接支持的上层协议,整个协议标识符树就是这样逐级构造的。如图表示的是以太网协议直接支持 IP 协议,UDP 运行于 IP 之上,最后 SNMP 报文封装在 UDP 数据报中传送,用文字表示就是ether2.ip.udp.snmp。

RMON2 协议标识符和协议参数的格式为,开头有一个字节的长度计数字段 cnt,后续各层协议的子标识符字段。每层协议的子标识符都与上述链路层协议字节串相似,是 32 位编码为 4 个十进制数。

例如 SNMP 协议的标识符,根据上面的协议标识符协议树可以构造出来,因为标识符长度为 16,所以 cnt 的值为 16。

16.0.0.0.1.0.0.8.0.0.0.0.17.0.0.0.161

协议参数的格式是长度计数字段 + 各层协议的参数,参数的每个比特定义了一种能力。最低两比特的含义分别是:比特 0 表示允许上层协议 PDU 分段,比特 1 表示可以为上层协议指定端口号。例如 SNMP 加上协议参数后表示如下,其中十进制 1,对应 8 位二进制为 0000 0001,比特
0 值为 1,表示 IP 之上的协议 PDU 可以分段传送。

16.0.0.0.1.0.0.8.0.0.0.0.17.0.0.0.161.4.0.1.0.0

用户定义的数据收集机制

RMON1 中是预先定义的,在 RMON2 中可由用户定义。历史收集组有 3 级表组成:

功能
第一级控制表 说明了一种采样功能的细节(采样的对象数、采样区间数和采样区间长度等),每行定义下一级的一个表
第二级用户历史对象表 也是控制表,说明采样的变量和采样类型,其行数等于上一级表定义的采样对象数
第三级历史数据表 由第二级表的一行控制,记录着各个采样变量的值和状态以及采样间隔的起止时间

监视器的标准配置法

为了增强管理站和监视器之间的互操作性,监视器配置组中定义了远程配置监视器的标准化方法。监视器配置组中的 4 个表是:

功能
串行配置表 用于定义监视器的串行接口
网络配置表 用于定义监视器的网络接口
陷入定义表 定义了陷入的目标地址等有关信息
串行连接表 存储与管理站建立 SLIP 连接需要的参数

参考资料

《计算机网络管理(第三版)》雷震甲 编著,西安电子科技大学出版社

posted @ 2021-06-05 15:44  乌漆WhiteMoon  阅读(1680)  评论(0编辑  收藏  举报