570 likes | 856 Views
计算机网络管理. -第四章远程网络监视 RMON. 第四章. 4.1 RMON 的基本概念 4 .2 R MON 的管理信息库 4.3 RMON-2 的管理信息库. 4.1 RMON 的基本概念. RMON 概念:中文的含义是远程网络监视器( Remote network MONitor), 用于监视整个网络通信的设备情况,又称网络分析器( Analyzer) 或探测器( Probe); 它能监视 LAN 上出现的每个分组,并进行统计分析(例如:出错统计,性能统计等);通常配置是一个子网一个监视器,并且与中央管理站通信。(见图4.1 P83)
E N D
计算机网络管理 -第四章远程网络监视RMON
第四章 • 4.1 RMON的基本概念 • 4.2 RMON的管理信息库 • 4.3 RMON-2的管理信息库
4.1 RMON的基本概念 • RMON概念:中文的含义是远程网络监视器(Remote network MONitor),用于监视整个网络通信的设备情况,又称网络分析器(Analyzer)或探测器(Probe);它能监视LAN上出现的每个分组,并进行统计分析(例如:出错统计,性能统计等);通常配置是一个子网一个监视器,并且与中央管理站通信。(见图4.1 P83) • RMON代理:即RMON探测器,能实现RMON-MIB,这种系统与通常的SNMP代理一样包含一般的MIB另外还有一个探测器进程,提供与RMON有关的功能;探测器能读写本地的RMON数据库,同时能响应管理站的查询请求。
4.1 RMON的基本概念 4.1.1 远程网络监视器RMON的目标: RMON定义了远程网络监视器的管理信息目标库,以及SNMP管理站与RMON之间的接口;一般来讲RMON的目标是监视子网范围内的通信,从而减少管理站和被管系统之间的通信负担,具体表现在如下: • 离线操作:有时管理站可以停止对监视器的轮询,减少通信负担,但监视器的工作不会停止,如果有异常,监视器可及时向管理站报告。 • 主动监视: • 问题检测和报告:主动监视消耗网络资源太多,监视器可以被动地获取网络数据,记录出现异常的信息。 • 提供增值数据:可分析收集到的子网数据,从而减轻管理站的计算任务。 • 多管理站操作:可以分布地实现管理功能,通过配置,并发工作,为不同的管理站提供不同的信息。
4.1.2 表管理原理 • 在SNMP V1中,表管理的增加和删除行的操作是不明确的;在RMON中规范了行增加和删除的操作。 • 增加了两种新的数据类型:[1]OwnerString::=DisplayStringhe 及[2]EntryStatus::=INTER{valid(1),creatRequest(2),underCreation(3),invalid(4)} • RNOM宏定义:由控制表和数据表组成。(见图4.2) [1]控制表定义数据表的结构,数据表用于存储数据。 [2]控制表包含的对象:rmlControlIndex唯一表示rmlControlTable中的一个控制行(索引);该控制行定义了rmlDataTable中一个数据行集合;rmlControlParameter控制参数应用控制行控制的所有数据行,一般有多个控制参数,简单的表可以仅一个;rmlControlOwner该控制行的主人或所有者;rmlControlStatus该控制行的状态(用于行的生成、修改和删除)。
[3]数据表的对象: rmlDataControlIndex和rmlDataIndex为共同索引(其中rmlDataControlIndex的值与控制行的索引rmlControlIndex值相同); rmlDataValue为数据的值。 • 增加行:管理站用set命令在RMON表中增加新行,规则如下: [1]管理站用SetRequest生成一个,如果新行的索引值与其他行的索引值不冲突,则代理产生一个新行,其状态的值为“createRequest(2)” [2]在新行产生后,由代理把状态对象置为underCreation(3).对于管理站没有设置新值的列对象,代理可以置为默认值,或者让新行维持这种不完整,不一致的状态,这取决于具体的实现。
[3]新行的状态保持为underCreation(3),直到管理站产生了所有要产生的新行。结束时管理站置要生成的行状态对象值为“valid(1)”[3]新行的状态保持为underCreation(3),直到管理站产生了所有要产生的新行。结束时管理站置要生成的行状态对象值为“valid(1)” [4]如果管理站要生成的新行已经存在,则返回一个出错的信息。 [5]以上算法的效果是:在多个管理站请求产生同个概念行时,仅最先到达的请求成功,其他请求失败; [6]如果管理站把一个已存在的行状态对象值由invalid改写为valid,相当于恢复旧行的作用,即产生了一个新行。 • 删除行:只有行的所有者才能发出SetRequest PDU,把状态对象的值置为invalid(4),就删除了。(是否算物理删除取决于实现的具体情况) • 修改行:首先置状态行对象的值为invalid(4),然后用SetRequest PDU改变行的其他对象值,再状态行对象的值为valid(1)
4.1.3多管理站访问 • 多管理站(即RMON监视器支持多管理站的并发访问)可能会出现如下问题: [1]多个管理站对资源的并发访问可能超过监视器的能力。 [2]一个管理站可能长时间占用监视器的资源,使其他站得不到访问。 [3]占用监视器资源的管理站可能崩溃,而没有释放资源。 • 解决办法(利用RMON控制表中的列对象Owner规定了表行的所属关系,从而解决管理站的并发问题) [1]管理站能认得自己所属的资源,也知道自己不再需要的资源。 [2]网络操作员可以知道管理站占有的资源,并决定是否释放这些资源。 [3]一个授权的网络管理员可以单方面决定是否释放其他操作员保有资源。 [4]如果管理站经过重启动过程,它应该首先释放不再使用的资源。
RMON规范建议: [1]所属标志应包括:IP地址,管理站名,网络管理员,地点,电话等。 [2]所属的标志不能作为口令或访问控制机制。 [3]如果一个可读写的RMON控制表出现在某些管理站的视阈中,则这些管理站也可以进行读写,但是控制表行只能由其所有者改变或删除,其他管理站只能行读访问。 [4]为了提供共享功能,监视器通常配置一定的默认功能,定义这些功能的控制行的所有者是监视器,所属标志的字符串以监视器开头,管理站只能以读的方式利用这些功能。
4.2 RMON的管理信息库 Iso(1) org(3) dod(6) internet(1) Directory(1) Mgmt(2) Mib-2(1) System(1) interface(2) Snmp(11) Rmon(16) 见图RMON的标识符为:1.3.6.1.2.1.16 • RMON库是MIB-2的第16个子树:(P40)
Mon(mib-2 16) Statistics(1) 以太网的统计信息 History(2)子网的周期性统计信息 Alarm(3)用于定义取样间隔和报警门限 Host(4)关于一个主机的通信统计数据 hostTopN(5)某个参数最大的N台主机数 Maxtrix(6)一对主机之间 的通信统计数据 Filter(7)对分组进行过滤的信息 Capture(8)捕获特殊分组的信息 Event(9)定义网络事件的信息 tokenRing(10)关于令牌网的配置和统计信息 • RMON库10个分组:
RMON库10个分组中的一些相互关系: [1]实现报警组时必须实现事件组 [2]实现最高的N台主机组时必须实现主机组 [3]实现捕获组时必须实现过滤组
4.2.1 以太网的统计信息 • 统计组(statitics) [1]分组结构图见图4.6 P89 [2]统计组提供一个表,该表每一行表示一个子网的统计信息; [3]记录监视器从子网上收集到的各种不同的状态分组数; [4]索引是etherStatsIndex [5]除了以下两个不是计数器类型,其他都是计算器类型:etherStatsIndex(1)为整数类型,表项索引;etherStatsDataSource(2),类型为对象标识符,表示监视器接受数据的子网接口,该对象值就是MIB-2中interface接口组中变量ifIndex的实例
[6]该组有三个变量是可读写:etherStatsDropEvents, etherStatsOwer, etherStatsStatus [7]该统计组与MIB-2中的接口组有些是重复,但本组统计的信息更详细,而且针对以太组;而且MIB-2 中的dod3统计的是单个系统设备,而本组统计的是整个子网。 [8]该组的许多变量对性能管理,故障管理,报警很有用。
历史组(history) [1]分组结构图见图4.7 P91 [2]控制表的索引是historyControlIndex;数据表的索引是etherHistoryIndex和etherHistorySampleIndex的组合索引. [3]该组是以固定的间隔时间取样所获得的子网数据,包括控制表和数据表 [4]控制表定义被取样的子网接口编号,取样间隔大小,以及每次取样数据多少 ;数据表则用于存储取样期间获得的各种数据。 [5]几个主要变量:在控制表中historyControlInterval表示取样间隔长度,1-3600秒,缺省为1800秒;historyControlBucketsGrand表示可存储的样品数,默认为50行(即保持最近的50个);数据表中etherHistoryUtilization表示子网的利用率。
Packets*(96+64)+Octets*8 利用率= Interval*通信速率 [6]子网利用率的计算公式: 说明: [1]Packets为分组总数 [2]Octets为接受到的字节总数 [3]Interval为取样间隔时间 [4]传输速率(如网卡速率10mb/100mb,modem55.6kb)等 [5]注意:要统一到“位”
historyControlIndex historyControlDataSource historyControlBuketsGranted historyControlInterval [7]历史控制表和数据表之间的关系(见图4.8 P 92) 对一个子网定义多个取样功能;例如对被监视的接口至少有两个控制行:30秒和30分的取样周期分别用于检测突发事件和接口稳定状况。 etherHistoryIndex etherHistorySampleIndex
[8]历史控制表和数据表之间 一些变量关系: • 一般historyControlBuketsGranted由监视器根据资源情况分配,但与管理站请求的historyControlBucketsRequested相同或接近; • 每一数据行(也叫吊桶bucket)保存一次取样得到的数据; • 历史表中的etherHistoryPkts=etherStatsPkts(tn)- etherStatsPkts(t(n-1)); • 当每一个取样间隔开始,监视器就在历史数据表产生一行,行索引etherHistory对应控制行的HistoryControlIndex相同,而etherHistorySampleIndex的值加1取 • 当etherHistorySampleIndex的值增加到historyBucketsGranted的值相同,这组数据行就当作循环使用缓冲区,丢弃最老的数据。(见图中知: 第一组已丢弃X个老数据;第二组丢弃了Y个老数据)
主机组(host) [1]分组结构图见图4.10 P93 控制表,主机数据表和主机时间表; [2]主机控制表的索引项为hostControlIndex;主机数据表的索引项为hostAddress.和hostIndex组合;主机时间表的索引项为hostTimeCreationOrder和hostTimeIndex的组合;其中hostIndex和hostTimeIndex与hostControlIndex匹配。 [3] 该组作用是:收集新出现的主机信息,其内容与接口组相同。 [4]监视器观察子网上传送的分组,根据源地址和目标地址了解网上活动的主机,为每个新出现的(启动)的主机建立并维护一组统计数据。 [5]每个控制行对应一个子网接口,而每个数据行对应一个子网上的主机。
[6]主机表hostTable的 总行数 N=N1+N2+…+Ni+…+Nk 其中:Ni代表控制表第I行hostControlTableSize的值; k代表控制表的行数 N代表主机的行数 I代表控制表索引hostControlIndex的值
代理a 代理b 代理c 子网1 接口1 监视器 接口2 子网2 代理d 代理e 例子: [1]接口子网为2 k=2; [2]子网1与接口1相连,则对应hostControlIndex=1,该行的hostControlTablesize=3 (N1=3); [3]子网2与接口2相连,则对应hostControlIndex=2,该行的hostControlTablesize=2 (N2=2); [4]N=N1+N2=5
[7]主机数据表hostTable的每一行由主机MAC地址hostAddress和接口号hostIndex共同索引。[7]主机数据表hostTable的每一行由主机MAC地址hostAddress和接口号hostIndex共同索引。 [8]当主机控制配置好以后,监视器就开始检查各个子网上出现的分组,如果发现有新的源地址出现,在主机的数据表增加一行,并把hoatContrlTableSize 加1, [9]主机时间表hostTimeTable与hostTable的内容相同,但是以发现的时间hsotTimeCreationOrder排序,而不是以MAC排序,其作用: 如果管理站知道表的大小和行的大小,就可以用最有效的方式把有关的管理信息装入SNMP的Get和GetNext PDU中,这样检索方便; 这个表的结构方便管理站找出某个接口上最新的主机。
最高N台主机组(hostTopN) [1]分组结构图见图4.11 P95 控制表,数据表 [2]主机控制表的索引项为hostTopNControlIndex;主机数据表的索引项为hostTopNReport和hostTopNIndex组合。 [3] 该组作用是:记录某种参数最大的N台主机的有关信息。 [4]一个“报告”:指在一个取样间隔中为一个子网上的一个主机组变量收集到的数据的集合;它是针对某个主机组变量即该变量在取样间隔中的变化率。 [5]最高n台主机组提供的是一个子网上某中变量变化率最大的n台主机的信息
[6]变量hostTopRateBase为整型,可取如下值:含义见p93中hostTable(2)[6]变量hostTopRateBase为整型,可取如下值:含义见p93中hostTable(2) INTEGER{ hostTopNInpkts(1) hostTopNOutpkts(2) hostTopNInOctets(3) hostTopNOutOctets(4) hostTopNOutErrors(5) hostTopNOutBroadcastPkts(6) hostTopNOutMulticastPkts(7) }
[7]报告准备过程: 开始时管理站生成一个控制行,定义一个新报告,指示监视器计算一个主机组变量在取样间隔结束与开始之差。取样间隔s存储在hostTopNDuration和hostTopNTimeRemaining中;在取样后hostTopNDuration保持不变,而hostTopNTimeRemaining递减,记录采样剩余时间,当剩余时间为0时,监视器计算最后结果,产生N个数据行报告;报告由变量hostTopNIndex索引,N个主机以计算的变量值递减的顺序排列;报告产生后管理站以只读方式访问;如果管理站需要产生新报告则可以把hostTopNTimeRemaining置为hostTopNDuration的值,这样原来的报告被删除,又开始新的报告。
矩阵组(Matrix) [1]分组结构图见图4.13 P96 控制表,数据表 [2]主机控制表的索引项为matrixControlIndex;主机数据表有matrixSDTable,其索引项为matrixSDSourceAddress, matrixSDDestAddress, matrixSDIndex的组合;另一数据表的索引项为matrixDSSourceAddress, matrixDSDestAddress, matrixDSIndex 。 [3] 该组作用是:记录子网中一对主机之间的通信量. [4]控制表的一行指明发现主机对话的子网接口,其中的变量matrixControlTableSize定义了数据表的行数,而变量matrixControlLastDeleteTime说明数据表行被删除的时间,如果没有删除行则matrixControlLastDeleteTime位0。
[5]数据表分成源到目标(SD)及目标到源(DS)的两个表,它们呢行之间的逻辑关系是矩阵关系。见图4.14 P97 [6]如果监视器在某个接口上发现了一对对话,则在SD表中记录两行记录,每行表示一个方向的通信;DS表也包含两行记录,但是索引的顺序不同。这样管理站可以检索到一个主机向其他主机发送的信息,也容易检索到其他主机向某主机发送的信息。 [7]如果监视器发现了一个会话,但是控制表定义的数据已用完,监视器就需要删除现有的行,一般是删除最近最少使用的行。
4.2.2 令牌环网的统计信息 RFC1513扩展了RMON MIB,增加了有关IEEE802.5令牌的管理信息: [1]在统计组中增加了两个表tokenRingMLStatsTable和tokenRingPStatsTable,前者统计令牌环中各个MAC控制分组,后者统计各种数据分组;好的分组指没有错误的具有有效长度的分组。坏的分组指帧格式可以识别,但是含有错误,或具有无效长度的分组见图 4.1和图4.2 P97-98. [2]在历史组中,定义新的历史表tokenRingMLHistory和tokenRingPHistoryTable,这两个表都由历史控制表historyControlTable控制。与统计表中的两个新表类似,这两个表分别收集各种MAC控制分组和数据分组的有关信息。 [3]同时增加了一个新组tokenRing,分别包含4个子组:环站组、环站顺序组、环站配置组、环站路由组等。
4.2.2 令牌环网的统计信息 RFC1513扩展了RMON MIB,增加了有关IEEE802.5令牌的管理信息: [1]环站组:包含每个站的统计数据和状态信息。该组由控制表和数据表组成。详见P99 [2]环站顺序组:该组提供在环站上的顺序(相对位置)。 [3]环站配置组 :该组提供控制环站的手段,RMON监视器可以把站从环上移去,或者向站下载配置信息。该组由控制表和数据表组成。见P100 [4]环站路由组:该表提供源路由信息的使用情况。见P100
Alarm(mon 3) AlarmEntry (1) AlarmIndex(1) 索引 AlarmInterval(2)采样间隔 秒 AlarmVariable(3) 在被采样的变量(对象表识符) AlarmSampleType(4)采样类型 AlarmValue(5)最近一次采样中得到的统计值 AlarmStartupAlarm(6)行生效后的第一次采样值是否产生报警 AlarmRisingThreshold|(7)上升门限 AlarmFallingThreshold|(8)下降门限 4.2.3 警报(alarm) RMON警报组定义一组网络性能的门限值,超过门限值时向控制台产生报警事件。报警由一组表组成。 AlarmRisingEventIndex|(9)超过上升门限事件表的索引 AlarmFallingEventIndex|(10)低于下降门限事件表的索引 AlarmOwner(11) AlarmStatusr(12)
[1]采样类型分为2种:absouteValue(1)(直接的值)和deltaValue(2)(表示相减后比较,即比较变化率或叫增量报警)。[1]采样类型分为2种:absouteValue(1)(直接的值)和deltaValue(2)(表示相减后比较,即比较变化率或叫增量报警)。 [2]alarmstartupAlarm的取值有下面3种: • risingAlarm(1):该行生效后第一个采样值>=上升门限,产生报警。 • fallingAlarm(2):该行生效后第一个采样值<=下降门限,产生报警。 • risingOrFallingAlarm(3):该行生效后第一个采样值>=上升门限或<=下降门限,产生报警。 [3]上升报警机制: • 如果行生效后的第一个采样值《=上升门限,而后来的一个采样值》=上升门限,则产生一个上升报警。 • 如果行生效后的第一个采样值》=上升门限,且alarmStartupAlarm=1或3,则产生上升报警。 • 如果行生效后的第一个采样值》=上升门限,且alarmStartupAlarm=2,则当采样值回落上升门限后又变得采样值》=上升门限时,则产生一个上升报警。 • 产生一个上升报警后,除非采样值回落上升门限到达下降门限,并且又一次到达上升门限,否则不再产生上升报警。 [4]下降报警(原理同上升报警。)
例1 [5]该规则可以避免信号在门限附近波动时产生很多报警,加重网络负载,也叫hysteresis(迟滞现象) 问:[1]当alarmStartup=1或3时,其报警情况?
[1]增量报警:采样类型为deltaValue;RMON规定每个周期采样2次的值与门限比较,把最近2次采样的值和门限比较,这样可以避免漏报超过门限的情况。[1]增量报警:采样类型为deltaValue;RMON规定每个周期采样2次的值与门限比较,把最近2次采样的值和门限比较,这样可以避免漏报超过门限的情况。 例1 时间(秒) 0 10 20 观察值 0 19 32 增量值 0 19 13 如果上升门限为20 ,则不报警。 例2 如果按双重采样规则,每隔5秒中观察一次则有: 时间(秒) 0 05 10 15 20 观察值 0 10 19 30 32 增量值 0 10 9 11 2 在15秒时连续2次取样的和是20,已经达到报警的门限,应产生一个报警。
4.2.4 过滤和通道 [1]过滤:提供一种手段,使得监视器可以观察接口上的分组,通过过滤选择出某种指定的特殊分组。有两种过滤器即数据过滤器和状态过滤器。 数据过滤器:是按位模式匹配,即要求分组的一部分匹配或不匹配指定的位模式; 状态过滤器:是按状态匹配,即要求分组具有特定的错状态 各种过滤器可以用逻辑运算(AND,OR)来组合,形成复杂的测试模式。 [2]通道:一组过滤器的组合叫做通道。可以对通过通道测试分组的计数,可以配置通道使得通过的分组产生事件,或者使得通过的分组被捕获。 [3]过滤逻辑 • 变量: input;被过滤的输入分组 filterPktData:用于测试的位模式 filterPktDataMask:要测试的有关掩码 filterPktDataNotMask:指示进行匹配测试或不匹配测试
[4]几种从简单到复杂的位模式匹配测试变量: • 测试输入分组是否匹配位模式,这需要进行逐位异或 if (input^filterPktData= =0) filterResult=match • 测试输入分组是否不匹配位模式,这需要进行逐位异或 if (input^filterPktData! =0) filterResult=mismatch • 测试输入分组中某些位是否匹配位模式,逐位异或后与掩码逐位进行逻辑与运算(掩码中对应要测试的位是1,其余为0) if (input^filterPktData)&filterPktDataMask = =0) filterResult=match;else filterResult=mismatch • 测试输入分组中某些位是否匹配位模式,而另一些位不匹配测试模式。则用到变量filterPktDataNotMask,该变量有些位为0,表示这些位要求匹配,有些位是1,表示这些位要求不匹配。 Relevant_bits_different=(input^filterPktData)&filterPktDataMask if((relevant_bits_different&~filterPktDataNotMask)= =0) filterResult=successful match
[5]例子1: 假设我们希望过滤出的以太网分组的目的地址为0xA5,而源地址不是0xBB。由于以太网地址是48位,而且前48位是目标地址,后48位是源地址,因此变量设置如下: filterPktDataOffset =0 (表示分组中要测试的部分距分组头距离) filterPktData =0x0000000000a50000000000bb filterPktDataMask =0xffffffffffffffffffffffff filterPktDataNotMask=0x000000000000ffffffffffff 例子2:有一状态过滤逻辑,每一种错误条件是一个整型,并且是2的幂。为了得到状态模式,只要把这些错误条件值相加,这样状态模式转换成位模式 0 分组大于1518字节 1 分组大于64字节 2 分组存在CRC错误或对准错误 如果分组错误值为6,即110,则它有如下错误, 1 分组大于64字节 2 分组存在CRC错误或对准错误
[6]通道操作 通道由一组过滤器定义,被测试的分组要通过通道中有关过滤器的检查。分组是否被通道接受,取决于通道配置中的一个变量: channelAcceptType::=INTEGER{acceptMatched(1),acceptFailed(2)} 如果该值为1,则分组数据和分组状态至少要与一个过滤器匹配,则分组被接受;如果该变量的值为2,则分组数据和分组状态与每一个过滤器都不匹配,则分组被接受. 当channelAcceptType=1时,见图 4。17 P 104 与通道操作有关的变量: • channelAcceptType值和过滤集合决定是否接受分组。 • channelMatches:计数器,对接受的分组计数。 • channelDataControl:控制通道开、关 • channelEventStatus:当分组匹配时该变量指示通道是否产生事件,是否被捕获。 • channelEventIndex:产生事件的索引。
[7]过滤组结构 • 过滤组由两个控制表组成见图4。18 P105;过滤表filterTable和 通道表channelTable. • 过滤组每一行定义一对数据过滤器和状态过滤器,变量filterChannelIndex说明该过滤器所属的通道,索引是filterIndex,详细见P105 • 通道组每一行定义一个通道.索引是channelIndex,其它详细见P105.注意:channelEventStatus的事件状态的含义: eventReady(1):分组匹配时产生事件,然后变为eventFired(2) eventFired(2):分组匹配时不产生事件 eventAlwaysReady(3):每个分组匹配时产生事件
4.2.5 包捕获和事件记录 [1]包捕获组 • 目的:建立一组缓冲区,用于存储从通道中捕获的分组。 • 该组包括控制表和数据表见书图4.19,P107;控制表的索引是bufferControlIndex,数据表的索引为captureBufferControlIndex和captureBufferPacketStatus组合。(书索引标记掉了) • 几个变量: bufferControlFullStatus表示缓冲区是否用满取值spaceAvailable或full. bufferControlFullAction表示缓冲区两种不同用法,取值为lockWhenFull表示缓冲区用完不接受新的分组,如果是wrapWhenFull表示缓冲区先进先出队列循环使用。
[2]事件组 • 作用:是管理事件, • 触发条件:可以由MIB中其它地方的条件触发;也可以由事件本身触发。 • 世界组的对象表示见图4.20 p108,两个表:事件表和log表。 • 事件表:定一事件的作用。 • Log表:记录事件出现的顺序和时间 • 事件表中的变量eventType表示事件的类型 即:none(1);log(2);snmp-trp(3);log-and-snmp-trap(4)
RMON(mib-2 16) protocolDir(11) protocolDist(12) addressMap(13) nlHost(14) nlMaxtrix(15) alHost(16) alMaxtrix(17) userHistory(18) probeConfig(19) 4.3 RMON2的管理信息库 RMON1 MIB 只能存储MAC层管理信息;而新扩展的RMON MIB2则能监视MAC层之上的通信。 4.3.1 RMON2 MIB的组成
RMON2能实现如下功能: 【1】按照段分析协议 【2】按照网络地址分析协议 【3】为不同网络地址之间的通信分析协议 【4】在应用层以网络地址分析协议 【5】为不同网络地址之间的对话分析应用程序的通信
RMON2能监视OSI/RM第三层到第七层的通信,能对数据链路层以上的分组进行译码,因此监视器能管理网络协议层,包括IP协议,因而能了解分组的源和目标地址,能知道路由器负载的来源,使得监视器范围扩大到局域网之外;同时也能监视应用层协议,例如:EMAIL,FTP,HTTP等协议,从而记录主机应用活动的数据.(一般情况下,网络管理标准中把网络层之上的协议都叫应用层协议,即OSI中的5,6,7层)RMON2能监视OSI/RM第三层到第七层的通信,能对数据链路层以上的分组进行译码,因此监视器能管理网络协议层,包括IP协议,因而能了解分组的源和目标地址,能知道路由器负载的来源,使得监视器范围扩大到局域网之外;同时也能监视应用层协议,例如:EMAIL,FTP,HTTP等协议,从而记录主机应用活动的数据.(一般情况下,网络管理标准中把网络层之上的协议都叫应用层协议,即OSI中的5,6,7层) • RMON2的MIB在RMON1基础上增加了9个组 [1]协议目录组:提供表示各种网络协议的标准化方法,使得管理站可以了解监视器所在的子网上运行的协议 [2]协议分布组(protocolDist):提供每个协议产生的通信统计数据,例如:发送了多少个组,多少字节. [3]地址映象组(addressMap): 建立网络层地址(IP地址)与MAC地址的映象关系.(用于发现网络设备,建立网络拓扑结构).该组可以为监视器每个接口上观察到每一种协议建立表项,说明IP地址与MAC地址的对应关系.
[4]网络主机组(nlHost):该组类似RMON1的主机组,收集网上主机的信息,例如主机地址,收发的分组/字节数;但与RMON1不同的是该组不是基于MAC地址,而是基于网络地址IP地址发现主机.这样管理人员可以超越看到子网之外的IP主机.[4]网络主机组(nlHost):该组类似RMON1的主机组,收集网上主机的信息,例如主机地址,收发的分组/字节数;但与RMON1不同的是该组不是基于MAC地址,而是基于网络地址IP地址发现主机.这样管理人员可以超越看到子网之外的IP主机. [5]网络层矩阵组(nlMatrix):记录主机对(源/目标)之间的通信情况,收集的信息类似RMON1的矩阵组,但是以网络层地址主机识别.其中数据表SD表,DS表和TopN表与RMON1类似. [6]应用层主机组(alHost):对应每个主机的每个应用层协议(指第三层之上)在alHost表中有一个表项,记录有关主机发送/接收的分组/字节数.该组使用户可以了解每个主机上的每个应用协议的通信情况. [7]应用层矩阵组(alMatrix):统计一对应用层协议之间的各种通信情况,以及某种选定的参数(例如交换分组或字节数)最大的TopN的一对应用协议之间的通信情况.
[8]用户历史组(userHistory):按照用户定义的参数,周期地收集统计数据.这样用户可以研究系统中的任何计数器.例如路由器之间的连接情况的计数器.[8]用户历史组(userHistory):按照用户定义的参数,周期地收集统计数据.这样用户可以研究系统中的任何计数器.例如路由器之间的连接情况的计数器. [9]监视器配置组(probeConfig):定义了监视器的标准参数集合,这样可以提高管理站和监视器之间的互操作性,管理站可以远程配置不同的制造商的监视器.
4.3.2 RMON2增加的功能 RMON2增加了两种与对象引用有关的新功能,增强了RMON2的能力和灵活性. [1]外部对象索引: • 在SNMPV1的管理信息结构的宏定义中,没有说明是否索引对象必须是被索引表的列对象.在SNMPV2的SMI中已明确可以使用不是概念表成员的对象作为索引项;在这种情况下,必须在概念行DESCRIPTION子句中给出文字的解释,说明如何使用这样的外部对象唯一地标识概念行实例. • RMON2采用了这种新的表结构,经常使用外部对象索引表,以便把数据表与对应的控制表结合起来.见图4.22. • 可以看出,RMON2定义的数据表比RMON1的表少一个作为索引的列对象。
RMON2 rml2ControlTable(1) rml2DataTable(2) rml2ControlTable(1) rml2DataTable(1) rml2ControlEntry(1) rml2DataEntry(1) rml2ControlIndex(1) rml2DataIndex(1) rml2ControlParameter(2) rml2DataValue(2) rml2ControlOwner(3) rml2ControlStatus(4) RMON2表标识符树状结构图:
fooTable fooEntry (1) fooTimeMark(1) fooIndex(2) fooCounts(3) [2]时间过滤器索引 • 网络管理应用需要周期地轮询监视器,以便得到被管理对象的最新状态。我们希望监视器每次只返回那些自上次查询以来改变的值。在SNMP1和SNMP2中都没有直接解决这个问题。在RMON2中设计了一种新颖的方法:即时间过滤器的进行索引。 • TimeFilter的对象专门用于表索引,其类型是TimeTicks,该作用是使得管理站可以从监视器取得自从某个时间以来改变过的变量。 • 原理:例子:见图4.23-图4.24 P112-P113
4.3.3 RMON2在网络管理中的应用 • RMON2新功能的应用;网络协议的表示方法;用户历史定义的方法;监视器的标准配置方法。 [1]协议的标识:任何一个网络都可能运行许多种不同的协议,有些是专用于某种特定产品,有些是标准的。协议之间还具有复杂的关系。在远程网络监视器中必须能够识别各种类型的网络协议,表示网络协议之间的关系. RMON2用协议标识符和协议参数共同表示一个协议以及该协议与其它协议之间的关系。协议标识符是由字节串组成的分层的树结构,类似于MIB对象组成的树。RMON2赋予每个协议层32位的字节串,编码为4个十进制,表示为[a.b.c.d]形式,它是协议标识符树的结点。 例如: (数据链路层协议) Ether2 =1[0.0.0.1](Ethernet-II框架结构) Llc =2[0.0.0.2](802.2) Snap =3[0.0.0.3](子网访问协议) Vsnap =4[0.0.0.4](不具有0值的SNAP信息包) wgAssigned =5[0.0.0.5](容器,收容各种不在其他四种链路层分支协议) Anylink =6[1.0.a.b]
链路层 ether2[0.0.0.1] 网络层 ip[0.0.8.0] 传输层 udp[0.0.0.17] 应用层 snmp[0.0.0.161] [2]协议标识符树:链路层协议字节串是协议标识符的根。下面每个直接相连的结点是链路层直接支持的上层协议,或者说直接包装在数据链路层中的协议(通常情况是网络层协议),整个标识符树就是这样逐级构造的。例子 :