1、为将来OSI目录保留mgmt:在IAB批准文档中定义的对象(标准MIB)experimental:在internet实验中使用的对象private:厂商私有mib,MIB树举例,System(.1.3.6.1.2.1.1)标量表(二维标量)索引列trap,SMI基本类型,通用类型universalASN.1中定义简单类型:INTEGER、OCTET STRING、OBJECT IDENTIFIER、NULL结构类型:SEQUENCE、SEQUENCE OF,mib表中使用应用类型applicationSMI定义IpAddress:4字节,例如0 xC0A80001表示192.168.0.1Ph
2、ysAddress:物理地址,例如mac地址0 x00-19-5B-86-95-89Counter:循环计数器,非负整数,0到232-1Gauge:可增可减的非负整数,0到232-1,达到232-1后保持不变直到复位TimeTicks:单位,百分之一秒,SMI子类型,子类型子类型是通过限制特定类型定义的取值的集合而衍生出来的。举例OCTET STRING(SIZE(0.100|300.500)enum,SMI编码,基本编码规则(BER)TLV结构(如右图),可递归基本定长编码结构化定长编码结构化不定长编码标记类:通用/应用/具体上下文/私有格式:基本/结构化编码标记编号长度128,一个字节,实
3、际长度大于127,多个字节,如右图值根据具体类型而编码有所不同,SMI编码举例,NULL 05 00SEQUENCE(INTEGER,INTEGER)(3,8)30 06 02 01 03 02 01 08OID(1.3.6.1.4.1.8886.6.3)06 09 2B 06 01 04 01 C5 36 06 03其中,1.3=1*40+3=2B;8886=22B6=C5 36,MIB文件编写,模块基本形式模块定义(module)MODULE-IDENTITYOID分配对象定义(object)OBJECT-TYPE告警定义(notification)NOTIFICATION-TYPE详细参
4、见rfc2578.txt,SNMPv1协议,SNMPv1操作SNMPv1报文格式SNMPv1 trapSNMPv1缺陷,SNMPv1的操作,Get、getNext、set、trap,SNMPv1 GET,GET获取一个或者多个MIB变量错误码noSuchNametooBiggenErr举例get(7.1.0);response(7.1.0=192.168.101.102)get(7.1);response(noSuchName)get(7.3.1.3.5.1);response(7.3.1.3.5.1=2)get(7.3.1.1.5.1,7.3.1.2.5.1,7.3.1.3.5.1);res
5、ponse(7.3.1.1.5.1=5,7.3.1.2.5.1=1,7.3.1.3.5.1=2),SNMPv1 SET,SET给一个对象实例赋值、创建表行错误码noSuchNametooBigbadValuegenErr举例Set(7.2.1.0=myPrinter);response(7.2.1.0=myPrinter)Set(7.2.1.0=myPrinter,7.2.2.0=0);response(error-status=noSuchName;error-index=2),SNMPv1 GET-NEXT,GET-NEXT获取下一个mib变量oid和值错误码,跟GET一样举例getNex
6、t(7.1.0);response(7.2.1.0=printer-1)getNext(7.2.1.0);response(7.2.2.0=123456)getNext(1);response(7.1.0=192.168.101.102)getNext(7.3.1.3.5.1);response(7.3.1.3.5.2=3),SNMPv1报文格式,差错状态(error status)0:noError 1:tooBig 2:noSuchName 3:badValue 4:这个值不能修改 5:genErr,差错索引(error index)差错索引是一个偏移,它告诉管理器哪个变量引起这个差错。,
7、SNMPv1 TRAP,被管理站向管理站主动发送重要事件的通告SNMPv1 trap冷启动热启动端口up/down厂商自定义trapTrap报文,SNMPv1缺陷与SNMPv2,没有提供成批存取机制,对大块数据进行存取效率很低;没有提供足够的安全机制,安全性很差;有限的告警有限的错误码缺乏层次结构传输层依赖:只在UDP协议上运行,不支持别的网络协议;没有提供管理者与管理者之间通信的机制,只适合集中式管理,而不利于进行分布式管理;只适于监测网络设备,不适于监测网络本身。,v2提供GET-BULK操作,大大提高效率v2在安全性方面没有改进v2在告警方面通过NOTIFICATION-TYPE宏定义增
8、强了错误码通过inform trap增强管理站到管理站的功能支持UDP、CLNS、DDP、IPXv2开始分布式管理的研究,这部分研究被分离出来,转到DISMAN组研究RMON mib增强了对网络本身的监测SMIv2比SMIv1改进了很多,SNMPv2-Get Bulk,Get Bulk的两个重要变量non-repeators(N)、max-repetitions(M)假设GetBulk绑定中有N+R个变量,则前N个按照普通GetNext操作返回,后R个返回每个后面的连续M个变量。示意,SNMPv2-Get Bulk举例,getBulk(non-repeators=1,max-repetitio
9、ns=3;7.2.1.0;7.3.1.1;7.3.1.2;7.3.1.3);response(7.2.2.0=123456;7.3.1.1.2.1=2;7.3.1.1.3.1=3;7.3.1.1.5.1=5;7.3.1.2.2.1=1;7.3.1.2.3.1=1;7.3.1.2.5.1=1;7.3.1.3.2.1=2;7.3.1.3.3.1=3;7.3.1.3.5.1=2;),SNMPv2错误码,错误码被移到每个变量里面GETnoSuchObject、noSuchInstanceGET-NEXTnoNextInstance、endOfViewSET见右图GET-BULK跟getNext一样,S
10、NMPv2-inform,设计初衷:管理站与管理站之间通信实际上report PDU没有统一定义,所以很少使用,SNMPv2传输层,在SNMPv2-TM中定义了多个传输域,SNMPv2报文格式,TRAP-PDU格式改成与其他pdu一致了,其他未变,SNMPv2表,SNMPv2表种类readWrite:固定表行,无行状态,例如端口表readCreate:可创建表行EntryStatus(SMIv1)RowStatus(SMIv2)SNMP表索引普通索引字符串索引双索引,SNMP表行状态,RowStatus六种状态active:行存在并且可以使用,只在本身和notInService下可设此值。no
11、tInService:概念行存在但由于其他原因不能使用,只在本身和active下可设此值notReady:概念行存在但因为缺少必须的信息而不能使用,不可设置creatAndGo:创建一个概念行实例时,可先设置成该状态,创建完成自动变为active。只在行不存在的情况下可设此值。createAndWait:创建一个概念行实例时,可先设置成该状态,不会自动变为active。destory:删除行。任何时候均可设此值。EntryStatus四种行状态valid:行存在并且可以使用。createRequest:创建行。可设置。underCreation:正在创建中。不可设置。Invalid:无效行。可设置,RMON,为何要RMON?流量分析:SNMP要不断轮询,而轮询负担重RMON代理的实现方式分布式RMO
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1