《计算机网络管理与安全技术.ppt》由会员分享,可在线阅读,更多相关《计算机网络管理与安全技术.ppt(94页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机网络管理与安全技术,第3章:SNMP通信模型与RMON规范,3.1 SNMP通信模型有4个方面的内容:SNMP结构管理模型SNMP协议SNMP MIB,3.1.1 SNMP结构( SNMP Architecture),SNMP结构是管理系统和管理代理之间的管理报文的规范。由定义团体来进行安全机制的管理,只有相同团体成员之间才能进行通信。一个管理站能够属于多个团体且可管理多个域。,3.1.1 SNMP结构( SNMP Architecture),SNMP结构具有三个方面的功能:通过管理代理实现的网络功能应该是最简单的;允许有足够的可扩展性(增加新的操作和管理);SNMP结构应独立于具体主机
2、和网关的结构及机制。,3.1.1 SNMP结构( SNMP Architecture),SNMP只用于简单对象的通信并用ASN.1和BER(基本编码规则)进行数据传输。 基本报文有set, get和trap 。其中trap有三种类型 :一般trap特殊trap时间戳,一般trap类别 :coldStartwarmStartlinkDownlinkUpauthenticationFailureegpNeighborLossenterpriseSpecific(属特殊陷入由设备制造商定义),3.1.1 SNMP结构( SNMP Architecture),特殊trap是与设备有关时间戳是在网络实体
3、初始化和陷入产生之间的时间。sysUpTime的值。,3.1.1 SNMP结构( SNMP Architecture),3.1.2 管理模型 (The Administrative Model),支持SNMP应用实体的程序称为协议实体SNMP管理者属于管理站的应用实体SNMP代理属于网络元素的应用实体这一对实体被称为SNMP团体。 SNMP团体名为community,是一个字符串的形式。,3.1.2 管理模型,3.1.2 管理模型,图中是多个SNMP管理者与一个SNMP代理进行通信,还可以进行多对一和多对多的通信。图中发送和接收过程都要进行认证检验,这可以视为是一种安全机制。SNMPv1的安全
4、机制很简单,只是验证团体名。属于同一团体的管理站和被管理站才能互相作用。,3.1.2 管理模型,1、团体的概念 SNMP网络管理是一种分布式应用。代理控制自己的MIB,也控制多个管理站对MIB的访问。只有授权的管理站才允许访问管理信息库。其基本思想是:l代理系统可以对不同的团体定义不同的访问 控制策略,每个团体被赋予唯一的名字。l管理站只能以认可的团体名行使访问权。l管理站实体可以用不同的名字对不同的代理 实施不同的访问权限。,3.1.2 管理模型,2、认证服务 认证服务的目的是要保证通信是被授权的。对于一个SNMP报文,认证服务的功能是保证接收报文来自于这个消息所声称的源。从管理站到代理的每
5、个报文都包括一个团体名字。这个名字起到密码的作用,如果发送者知道这个密码,报文就被认为是可靠的。,3.1.2 管理模型,团体名以明文的形式传输,容易被窃取。所以SNMP的安全机制是不安全的。为此很多SNMP的实现只允许Get和Trap操作,而Set的操作被严格的限制。即只具有网络监视功能而限制控制网络设备。为了加强SNMP的安全性,在后来的SNMP版本中改进了认证服务。,3.1.2 管理模型,3、访问策略 通过定义团体,代理系统限制只有一些选定的管理站才能访问它的MIB。通过使用多个团体,代理可为不同的管理站提供不同的MIB访问类别。访问控制有两方面:l SNMP MIB 视域(view):
6、MIB中对象的一个子 集,对不同的团体可以定义不同的视域。属 于同一视域的对象不必属于同一子树。l访问模式:集合read-only, read-write的一 个元素。对于一个团体可以定义一种访问模 式。,3.1.2 管理模型,一个团体的MIB视域和访问模式的组合称为SNMP团体形象(profile)。它包含代理中对象的一个子集和有关这些对象的访问模式。SNMP访问模式适用于MIB视域中的所有对象。例如如果访问模式是read-only,则具有同一团体形象的管理站对视域中的所有对象只能以只读方式访问。,每个MIB对象的定义都有ACCESS子句,其规定了对象 量的访问属性。 团体形象中又规定了团体
7、成员对对象的访问模式。这两种访问限制应该相协调。 即使一个对象的访问属性是write-only,也允许 SNMP实体读取该对象,这取决于具体实现时的考虑。,3.1.2 管理模型,3.1.2 管理模型,团体形象是由代理为各个团体定义的。SNMP团体和SNMP团体形象的组合称为SNMP访问策略。,SNMP的访问策略,3.1.2 管理模型,三个网络管理系统,各自有不同的团体域。代理1和代理2属于团体1,而它们却有不同的团体形象。作为团体1的一部分的管理站1可以与代理1和代理2通信但管理站1不可以与属于团体2的代理3和代理4通信。管理站2则可以访问它们,因为管理站2属于团体2。管理站3可以访问团体1和
8、团体2,因此可以与所有代理通信,3.1.2 管理模型,4、委托代理服务 通常委托代理是为不支持SNMP的设备工作的,团体形象的概念同样适用于委托代理服务。有些情况下,被代理的设备也可能支持TCP/IP和SNMP,这时委托代理的作用是为了减少代理的设备与管理站之间的交互过程。对于被代理的设备,委托代理定义并且维护一种SNMP访问策略。,3.1.2 管理模型,图为SNMP对象与非SNMP对象通过SNMP管理站进行通信的例子。比如SNMP代理可以是一个具有TCP/IP协议的LAN。而一个WAN如X.25网络,其不具有Internet模型,但可以通过委托代理进行管理并集成到综合管理系统。,3.1.3
9、SNMP协议规范(SNMP Protocol Specifications),1、SNMP PDU格式,3.1.3 SNMP协议规范,SNMP报文是在PDU加上团体名、版本号和应用层的头构成了应用层的PDU。在其前加上UDP的头成为了传输层的PDU。以此类推,构成每一层的PDU。 SNMP协议实体在主机的161端口被接收。tray是在162端口被接收。SNMPv1协议的最大长度为484个字节。SNMP有5种管理操作,但只有4种PDU格式:GetRequest PDU、GetNextRequest PDU与SetRequest PDU格式相同。GetResponse PDU Trap PDU v
10、ariable-bindings,3.1.3 SNMP协议规范,2、报文的发送和接收,3.1.3 SNMP协议规范,3.1.4 SNMP操作(SNMP Operations),1. 变量绑定 所有的SNMP操作都是访问对象实例。(叶节点)可以将一些相同类型的操作(get,set,trap)组合到一条报文中去。管理站可得到代理的某个组中的所有标量对象的值。它可以只发送一条报文来要求所有的取值,然后得到一个列出了所有值的响应。为了实现多个对象的交换,所有的SNMP PDU都包括一个variable-binding域,即绑定域。该域由一系列对象实例的索引组成,并且带有那些对象的值。,3.1.4 SN
11、MP操作,2. 检索简单对象检索简单的标量对象值可以用get操作;如果变量绑定表中包含多个变量,一次还可以检索多个标量对象的值;接收GetRequest的SNMP实体请求标识相同的GetRequest响应。如果所有请求的对象值均可以得到,则给于应答;只要有一个对象的值得不到,则可返回下列错误之一:,3.1.4 SNMP操作, noSuchName:变量绑定表中的一个对象无法与MIB中的任何对象标识符匹配,或者要检索的对象是一个子树或表,没有对象实例生成。 tooBig:响应实体可提供所有要检索的值,若变量太多以至一个响应PDU装不下。 genError: 响应实体一个对象的值也不能提供时,变量
12、绑定表中不返回任何值。,3.1.4 SNMP操作,例1:若网络管理站想要从代理中检索udp组中所有简单对象的取值,管理站可以发送一个GetRequest PDU,并在检索命令中直接指明对象实体的标识符:GetRequest(udpInDatagrams.0,udpNoPorts.0,udpInError.0,udpOutDatagrams.0) 如果代理中该公共体的MIB视域支持所有的这些对象,则返回4个对象的一个GetRequest PDU:,3.1.4 SNMP操作,例 2: 如果代理不支持管理站对udpNoPorts的访问,则响 应会不同。如发出同样的命令:GetNextRequest(
13、udpInDatagrams,udpNoPorts,udpInError,udpOutDatagram) 而得到的响应是: GetResponse(udpInDatagrams.0=17346,udpInError.0=0 , udpInError.0=0,udpOutDatagrams.0=17090) 因为变量名udpNoPorts和udpInError的下一个对象实例 都是udpInError.0=0 可见当代理收到一个Get请求时,如果能检索到所有的 对象实例,则返回请求的每一个值; 如果有一个值不能提供,则返回该实例的下一个值。,3.1.4 SNMP操作,3. 检索未知对象GetNe
14、xt命令检索变量名指示的下一个对象实例,但是并不要求变量名是对象标识符或者是实例标识符。如udpInDatagrams的实例标识符是udpInDatagrams.0,而udpInDatagrams.2并不表示任何对象。若发出GetNextRequest(udpInDatagrams.2)得到的响应是GetNextRequest(udpNoPorts.0=2552) 说明代理没有检查标识符udpInDatagrams.2的有效性,而是直接查找下一个有效的标识符,得到udpInDatagrams.0后返回了它的下一个对象实例。,3.1.4 SNMP操作,4. 检索表对象 GetNext可用于有效地
15、搜索表对象。,3.1.4 SNMP操作,例 3: 上图中,若发出下面的命令,检索ifNumber的值。GetRequest(1.3.6.1.2.1.2.1.0)GetResponse(2)我们知道有两个接口。如果我们进一步想要知道每个接口的数据速率,则可以用下面的命令检索if表中的第五个元素: GetRequest(1.3.6.1.2.1.2.2.1.5.1)最后的1是索引项ifIndex的值。得到的响应是:GetResponse(10000000)说明第一个接口的数据速率是10Mb/s。若要得到第二个接口的速率可用命令: GetNextRequest(1.3.6.1.2.1.2.2.1.5.
16、1)得到的可能是GetResponse(56000)说明第二个接口的数据速率为56kb/s。,3.1.4 SNMP操作,例 4 若管理站希望能够检索整个表,但又不知其中的内容和表中的行数,则可连续使用GetNext命令。,3.1.4 SNMP操作,管理站可发送包含所有列对象名称的GetNextRequest:GetNextRequest(ipRouteDest,ipRouteMetric1,ipRouteNextHop)代理将表中的第一行取值返回:GetResponse(ipRouteDest.9.1.2.3=9.1.2.3,ipRouteMetric1.9.1.2.3=3,ipRouteNe
17、xtHop.9.1.2.3=99.0.0.3)根据第一行的值可检索下一行:GetNextRequest(ipRouteDest.9.1.2.3,ipRouteMetric1.9.1.2.3,ipRouteNextHop.9.1.2.3)GetResponse(ipRouteDest.10.0.0.51=10.0.0.51,ipRouteMetric1.10.0.0.51=5,ipRouteNextHop.10.0.0.51=89.1.1.42)据此可继续检索第三行。,3.1.4 SNMP操作,GetNextRequest(ipRouteDest.10.0.0.51,ipRouteMetric1
18、.10.0.0.51,ipRouteNextHop.10.0.0.51)GetResponse(ipRouteDest.10.0.0.99=10.0.0.99,ipRouteMetric1.10.0.0.99=5,ipRouteNextHop.10.0.0.99=89.1.1.42)管理站不知道这是表的未尾,因此继续:GetNextRequest(ipRouteDest.10.0.0.99,ipRouteMetric1.10.0.0.99,ipRouteNextHop.10.0.0.99)然而表中只有3行,因此代理返回MIB中按字典顺序的下个对象:GetResponse(ipRouteMetr
19、ic1.9.1.2.3=3,ipRouteNextHop.9.1.2.3=99.0.0.3,ipNetToMediaIfIndex.1.3=1) 管理站可以通过响应列表中对象的名称与请求不匹配而得出路由表已以到达了末端。,3.1.4 SNMP操作,5. 表的更新和删除 Set命令用于设置或更新变量的值。对于Set命令的应答与是GetResponse,并且要么更新列表中的所有变量,要么一个也不更新。其错误状态为tooBig,noSuchname和genError。若有一个变量的名字和要设置的值在类型、长度或实际值方面不匹配,则返回错误条件badValue。,3.1.4 SNMP操作,例5:在表5
20、-3中,若想改变列对象ipRouteMetric1的第一个值,则可发出命令:SetRequest(ipRouteMetric1.9.1.2.3=7)得到的应答是:GetResponse(ipRouteMetric1.9.1.2.3=7)其效果是该对象的值由3变成了7。,3.1.4 SNMP操作,例 6 对于表5-3若要增加一行,则可用命令:SetRequest(ipRouteDest.11.3.3.12=11.3.3.12, ipRouteMetric1.11.3.3.12=7, ipRouteNextHop.11.3.3.12=91.0.0.5) 例 7 如果要删除表中的一行,则可以把一个对
21、象的值置为invalid: SetRequest(ipRouteType.7.3.5.3=invalid)得到的响应说明表行确已删除:GetResponse(ipRouteType.7.3.5.3=invalid),3.1.4 SNMP操作,6. 陷入操作 coldStart发送实体重新初始化,代理的配置已改变,通常是由系统失效引起的。 warmStart发送实体重新初始化,但代理的配置没有改变,这是正常的重启动过程。 linkDown链路失效通知,变量绑定表的第一项指明对应接口表的索引变量及其值。 linkUP链路启动通知,变量绑定表的第一项指明对应接口表的索引变量及其值。 aughenti
22、cationFailure发送实体收到一个没有通过认证的报文。 egpNeighborLoss 相邻的外部路由器失效或关机。 enterpriseSpecific 由设备制造商定义的陷入条件,在特殊陷入字段指明具体的陷入类型。,3.1.5 SNMP功能组(MIB- SNMP Group),snmp组包含SNMP操作和实现的信息。除了组中的最后一个对象,所有的对象都是只读的计数器。对象snmpEnableAuthenTrap可以由管理站设置,它指示是否允许代理产生“认证失效”陷入。,3.1.6 SNMPv2,SNMP具有一定的局限性 :由于轮询的性能限制,SNMP不适合管理很大的网络。SNMP不
23、适合检索大量数据。SNMP的陷入报文是没有应答的,可能会丢掉重要的管理信息。SNMP只提供简单的团体名认证,安全措施很弱。SNMP并不直接支持向被管理设备发送命令。 MIB-支持的管理对象是很有限的,不足以完成复杂 的管理功能。 SNMP不支持管理站之间的通信,而这一点在分布式网络管理中是很需要的。,针对以上SNMPv1的缺陷,SNMPv2对SNMP进行了一定的改进。其增强的主要功能有:管理信息结构的扩充;管理站和管理站之间的通信能力; 新的协议操作。,1 SNMPv2系统结构,SNMPv2与SNMP系统结构的主要区别 SNMPv2有7种报文 管理者与管理者之间可以通信。SNMPv2提供3种访
24、问管理信息的方法:管理站和代理之间的请求/响应通信。 代理系统到管理站的非确认通信。管理站和管理站之间的请求/响应通信,以支持分布式网络管理。,2 SNMPv2协议操作,SNMPv2报文版本号取值为0-SNMPv1 取值为1-SNMPv2。SNMPv2 PDU SNMPv2协议数据单元有3种PDU格式GetRequest、GetNextRequest、SetRequest、GetBulkRequest、SNMPv2-Trap、Response、 InformRequest,SNMPv2报文PDU格式,GetRequest,GetNextRequest,SetReques,InfornReque
25、st和Trap PDU,GetResponsePDU,GetBuleRequest PDU,变量绑定表,2 SNMPv2协议操作,(1) GetRequestPDU: SNMPv2对这种操作的响应方式与SNMPv1不同之处是允许部分响应,对变量绑定表中的各个变量进行处理: 如果该变量的对象标识符前缀不能与这一请求可访问 的任何变量的对象标识符前缀匹配,则返回一个错误 值noSuchObject。 如果变量名不能与这一请求可访问的任何变量名完全匹配,则返回一个错误值noSuchInstance。如果由于任何其他原因而处理失败,则返回一个错误状态genErr。如果生成的响应PDU太大,则构造一个新
26、的响应PDU, 其错误状态为tooBig,错误索引为0,变量绑定表为 空。,2 SNMPv2协议操作,(2)GetNextRequestPDU: 其区别于SNMPv1是改变了响应的原子性。对变量绑定表中指定的变量在MIB中查找按照字典顺序的后继变量,如果找到,返回该变量的名字和值。 如果找不到按照字典顺序的后继变量,则返回请求PDU中的变量名和错误值endOfMibView. 如果出现其他情况使得构造响应PDU失败,以与GetRequest类似的方式返回错误值。,2 SNMPv2协议操作,(3) GetBulkRequestPDU: 是SNMPv2对原标准的主要增强,用于从代理到管理站传送大量
27、的数据而使所需要的协议交换数目最小,尤其是检索表数据的管理信息。块检索操作,原理与GetNextRequest操作相同可以说明多个后继对象实例。如果请求太大,代理则返回尽可能多的数据,而不是简单地发送一个tooBig错误消息。,2 SNMPv2协议操作,(4) SetRequestPDU: SNMPv2 SetRequestPDU在格式和语义上都和SNMPv1完全相同,其操作的基本特性是要么更新所有的变量,要么一个都不更新。唯一的区别在于处理响应的方式不同。使用较多的错误代码是SNMPv2对SNMP的一大提高,使得管理站能了解详细的错误信息,以便采取纠正措施。,2 SNMPv2协议操作,(5)
28、 SNMPv2-Trap PDU: SNMPv2的陷入采用与Get等操作相同的PDU格式,这与原标准不同。但其也是代理发给管理站的非确认性消息。,2 SNMPv2协议操作,(6) InformRepuestPDU: 由管理站功能实体代表一个应用程序发往另一个执行管理站功能的SNMPv2实体,为得到后一个应用程序提供的管理信息。变量绑定表的内容与SNMPv2-Trap PDU具有相同的元素。但该消息需要应答。,3 SNMPv2管理信息库,SNMPv2的管理信息库增加了两个新的MIB模块,即安全模块和SNMPv2模块。 SNMPv2又有三个子模块:SNMPDomains, SNMPProxys和S
29、NMPModules。SNMPDomains 扩展了在传输协议之上传送管理报文的SNMP标准。SNMPProxys的功能是将执行其它协议的系统通过代理服务映射到UDP.,3 SNMPv2管理信息库,1) SNMP组在SNMPv2中SNMP组对MIB-2进行了简化,删除了大量的认为不必要的实体。同时又增加了一些新对象。,3 SNMPv2管理信息库,2) MIB对象组 这个新组包含的对象与管理对象的控制有关 在snmpMIBObjects节点下有三个模块: snmpTrap(4)、snmpTraps(5)和snmpSet(6)。 子节点1、2、和3已经被取消,3 SNMPv2管理信息库,SnmpT
30、rap组包含了陷入通知和有关制造商对象标识符的信息。 在SnmpTraps下的实体是Snmpv1Traps的扩展。 SnmpSerialNo是SnmpSet仅有的一个对象,用于解决set操作中可能出现的问题。 一是要保证set操作按照发送的顺序对MIB进行执行 二是防止多个管理站对MIB进行并发操作,从而保证数据库的一致性和精确性。,3 SNMPv2管理信息库,3) Snmpv2一致性声明(Conformance Statements)一致性是对具体实现的限制,是具体实现必须达到的最小级别。在一致性声明中规定了四个宏:OBJECT-GROUP(对象组宏) NOTIFICATION-GROUP(
31、通知组宏) MODULE-COMPLIANCE(模块依从性宏) AGENT-CAPABILITIES(代理能力宏),3 SNMPv2管理信息库,4)接口组 MIB-定义的接口组经过一段时间的使用,发现有很多缺陷。RFC1573分析了原来的接口组没有提供的功能和其他不足之处并对MIB-接口组做了一些小的修改 :重新规定ifIndex用于区分接口子层而不再代表一个接口。不再限制ifIndex的取值必须在1到ifNumber之间。允许动态地增加/删除网络接口。废除了ifInNUcastPkts、ifOutNUPkts和ifOutQLen这些用处不大的变量。 ifSpecific也被废除了,其作用由i
32、fType代替。,3 SNMPv2管理信息库,RFC1573还对接口组增加了4个新表,3 SNMPv2管理信息库,(1) 接口扩展表ifXTable 变量ifName表示接口名,表中可能有代表不同子层的多个行属于同一接口,它们具有同一接口名。(2) 接口堆栈表 接口堆栈表说明接口表中属于同一物理接口的各个行之间的关系.(3) 接口测试表 接口测试表的作用是由管理站指示代理系统测试接口的故障。该表的一行代表一个接口测试。 (4) 接收地址表 接收地址表包含每个接口对应的各种地址(广播地址、组播 地址和单地址)。,3.2 RMON 远程网络监视,3.2.1 RMON的基本概念 网络管理人员利用MI
33、B-只能获取单个设备的本地管理信息,如进出某个设备的分组数等,而不能获知整个网络的通信情况。 RMON规范是对SNMP标准基本体系(SMI、MIB、SNMP)最重要的扩充。是简单网络管理向互联网管理过渡的重要一步。定义的远程监视MIB是对MIB-的补充。在不改变SNMP协议的条件下增强了网络管理的功能。,1 网络监视器,网络监视器(Monitor):通常用于监视整个网络通信情况的设备。也称网络分析器(Analyzer)、探测器(Probe)等。工作方式:是监视器通过监听方式在LAN上运行,观察LAN上出现的每个分组,并进行统计和总结,给管理人员提供重要的信息 。,1 网络监视器,监视器可以存储
34、全部或部分的分组以供以后分析使用,并根据分组类型进行过滤以及捕获特殊的分组。一般每个子网都需要一个监视器,这个监视器可以是一个单独的设备,也可以是运行监视器软件的工作站和服务器等。为了有效地进行网络管理,每个子网的监视器需要与中央网络管理站通信,也称远程监视器。,2 RMON的设计目标,L 离线操作:在不受管理站查询的情况下,监视器也要持续地收集子网故障、性能和配置方面的信息,统计和积累数据。 l 主动监视:监视器可以周期地运行诊断程序,给管理站提供诊断故障信息。l问题检测和报告:观察网络资源的消耗情况,记录随时出现的异常条件,并在出现错误条件时通知管理站。l提供增值数据:监视器可以分析 收集
35、到的子网数据,从而减轻了管理站的计算任务。l 多管理站操作:一个互联网可能有多个管理站,监视器可以配置成并发工作,为不同的管理站提供不同的信息。,在网络管理信息的通信中,需要建立公共的语法和语义的标准才能使用RMON设备。其使用的语法是ASN.1对象类型是由RMON的管理信息结构SMIv2定义。RMON MIB定义RMON的功能组已经开发了三个阶段。 RMON1是为Ethernet 而开发的。 RMON1的Token ring是作为RMON1的扩展在1993年开发的。但只是针对数据链路层上提供参数。 RMON2被开发并发布于1997年1月,可提供网络层以上的 参数信息。RMON规范定义了RMO
36、N MIB,是MIB-下的第16个子树。,3.2.2 RMON的SMI和MIB,3.2.3 RMON的表管理,在SNMPv1的管理框架中,对增加或删除表中行的操作过程是不明确的。RMON规范包含一组文本约定和过程化规则以提供明晰而规律的行增加和行删除操作。,3.2.3 RMON的表管理,表结构 在RMON规范中增加了两种新的数据类型:OwnerString:是为了增强规范的可读性。在每一个可读/写的RMON表中都有一个对象,其类型为OwnerString,其值为表行所有人或创建者的名字,对象以Owner结尾。EntryStatus:其值表示行的状态,对象名以Status结尾,用于行的生成、修改
37、和删除。,表结构由控制表和数据表两部分组成:控制表定义数据表的结构。数据表用于存储数据。,3.2.3 RMON的表管理,3.2.3 RMON的表管理,rmlControlIndex:唯一地标识rmlControlTable中的一个控制行,该控制行定义了rmlDataTable中一个数据行集合。集合中的数据行由rmlControlTable的相应行控制。l rmlControlParameter:其控制参数用于控制行控制的所有数据行。 rmlControlOwner:该控制行的所有者。 rmlControlStatus:该控制行的状态。,3.2.3 RMON的表管理,数据表由rmlControl
38、Index和rmlDataIndex共同索引。rmlDataControlIndex的值与控制行的索引值rmlControlIndex相同。rmlDataIndex的值唯一地指定数据行集合中的某一行。控制表的第一行的所有者是monitor,按照约定这是指代理本身。,3.2.3 RMON的表管理,2. 增加行管理站利用set命令在RMON表中增加新行,并遵循下列规则。l 如果新行的索引值与表中其他行的索引值不冲突,则代理产生一个新行,其状态对象的值为createRequest(2)。l 新行产生后,由代理把状态对象的值置为underCreation(3)。l 在管理站创建完其配置所需的所有行之前
39、,这些行应一直处于underCreation(3)状态,直到管理站把每一新创建行的状态对象值设置为valid(1)。l 如果其它管理站试图以createRequest(2)状态创建一个新行,而该行已经存在,就会返回一个错误信息。管理站也可以将一个已存在的行的状态对象的值由invalid 改写为valid,恢复旧行的作用也等于产生了一个新行。如果有多个请求要创建同样的概念行,只有最早接收到的请求会成功,其余的管理站将会收到错误信息。,3.2.3 RMON的表管理,3. 行更改与删除只有行的所有者才能发出SetRequestPDU,通过将其状态对象值设置为invalid,该行就可被删除。在设置为无
40、效之后,用SetRequestPDU赋予行中其他对象新的参数值来进行修改。,3.2.4 RMON1组及其功能,RMON1在数据链路层可完成许多功能。图2 远程被监视的网络为Ethernet和Token Ring。采集的数据可作为5种功能设置的输入,有3种监视器是对通信量的统计。主机与会话统计组处理与主机有关的通信数据和某种参数最大的N台主机的通信数据以及主机之间的会话。历史控制表控制从不同网络采集的数据。各个模块的输出以图表的形式呈现给网络管理者以供其用网络管理系统对网络进行分析。,3.2.4 RMON1组及其功能,分组和信道过滤后的输出可能产生报警和事件的消息。数据采集的输出也可直接产生报警
41、。过滤组的输出可以存储在分组捕获中为管理者提供进一步的分析。,3.2.4 RMON1组及其功能,前9个是用于Ethernet LAN的公共数据。第10组是扩展到Token Ring LAN。并且多数功能组都有一个或多个表。10个组分为三种类型:1. 统计类:统计组、历史组、主机组、最高N台主机组和矩阵组(见图)。2.事件报告类:具有网络事件报告的功能。它们是警报组和事件组3 过滤类:对按照标准选择的输入报文和捕获为将来分析用的数据进行过滤。它们是过滤组和包捕获组。,3.2.4 RMON1组及其功能,etherStats2Table等带有“2”的表是在RMON2标准发展期间创建的附加的表,也是R
42、MON1的增强版。,3.2.5 RMON2 管理信息库,前面介绍的RMON MIB只能存储MAC层管理信息。1997年发表了两篇RFC即RMON2。RMON2代理可读取封装在网络层之上的报头(如IP协议、TCP协议)。RMON2只是原RMON1的简单扩充,添加了一些新组 。,3.2.5 RMON2 管理信息库,l 协议目录组(protocoIDir):提供表示各种网络协议的标准化方法,管理站可以了解监视器所在的子网上运行什么协议。l 协议分布组( protocoIDist):提供每个协议产生的通信统计数据,如发送了多少分组,多少字节等。l 地址映射组(addressMap):建立网络层地址(I
43、P地址)与MAC地址的映射关系。这些信息在发现网络设备、建立网络拓朴结构时有用。l 网络层主机组(nlHost):收集网上主机的信息,与RMON1不同的是其基于网络层地址发现主机而不是基于MAC地址。管理员可以超越路由器看到子网之外的IP主机。,3.2.5 RMON2 管理信息库,l 网络层矩阵组(nlMatrix):记录主机对(源/目标)之间的通信情况,l 应用层主机组(alHost):对应每个主机的每个应用协议(指第三层之上的协议)在alHost表中有一个表项,记录有关主机发送/接收的分组/字节数等。l 应用层矩阵组(alMatrix):统计一对应用层协议之间的各种通信情况,以及某种选定的参数(例如交换机的分组数/字节数)、最大的(TopN)等一对应用层协议之间的通信情况。l 用户历史组(usrHistory): 按照用户定义的参数,周期地收集统计数据。可以研究系统中的任何计数器,例如关于路由器到路由器之间的连接情况的计数器。监视器配置组(probeConfig): 定义了监视器的标准参数集合,这样可以提高管理站和监视器之间的互操作性,使得管理站可以远程配置不同制造商的监视器。,源 地 址,