第3章管理信息库MIB-2第3章管理信息库MIB-23.1SNMP的基本概念3.2MIB结构3.3标量对象和表对象3.4MIB-2功能组习题第3章管理信息库MIB-23.1SNMP的基本概念3.1.1TCP/IP协议簇ARPANet定义了4个协议层次,与OSI/RM的对应关系如图3.1所示。ARPANet的设计者注重的是网络互连,允许通信子网采用已有的或将来的各种协议,因此没有提供网络访问层协议。实际上,TCP/IP协议可以运行在任何子网上,例如X.25分组交换网或IEEE802局域网。第3章管理信息库MIB-2图3.1TCP/IP协议簇与OSI/RM的对应关系网络访问层IPICMPTCPUDP应用层物理层数据链路层网络层传输层会话层表示层应用层OSI/RMTCP/IP协议簇第3章管理信息库MIB-2与OSI分层的原则不同,TCP/IP协议簇允许同层协议实体(例如IP和ICMP)之间互相作用,从而实现复杂的控制功能,也允许上层过程直接调用不相邻的下层过程。甚至在有些高层协议(例如FTP)中,控制信息和数据分别传输,而不是共享同一协议数据单元。图3.2表示主要协议之间的调用关系。在Internet中,用主机(Host)一词泛指各种工作站、服务器、PC机甚至大型计算机。用于连接网络的设备叫IP网关或路由器。组成互联网的各个网络可能是IEEE802.3、802.5或其他任何局域网,甚至是广域网。互联网中的通信结构如图3.3所示。第3章管理信息库MIB-2图3.2Internet主要协议之间的调用关系BGPFTPHTTPSMTPTELNETSNMPMIMEUDPICMPOSPFARPRARP网络访问TCPIP第3章管理信息库MIB-2图3.3互联网中的通信结构NAP1IPNAP2IP路由器物理层网络访问协议IPTCPAppXAppY主机A物理层网络访问协议IPTCP主机BAppXAppYNAP:网络访问协议网络1网络2第3章管理信息库MIB-2TCP是端系统之间的协议,其功能是保证端系统之间可靠地发送和接收数据,并给应用进程提供访问端口。互联网中的所有端系统和路由器都必须实现IP协议。IP的主要功能是根据全网惟一的地址,把数据从源主机搬运到目标主机。当一个主机中的应用进程选择传输服务(例如TCP)为其传送数据时,以下各层实体分别加上该层协议的控制信息,形成协议数据单元,如图3.4所示。当IP分组到达目标网络目标主机后,由下层协议实体逐层向上提交,沿着相反的方向一层一层剥掉协议控制信息,最后把数据交给应用层接收进程。第3章管理信息库MIB-2图3.4TCP/IP体系结构中的协议数据单元应用进程数据应用进程数据TCP/UDP头TCP段/UDP数据报IP报头IP数据报帧头第3章管理信息库MIB-23.1.2TCP/IP网络管理框架在Internet中,对网络、设备和主机的管理叫做网络管理,网络管理信息存储在管理信息库MIB中。图3.5描述SNMP的配置框架。SNMP由两部分组成:一部分是管理信息库结构的定义,另一部分是访问管理信息库的协议规范。下面简要介绍这两部分的内容。图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图3.5中的另一部分是SNMP协议支持的服务原语,这些原语用于管理站和代理之间的通信,以便查询和改变管理信息库中的内容。Get检索数据,Set改变数据,而GetNext提供扫描MIB树和连续检索数据的方法,Trap则提供从代理进程到管理站的异步报告机制。第3章管理信息库MIB-2为了使管理站能够及时而有效地对被管理设备进行监控,同时又不过分增加网络的通信负载,必须使用陷入(Trap)制导的轮询过程。这个过程是这样操作的:管理站启动时或每隔一定时间,用Get操作轮询一遍所有代理,以便得到某些关键的信息(例如接口特性)或基本的性能统计参数(例如在一段时间内通过接口发送和接收的分组数等)。一旦得到了这些基本数据,管理站就停止轮询,而由代理进程负责在必要时向管理站报告异常事件。例如代理进程重启动、链路失效、负载超过门限等,这些情况都是由陷入操作传送给管理站的。得到异常事件的报告后,管理站可以查询有关的代理,以便得到更具体的信息,对事件的原因做进一步的分析。第3章管理信息库MIB-2Internet最初的网络管理框架由4个文件定义,如图3.6所示,这就是SNMP第一版(SNMPv1)。RFC1155定义了管理信息结构(SMI),即规定了管理对象的语法和语义。SMI主要说明了怎样定义管理对象和怎样访问管理对象。RFC1212说明了定义MIB模块的方法;而RFC1213则定义了MIB-2管理对象的核心集合,这些管理对象是任何SNMP系统必须实现的。最后,RFC1157是SNMPv1协议的规范文件。第3章管理信息库MIB-2图3.6SNMPv1网络管理框架的定义RFC1155StructureofManagementInformation(SMI)ManagementInformationBase(MIB-2)FormatforMIBModulesSNMPv1RFC1213RFC1212RFC1157SNMP网络管理框架第3章管理信息库MIB-23.1.3SNMP协议体系结构图3.7画出了Internet网络管理协议的体系结构。由于SNMP定义为应用层协议,因而它依赖于UDP数据报服务。同时,SNMP实体向管理应用程序提供服务,它的作用是把管理应用程序的服务调用变成对应的SNMP协议数据单元,并利用UDP数据报发送出去。第3章管理信息库MIB-2图3.7Internet网络管理协议的体系结构TCPIPUDP代理管理对象IPUDP管理站网络管理应用InternetSNMP报文第3章管理信息库MIB-2之所以选择UDP协议而不是TCP协议,是因为UDP效率较高,这样实现网络管理不会太多地增加网络负载。但由于UDP不是很可靠,因而SNMP报文容易丢失。为此,对SNMP实现的建议是对每个管理信息要装配成单独的数据报独立发送,而且报文应短些,不超过484个字节。每个代理进程管理若干管理对象,并且与某些管理站建立团体(Community)关系,如图3.8所示。团体名作为团体的全局标识符,是一种简单的身份认证手段。一般来说,代理进程不接受没有通过团体名验证的报文,这样可以防止假冒的管理命令。第3章管理信息库MIB-2图3.8SNMPv1的团体关系ManagerManagerManager(Community)Agent团体…第3章管理信息库MIB-2SNMP要求所有的代理设备和管理站都必须实现TCP/IP协议。对于不支持TCP/IP的设备(例如某些网桥、调制解调器、个人计算机和可编程控制器等),不能直接用SNMP进行管理。为此,提出了委托代理的概念,如图3.9所示。一个委托代理设备可以管理若干台非TCP/IP设备,并代表这些设备接收管理站的查询。实际上委托代理起到了协议转换的作用,委托代理和管理站之间按SNMP协议通信,而与被管理设备之间则按专用的协议通信。第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)表示管理和控制关系从图3.10可看出,上层的中间结点是某些组织机构的名字,说明这些机构负责它下面的子树信息的管理和审批。有些中间结点虽然不是组织机构名,但已委托给某个组织机构代管,例如org(3)由ISO代管,而internet(1)由IAB代管等。树根没有名字,默认为抽象语法表示ASN.1。2)提供了结构化的信息组织技术从图3.11可看出,下层的中间结点代表的子树是与每个网络资源或网络协议相关的信息集合。例如,有关IP协议的管理信息都放置在ip(4)子树中。这样,沿着树层次访问相关信息就很方便了。第3章管理信息库MIB-23)提供了对象命名机制树中每个结点都有一个分层的编号。叶子结点代表实际的管理对象。从树根到树叶的编号串联起来,用圆点隔开,就形成了管理对象的全局标识。例如internet的标识符是1.3.6.1,或者写为{iso(1)org(3)dod(6)1}。第3章管理信息库MIB-2internet下面的4个结点需要解释。directory(1)是为OSI的目录服务(X.500)使用的;mgmt(2)包括由IAB批准的所有管理对象,而mib-2是mgmt(2)的第一个孩子结点;experimental(3)子树用来标识在互联网上实验的所有管理对象;private(4)子树是为私人企业管理信息准备的,目前这个子树只有一个孩子结点enterprises(1)。如果一个私人企业(例如ABC公司)向Internet编码机构申请注册并得到一个代码100,该公司为它的令牌环适配器赋予代码25,则令牌环适配器的对象标识符就是1.3.6.1.4.1.100.25。把internet结点划分为4个子树,为SNMP的实验和改进提供了非常灵活的管理机制。第3章管理信息库MIB-23.2.1MIB中的数据类型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::=CHOIC