第3章管理信息库MIB-2第三章管理信息库MIB-23.1SNMP的基本概念?3.2MIB结构(与SNMP的关系?)3.3标量对象和表对象(何谓对象?)3.4MIB-2功能组?第3章管理信息库MIB-23.1SNMP的基本概念3.1.1TCP/IP协议簇1.TCP/IP协议簇,与OSI/RM的对应关系?如图3.1所示。查看SNMP和众多协议之间的关系?第3章管理信息库MIB-2图3.1TCP/IP协议簇与OSI/RM的对应关系网络访问层IPICMPTCPUDP应用层物理层数据链路层网络层传输层会话层表示层应用层OSI/RMTCP/IP协议簇第3章管理信息库MIB-22.与OSI分层的原则不同3.表示主要协议之间的调用关系(图3.2)。4.互联网中的通信结构(如图3.3所示)。5.当IP分组到达目标网络目标主机后,由下层协议实体逐层向上提交,沿着相反的方向一层一层剥掉协议控制信息,最后把数据交给应用层接收进程。(如图3.4所示)第3章管理信息库MIB-2图3.2Internet主要协议之间的调用关系BGPFTPHTTPSMTPTELNETSNMPMIMEUDPICMPOSPFARPRARP网络访问TCPIP第3章管理信息库MIB-2图3.3互联网中的通信结构NAP1IPNAP2IP路由器物理层网络访问协议IPTCPAppXAppY主机A物理层网络访问协议IPTCP主机BAppXAppYNAP:网络访问协议网络1网络2第3章管理信息库MIB-2图3.4TCP/IP体系结构中的协议数据单元应用进程数据应用进程数据TCP/UDP头TCP段/UDP数据报IP报头IP数据报帧头SNMP、ASN.1和各个协议关系?SNMP包含在哪?第3章管理信息库MIB-23.1.2TCP/IP网络管理框架1.在Internet中,对网络、设备和主机的管理叫做网络管理,网络管理信息存储在管理信息库MIB中。2.图3.5描述SNMP的配置框架。SNMP由两部分组成?:一部分是管理信息库结构的定义,另一部分是访问管理信息库的协议规范。(管理信息库结构是什么样?看图?为何有此结构?)3.图3.5中的第一部分是MIB树。各个代理中的管理数据由树叶上的对象组成,树的中间结点的作用是对管理对象进行分类。第3章管理信息库MIB-2图3.5SNMP的配置框架代理代理代理代理代理代理tcpConnEntry(1)tcpConnTable(13)sysDesc(1)system(1)sysObjectId(2)interface(2)tcp(6)mib(1)mgmt(2)directory(1)internet(1){1.3.6....}…private(4)管理站TrapSetGetNextGet代理上图传达哪些信息?访问(读取)?顺序?对象组织框架怎么形成?第3章管理信息库MIB-2以上图形在第二章中的SNMP图形中哪见过?4.图3.5中的另一部分是SNMP协议支持的服务原语?,这些原语用于管理站和代理之间的通信,以便查询和改变管理信息库中的内容。Get检索数据,Set改变数据,而GetNext提供扫描MIB树和连续检索数据的方法,Trap则提供从代理进程到管理站的异步报告机制。原语操作哪些属于轮询哪些属于事件报告?5.为何使用Trap(陷入)?。第3章管理信息库MIB-2Internet最初的网络管理框架由4个文件定义,如图3.6所示,这就是SNMP第一版(SNMPv1)。RFC1155定义了管理信息结构(SMI),即规定了管理对象的语法和语义。SMI主要说明了怎样定义管理对象和怎样访问管理对象。RFC1212说明了定义MIB模块的方法;而RFC1213则定义了MIB-2管理对象的核心集合,这些管理对象是任何SNMP系统必须实现的。最后,RFC1157是SNMPv1协议的规范文件。第3章管理信息库MIB-2图3.6SNMPv1网络管理框架的定义标准?查看?第3章管理信息库MIB-23.1.3SNMP协议体系结构1.网络管理协议的体系结构(图3.7)。2.为何选择UDP协议3.团体概念团体的由来?第3章管理信息库MIB-2图3.7网络管理协议的体系结构TCPIPUDP代理管理对象IPUDP管理站网络管理应用InternetSNMP报文第3章管理信息库MIB-2每个代理进程管理若干管理对象,并且与某些管理站建立团体(Community)关系,如图3.8所示。团体名作为团体的全局标识符,是一种简单的身份认证手段。一般来说,代理进程不接受没有通过团体名验证的报文,这样可以防止假冒的管理命令。第3章管理信息库MIB-2图3.8SNMPv1的团体关系ManagerManagerManager(Community)Agent团体…第3章管理信息库MIB-2SNMP要求所有的代理设备和管理站都必须实现TCP/IP协议。对于不支持TCP/IP的设备,不能直接用SNMP进行管理。为此,提出了委托代理的概念,如图3.9所示。第3章管理信息库MIB-2图3.9委托代理网络访问协议第三方专用协议IPUDPSNMP管理进程网络访问协议IPUDPSNMP网络访问协议SNMP报文管理站协议变换功能委托代理第三方专用协议网络访问协议管理进程非TCP/IP设备第3章管理信息库MIB-23.2MIB结构SNMP环境中的所有管理对象组织成分层的树结构,如图3.10和图3.11所示。这种层次树结构有以下3种作用。第3章管理信息库MIB-2图3.10注册层次rootccittisojoint-iso-ccittstandardregistrationauthoritymemberbodyorgdodinternetderictorymgmtexperimentalprivatemib-2001122361321416此种结构层次的好处?第3章管理信息库MIB-2图3.11MIB-2的分组结构enterprises(1)private(4)experimental(3)snmp(11)transmission(10)egp(8)udp(7)tcp(6)icmp(5)ip(4)at(3)interfaces(2)system(1)mib-2(1)mgmt(2)directory(1)internet(1)dod(6)org(3)iso(1)该图的默认值是什么?前面图?第3章管理信息库MIB-21)表示管理和控制关系2)提供了结构化的信息组织技术3)提供了对象命名机制第3章管理信息库MIB-2internet下面的4个结点•directory(1)•mgmt(2)•experimental(3)•private(4)OSI的目录服务INTERNET体系结构委员会批准的所有管理对象互联网上实验室的管理对象私人企业管理信息第3章管理信息库MIB-23.2.1MIB中的数据类型?(与ASN.1定义类型的关系)MIB由一系列对象组成。每个对象属于一定的对象类型,并且有一个具体的值。对象类型的定义是一种语法描述,对象实例是对象类型的具体实现,只有实例才可以绑定到特定的值。SNMP的对象是用ASN.1定义的,这种定义说明管理对象的类型、其组成和值的范围以及与其他对象的关系。为了保持简单性,SNMP仅用到ASN.1的一个子集,其中用到的5种通用类型如表3.1所示,前4种是简单类型,最后一种是构造类型。第3章管理信息库MIB-2表3.1ASN.1的通用类型类型名P/C标签值集合INTEGERPUNIVERSAL2整数OCTETSTRINGP/CUNIVERSAL4位组串NULLPUNIVERSAL5NULLOBJECTIDENTIFIERPUNIVERSAL6对象标识符SEQUENCE(OF)CUNIVERSAL16序列这几种对象前面是否见过?此种对象前缀数字序列如何得来?第3章管理信息库MIB-2ASN.1中的应用类型与特定的应用有关。具体到SNMP这种应用,RFC1155定义了以下7种应用类型:●NetworkAddress::=CHOICE{internetIpAddress}:这种类型用ASN.1的CHOICE构造定义,可以从各种网络地址中选择一种。●internetOBJECTIDENTIFIER::={iso(1)org(3)dod(6)1}:??SNMP采用对象标识符作为对象的惟一标识。●IpAddress::=[APPLICATION0]IMPLICITOCTETSTRING(SIZE(4)):32位的IP地址,定义为OCTETSTRING类型。第3章管理信息库MIB-2●Counter::=[APPLICATION1]IMPLICITINTRGER(0..4294967295):计数器类型是一个非负整数,其值可增加,但不能减少,达到最大值232-1后回零,再从头开始增加,●Gauge::=[APPLICATION2]INTEGER(0..4294967295):计量器类型是一个非负整数,其值可增加,也可减少。计量器的最大值也是232-1。与计数器不同的地方是计量器达到最大值后不回零,而是锁定在232-1,第3章管理信息库MIB-2图3.12计数器和计量器计数器达到232后回零0231计数器当前值计量器达到232后不回零231计量器当前值(a)(b)0第3章管理信息库MIB-2●TimeTicks::=[APPLICATION3]INTEGER(0..4294967295):时钟类型是非负整数。●Opaque::=[APPLICATION4]OCTETSTRING--arbitraryASN.1value:不透明类型即未知数据类型,或者说可以表示任意类型。第3章管理信息库MIB-23.2.2管理信息结构的定义MIB包含各种类型的管理对象??,例如计数器、计量器、标量和两维的数组等。对付如此多种多样的数据类型,可以提出以下3种方法。(1)为每一类对象定义一种对象类型。这种方法会产生很多对象类型,而且定义的方式可能是各种各样的,这使得MIB的实现复杂化。(2)定义一种带参数的通用对象类型,例如可以叫做object类型,每一种对象都是object类型,但参数取值不同就可以表示不同种类的对象。这种方法仍然笨拙,得到的object类型必然很复杂。第3章管理信息库MIB-2(3)利用ASN.1宏定义表示一个有关类型的集合,然后用这些类型定义管理对象。(一切皆为对象?)SNMP采用了最后一种方法,这样我们就有下面的定义层次:●宏定义:定义了一组合法的宏实例,说明了有关类型的语法;●宏实例:由宏定义通过参数替换产生的实例,说明一种具体类型;●宏实例的值:表示一个具有特定值的实体。SNMPMIB的宏定义最初在RFC1155中说明,叫做MIB-1。后来由RFC1212扩充为MIB-2。图3.13是RFC1212中对象类型的定义,对其中关键成分的解释如下。第3章管理信息库MIB-2图3.13管理对象的宏定义(RFC1212)OBJECT-TYPEMACRO::=BEGINTYPENOTATION::=SYNTAXtype(TYPEObjectSyntax)ACCESSAccessSTATUSStatusDescrPartReferPartIndexPartDefValPartVALUENOTATION::=value(VALUEObjectName)Access::=read-only|read-write|write-only|not-accessibleStatus::=mandatory|optional|obsolete|deprecatedDescrPart::=DESCRIPTIONvalue(descriptionDisplayString)|emptyReferPart::=REFERENCEvalue(referenceDisplayString)|emptyIndexPart::=INDEX{IndexTypes}IndexTypes::=IndexType|IndexTypes,IndexTypeIn