关于RMON的研究.docx
《关于RMON的研究.docx》由会员分享,可在线阅读,更多相关《关于RMON的研究.docx(21页珍藏版)》请在冰豆网上搜索。
关于RMON的研究
关于RMON
RMON背景与提出
随着计算机网络规模的不断扩大、网络复杂性的不断提高以及网络异构性的不断增加,网络管理在网络建设、网络运行与网络维护中越来越显重要。
网络管理为监视、控制和管理网络资源提供了一种有效的方法,使计算机网络能够安全、可靠、高效地运行,以达到最优的网络性能。
简单网络管理协议SNMP是基于TCP/IP并在Internet互联网中应用最广泛的网管协议。
网络管理员可以使用SNMP监视和分析网络运行情况,通过管理站管理网络、维护网络,但是SNMPv1也有一些明显的不足,主要有一下几点:
∙由于SNMP使用轮询采集数据,在大型网络中轮询会产生巨大的网络管理通讯报文导致网络交通拥挤甚至阻塞,故不适合管理大型网络。
∙不适合回收大信息量的数据,如一个完整的路由表。
∙基于SNMP的标准仅提供一般的验证,不能提供可靠的安全保证。
∙不支持manager-to-mamager的分布式管理,它将收集数据的负担加在网管站上,网络管理站会成为瓶颈。
∙管理信息库(MIB)是被管对象(Router、Bridge、Switch、Hub、网络服务器等设备)的信息的集合。
标准管理信息库MIB-II(RFC1213)和各厂家的专有MIB库主要提供有关设备的数据,如设备端口状态、流量、错误包数等等。
网络管理员只能从这些管理信息库中获得单个设备的局部信息。
要想获得一个子网网段的信息是非常困难的一件事情,而在规模越来越大的互联网环境中,人们更需要监控的是一个网段的性能,因此仅仅使用标准MIB获取设备的管理信息已经不能满足管理大型互联网的需要。
为了提高传送管理信息的有效性、减少管理站的负担、满足网络管理员监控网段性能的需求,IETF开发了RMON以解决SNMP在日益扩大的分布式互联中所面临的局限性。
RMON介绍
远程网络监视(RMON)首先实现了对异构环境进行一致的远程管理,它为通过端口远程监视网段提供了解决方案。
RMON是IETF定义的MIB(RFC1757),是对SNMP标准的扩展,它定义了标准功能以及在基于SNMP管理站和远程监控者之间的接口,主要实现对一个网段乃至整个网络的数据流量的监视功能,目前已成为成功的网络管理标准之一。
RMON标准可以对数据网进行防范管理,它使SNMP更有效、更积极主动地监测远程设备,网络管理员可以更快地跟踪网络、网段或设备出现的故障,然后采用防范措施,防止网络资源的失效。
RMONMIB的实现可以记录某些网络事件,即使在网络管理站没有与监控设备主动进行联接(脱机)的情况下,也是同样。
因此网络管理员可以按以下要求配置监控:
能够对网络进行诊断连续地收集统计数据,以备日后网络管理员进行分析。
如果某个阀值超出或某个事件发生,监视器就会试图通知负责这些事件地网络管理站,从而使网络管理员避免了面对不可控制的泛滥信息,另外,RMONMIB也用于记录网络性能数据和故障历史,可以在任何时候访问故障历史数据以有利于进行有效地故障诊断。
使用这种方法减少了管理者同代理间的通讯流量,使简单而有力的管理大型互联网络成为可能。
由于分布式网络的情况有所不同。
由于它的设备很多,而且由于它的多个部分采用的设备的出厂时间,生产厂家和软件版本,日期等都有很大的不同。
由于地理位置的不同,对网络管理系统带来了很大的困难。
RMON就是为了解决这个问题而提出来的。
RMON在网络中放置名为RMON的探测器的代理器。
这些探测器有一个网络接口、一个处理器和内存组成,并象其他设备一样与网络相连。
网络管理系统(主要由生产厂商)决定探测器汇报那些信息。
实际上它充当了网络管理系统的耳目,它们为管理器提供有关分布片段的具体信息。
数据采集
RMON监视器可用两种方法收集数据:
一种是通过专用的RMON探测仪(probe),网管站直接从探测仪获取管理信息并控制网络资源,这种方式可以获取RMONMIB的全部信息;另一种方法是将RMON代理直接植入网络设备(路由器、交换机、HUB等)使它们成为带RMONprobe功能的网络设施,网管站用SNMP的基本命令与其交换数据信息,收集网络管理信息,但这种方式受设备资源限制,一般不能获取RMONMIB的所有数据,大多数只收集四个组的信息。
图一给出了网络管理站与RMON代理通信的例子。
RMONMIB由一组统计数据、分析数据和诊断数据组成,不象标准MIB仅提供被管对象大量的关于端口的原始数据,它提供的是一个网段的统计数据和计算结果。
通过运行在网络监视器上的支持RMON的SNMPAgent,网管站可以获得与被管网络设备接口相连的网段上的整体流量、错误统计和性能统计等信息,从而实现对网络(往往是远程的)的管理。
RMON的一个重要的优点还在于它与现存的SNMP框架相兼容,不需对该协议进行任何修改。
图一网管站与代理的通信
RMONMIB对网段数据的采集和控制通过控制表(controltable)和数据表(datatabel)完成。
RMONMIB按功能分成九个组。
每个组有自己的控制表和数据表(有些组二者合一,如:
统计组)。
其中,控制表可读写,数据表只读,控制表用于描述数据表所存放数据的格式。
配置的时候,由管理站设置数据收集的要求,存入控制表。
开始工作后,RMONmonitor根据控制表的配置,把收集到的数据存放到数据表。
RMON的对象标识是{1.3.6.1.2.1.16}。
RMON的发展经过了三个阶段。
第一个阶段是以太网远程监视管理信息库。
第二阶段增加了令牌环功能,称为令牌环远程监视模块。
第三阶段被称为是RMON2,在原有的十个枝系的基础上有增加了十个,从而使RMON功能发展到协议监视的更高层次。
这三个模块是互补的,它们经常共同出现在产品的实施过程中。
以太网远程监视管理信息库
以太网远程监视管理信息库开发得最早,这个模块对以太网远程监视探测器的接收和发送的管理信息进行了标准化。
见RFC1757。
其中包含9个组。
所有的这些组都是可选择的,但有些组的使用需要其他组的支持。
统计组(statistics)
(1):
提供需要探测器度量的统计数据。
统计被监控的每个子网的基本统计信息。
网络管理员可以从RMON探针监测的设备端口获取一个网段的各种统计信息。
目前只能对网络设备的以太网接口进行监控、统计,将来会被扩展以包括更多接口特定的表格(如FDDI)。
它能统计一个网段的流量(如:
交通流量的总包数和总字节数)、统计各种类型包的分布(如:
广播包、多点广播包、不同大小包的数量),还能统计各种类型错误包数、碰撞次数等。
历史组(history)
(2):
记录过去的周期性的统计样本,以供分析运行的趋势,定期地收集统计网络值地记录并为日后地处理把统计存储起来。
它包含两个小组:
HistoryControl组主要用来设置采样间隔时间等控制信息;EthernetHistory组为网络管理员提供有关网段流量、错误包、广播包、利用率以及碰撞次数等其他统计信息的历史数据。
预警组(alarm)(3):
将统计样与预设门槛进行比较,某个门槛溢出它就发出警报,允许网管站为网络性能(可以是监视器本地MIB的任意整数类型的对象)定义一组报警阀值。
如果阀值在相应的方向上被越过,监视器就会产生警报并把警报发往网管站。
告警组需要事件组的实现。
主机组(hosts)(4):
维护对网络主机进行的统计,包括对正在运行的主机中的多存取计算机地址的统计的维护,包含对连接在一个子网上所有主机的各种类型交通流量的记数值。
它能够发现网上的新主机,对每个主机的MAC地址保持一组统计数据,如主机发送或接收的数据包总数、广播包数、流量字节数、错误包数等等。
它有一个控制表和两个数据表,这两个数据表的内容相同,只是组织排列顺序不同。
最高主机组(hostTopN)(5):
提交由主机统计表汇总的报告,指出那些主机在某一领域处于顶级位置,排序后的主机统计,该报告基于主机表中一些参数生成列表。
它用于统计在一个子网上一些参数最高的一组主机,比如:
它可以列出10个传输数据最多的主机。
它依赖于主机组的实现。
点阵组(matrix)(6):
在一个用来跟踪主机之间的对话的往来点阵中储存统计信息,记录关于子网上两个主机之间流量的信息,该信息以矩阵形式存储起来。
这种方法对于检索特定主机之间的流量信息十分有用,例如用于找出哪些设备对服务器的使用最多。
矩阵组由三个表组成;一个控制表加上两个数据表。
过滤组(filter)(7):
让包裹根据一个过滤等式进行匹配,允许监视器观测与一过滤器相匹配的数据包。
网络监视器可以捕获所有通过过滤器的数据包或简单地记下基于这些数据包的统计。
猎捕组(capture)(8):
在包裹通过一个逻辑信道后,将其捕获,控制数据被发往网管站的方式,它可以在把报文发送到某个通道后记录数据报文。
事件组(event)(9):
控制事件(其中包括SNMP的陷阱消息)的引发和通知,提供关于RMON代理所产生的所有事件的表。
当某事件发生时可以记录日志和(/或)发送TRAP到网管站。
令牌环远程监视模块
令牌环远程监视管理信息库是通过以太网远程监视管理信息库上添加支持令牌环网的表格和第十个组而形成的。
令牌环远程监视管理信息库对其中的统计组和历史组有所扩充,并另添加了一个独特的组,这个新组叫令牌环组,其对象标识为{rmon19}。
RMON2
原有的以太网和令牌环网的远程监视管理信息库主要是针对远程网络的物理和数据连路层的操作和管理的。
正因为如此,他们能编辑有关以太网冲突、令牌环则桢复制错误等的统计和历史信息。
但它们不能通过远程网络的应用层了解OSI网络的操作。
RMON2是在RFC2021中定义的,他添加了十个新组,从而把RMON的功能提高到更高的层次。
协议目录(ProtocolDir)(11):
在一个表中列出探测器有能力监视的协议库存。
每个协议都由表中的一个条目进行描述。
协议分布(ProtocolDist)(12):
收集在一个网络上侦听到的不同协议的字节和包裹的相关数量。
每个协议均在一个表格中的一个条目里进行了描述,网络管理站能通过访问表中的信息的方法,轻易地确定某个协议所使用的带宽。
地址映射(addressMap)(13):
使网络层地址和MAC地址发生联系,并在一些表格中储存有关的信息。
网络层主机(nlHost)(14):
计数有探测器发现的每个网络层地址发出和接收的吞吐量,并在一些表格中储存相关的信息。
网络层矩阵(nlMatrix)(15):
计数有探测器发现的每对网络地址之间发送的数目,并用一些表格储存从源点到目的地的信息。
应用层主机(alHost)(16):
计数有探测器发现的协议和主机产生的每个网址发送和接受的吞吐量。
应用层矩阵(alMatrix)(17):
计数有探测器发现的有协议产生的每对网址之间的发送次数,并在一些表格中贮存这一信息。
该组类似于mlMatrix组,但它侧重于运行中的协议。
用户历史(usrHistory)(18):
将我们在alarm(3)和history(3)中所见到的机制结合起来,收集与用户相关的历史信息,并在一些表格中储存这些信息。
探测器配置(ProbeConfig)(19):
控制探测器针对不同的运行参数进行的配置,如有探测器支持的以太网和令牌环远程监测组,探测器的软、硬件修订版本号和一个陷阱目的地址表等。
RMON适配组(rmonConformance)(20):
描述适应RMON2管理信息库的条件。
RMON中各个组里的变量简单描述:
一.统计组(1.3.6.1.2.1.16.1):
统计组是可选项,他包含一个有探测器度量的统计表格。
被管理设备的每个接口的信息都是可以获得的。
每个etherStateEntry是表格中的一行,他包括的对象如下:
●etherStatsTable是以太网统计条目的列表。
●ethreStatsEntry是为某个以太网接口保留的一组统计信息。
●etherStatsIndex是etherStats条目的一个标识。
●etherStatsDataSource数据源(即某个接口)的一个标识
●etherStatsDropEvents数据包由于缺乏资源而被丢弃的事件的总数
●etherStatsOctets从网络上接收到的数据的总字节数
●etherStatsPkts接受到的包的总数
●etherStatsBroadcastPkts发向广播地址的接收到的好的数据包的总数
●etherStatsMulticastPkts发向多投地址的好的数据包的总数
●etherStatsCRCAlignErrors接受到的带有定位和帧检查序列错误的包的总数
●etherStatsUndersizePkts接收到的长于1518个字节的数据包的总数
●etherStatsOversizePkts接收到的长度超过1518个字节的包的总数
●etherStatsFragments接收到的带有一个定位错误或坏帧检查序列且长度小于64个字节的数据包的总数
●etherStatsJabbers接收到的带有一个定位错误或坏帧检查序列且长度长于1518个字节的数据包的总数
●etherStatsCollisions某一个以太网分段上发生的碰撞总数的最佳预计
●etherStatsPkts6400Octets接收到长度为64个字节的数据包的总数
●etherStatsPkts65to127Octets接收到长度为65到127个字节的数据包的总数
●etherStatsPkts128to255Octets是接收到长度为128到255个字节的数据包的总数
●etherStatsPkts256to511Octets是接收到长度为256到511个字节的数据包的总数
●etherStatsPkts512to1023是接收到长度为512到1023个字节的数据包的总数
●etherStatsPkts1024to1518Octets是接收到长度为1024到1518个字节的数据包的总数
●etherStatsOwner配置某一个条目的实体,
●etherStatsStatus某一个etherStats的状态
二.以太网历史组(1.3.6.1.2.1.16.2)
历史组是可选项,他记录从某一个网络上获取的周期性的统计样本信息,并容许顺序检索这一信息。
该组包含两个表——historyControlTable和etherHistoryTable。
HistoryControl表用于储存定义界面和轮训周期等的配置条目。
RFC1757提出了两种轮训周期,30秒钟为短轮训周期,30分钟为长轮训周期。
EtherHistoryTable储存与以太网相关的统计信息。
这个组中的对象如下:
●historyControlTable是一个历史控制条目组成的列表
●historyControlEntry是组成周期性的统计取样的一个参数列表
●historyControlIndex是historyControl表中标识条目的索引
●historyControlDataSource一个数据源的标识
●historyControlBucketsRequested要求的数据储存所用的离散时间间隔的数目
●historyControlBucketsGranted数据储存所用离散时间间隔的数目
●historyControlInterval从每个记录进行数据取样所需的介于1-3600秒的间隔
●historyControllOwner对某个条目进行配置的实体,他能进而使用分配个他的资源
●historyControlStatus是某一个historyControl条目的状态
●etherHistoryEntry是一张以太网历史记录的列表
●etherHistoryEntry是某个以太网接口的一个以太网统计信息的历史样本
●etherHistoryIndex某一条目属的历史,由historyControlIndex的相同值标识
●eterHistorySampleIndex单独标识某个条目代表的样本的指针
●etherHistoryIntervalStart对某一样本进行度量的时段开始是sysUpTime的值
●etherHistoryDropEnents由于在某一时段内资源匮乏而造成的探测器遗漏数据包事件的总数
●etherHistoryOctets从网络上接收到的数据的总字节数
●etherHistoryPkts采样时段内接收到的数据包的数目
●etherHistoryBroadcastPkts在广播地址在某个采样时段内接收到的好的数据包的数目
●etherHistoryMulticastPkts多点发送地址在某一采样时段内接收到的数据包的数目
●etherHistoryCRCAlignErrors在某一时段内接收到的含有定位或坏帧检查序列错误的数据包的数目
●etherHistoryUndersizePkts在某一时间段内接受到的长度小于64个字节的数据包的数目
●etherHistoryOversizePkts在某一取样时间段内接收到的长度大于1518个字节的数据包的数目
●etherHistoryFragments在某一取样时间段内接受的含有一个定位或坏帧检查序列,且长度大于64字节的数据包的数目
●etherHistoryJabbers在某时段内接收的长度大于1518个字节的数据包的数目
●etherHistoryCollisions估计该间歇内以太网段内发生碰撞的次数的最优值
●etherHistoryUtilization以几百分之一秒计,某一时间段内某个接口的平均物理层网络应用的最好估计值
三.以太网远程监视警报组(1.3.6.10.2.1.16.3)
警报组也是可选项,但他需要在实施事件组的情况下进行使用。
这个组将来自探测器中的变量的统计样本与事先配置好的门槛进行比较。
统计信息以十二列储存在警报表格内。
当某一个样本信息溢出其中一个预先设置的门槛时,就产生一个事件。
这个组包含以下对象:
●AlarmTable是一个有警报条目组成的列表
●AlarmEntry是一列用与周期性检查警报信息的参数表
●AlarmIndex是一个单独指向警报表中的一个条目的指针
●AlarmInterval以秒计的用于进行数据采样,并将它与正在涨落的门槛进行比较所经过的时间段
●AlarmVariable某一被采样的变量的对象标识
●AlarmSampleType对选取的变量进行采样并计算出值,以便与门槛进行比较的方法
●AlarmValue是在最后的取样期中的统计值
●AlarmStartupAlarm某一个条目第一次被置为有效时,发送的报警信息
●AlarmRisingThreshold当前被采样的值大于或等于该门槛,且最后的采样时段的值小于该门槛时,产生单个事件的一个门槛
●AlarmFallingThreshold当前被采样的值小于或等于该门槛,且最后的采样时段的值大于该门槛时,产生单个事件的一个门槛
●AlarmrisingEventIndex一个涨门槛被溢出时采用的eventEntry的指针
●AlarmOwner对某一个条目进行过配置,并正在使用分配给他的资源实体
●AlarmStatus某一个报警条目的状态
四.以太网远程监视主机组(1.3.6.1.2.1.16.4)
主机组是一个可选项,他对与被发现正在网络上运行的个主机相关的信息和统计进行维护。
为了做到这一点,编写了三个表格。
第一个表格是hostControlTable,它宽六列,记录有关主机发现过程或正在使用的接口的信息。
第二个表格是hostTable,他用10列对每个被发现的并由MAC地址索引的主机的统计进行维护。
第三个表格hostTimeTable,他包含相同的信息,但他由hostTimeCreationOrder进行索引。
主机组包含以下对象:
●HostControlTable一个主机表格控制条目的列表
●HostControlEntry用于在某一个接口上建立发现和统计信息的集合的一个参数列表
●HostControlIndex单独指向hostControl表中的某个条目,并将这些统计信息置于hostTable和hostTimeTable中的一个指针
●HostControlDataSource一个某项主机功能事件数据源的标识
●HostControlTableSize是hostTable和hostTimtTable中hostEntry(主机条目)的数量
●HostControlLastDeleteTime最后一个条目被删除时sysUpTime的值
●HostControlOwnet已经配置某条目并正在使用给该条目分配的资源的实体
●HostControlStatus某hostControl条目的状态
●HostTable一个主机条目的清单
●HostEntry对有关在某一个设备的一个接口上发现的某台主机的统计信息的一个集合
●HostAddress某一个主机的物理地址
●HostCreationOrder一个对某一hostControlEntry捕获的主机的创建时间的顺序进行定义的指针
●HostIndex某一条目所属的一整套主机的统计信息
●HostInPkts某一地址被添加到hostTable后,传送到这个地址上无错误的数据包的数目
●HostOutPkts某一地址被添加到hostTable后,这个地址上传送出的含错误的数据包的数目
●HostInOctets某一地址被添加到hostTable后,传送到这个地址上无错误的字节的数目
●HostOutOctes某一地址被添加到hostTable后,这个地址上传送出的字节数
●HostOutErrors某一地址被添加到hostTable后,这个地址上传送出的出错的数据包的数目
●HostOutBroadcastPkts某一地址被添加到hostTable后,由该地址传送到广播地址的好数据包的数目
●HostOutMulticastPkts某一地址被添加到hostTable后,由该地址传送到多点发送地址的好数据包的数目
●HostTimeTable按时间顺序排列的一列主机表格条目
●HostTimeEntry与在某一设备的一个接口上发现的主机相关的创建时间顺序的统计信息的集合
●HostTimeAddress某一主机的物理地址
●HostTimeCreationOrder对某一hostTime表中的条目进行单独定义的一个索引。
索引的顺序都以表格中列入的条目的顺序为基础
●HostTimeIndex某一条目所属的主机统计信息的集合
●HostTimeInPkts某一地址被添加到hostTimeTable后,传送到该地址的无错误的数据包的数目
●HostTimeOutPkts某一地址被添加到hostTimeTable后,该地址传送出的含错误的数据包的数目
●HostTimeInOctets某一地址被添加到hostTimeTable后,传送到该地址的无错误的字节的数目
●HostTimeOutOctets某一地址被添加到hostTimeTable后,该地址传送出的字节的数目
●HostTimeOutError某一地址被添加到hostTimeTable后,该地址传送出的错误的数据包的数目
●HostTimeOutBroadcastPkts某一地址被添加到hostTimeTable后,该地址传送给一个多点发送地址的好的数据包的数目