《SNMP网络管理架构.ppt》由会员分享,可在线阅读,更多相关《SNMP网络管理架构.ppt(57页珍藏版)》请在三一办公上搜索。
1、第二章 SNMP网络管理架构,张森,2023/7/8,第二章 SNMP网络管理架构,2.1 网络管理协议的发展历史2.2 SNMP体系结构2.3 SNMP协议2.4 SNMP的发展和现状,2023/7/8,2.1 网络管理协议的发展历史,TCP/IP的起源1969年,美国国防部资助建立了APARNET网1970s,开发了一套协议簇,解决大量主机的互操作问题。最终发展成为TCP/IP协议簇TCP/IP协议簇被采纳为Internet上的标准,2023/7/8,TCP/IP网络管理TCP/IP的早期,网络管理并没有得到重视ICMP(Internet Control Message Protocol)
2、提供了路由器与主机、主机与主机直接传送控制信息的方法Echo/Echo Reply(Ping):测试网络时延、网络设备可达性1987年:SGMP(Simple Gateway Monitoring Protocol)发布标志着TCP/IP有了专门的管理工具后续又出现了CMIP、SNMP以及CMOTCMIP:公共管理信息协议,主要针对OSI结构制定的网络管理协议CMOT:CMIP over TCP/IP,Echo Reply,Echo,Echo,Echo Reply,Echo,Echo Reply,Echo,Echo Reply,Echo,2023/7/8,1988年,IAB(Internet
3、Architecture Board,互联网体系结构委员会)决定:将SNMP作为近期(临时)解决方案,CMOT作为远期解决方案,理由是:TCP/IP不久将会过渡到OSISNMP开发速度快,可满足眼前的需要为了强化这一策略,IAB要求SNMP和CMOT使用相同的被管对象库最终IAB允许SNMP独立于CMOT发展SNMP开始取得迅速发展厂商的支持用户的支持,2023/7/8,RMON(远程监控)RMON为网络管理者提供了监控整个子网的能力对基本的SNMP MIB进行了扩充1993:SNMPv2在管理信息结构和功能上对SNMP进行了扩充增加了安全性1998:SNMPv3全面引入安全机制,2023/7
4、/8,SNMP:Simple Network Management Protocol,简单网络管理协议应用层协议,SNMP,UDP,IP,底层协议,SNMP协议所处位置,2023/7/8,2.2 SNMP的体系结构,2.2.1 SNMP的功能SNMP即简单网络管理协议,是目前应用最为广泛的网络管理协议,主要用于对路由器、交换机、防火墙、服务器等主要设备的管理其基本思想是为不同厂商的不同类型及不同型号的设备定义一个统一的接口和协议,使得管理员可以使用统一的方式对这些设备进行集中管理,在迅速提高网络管理效率的同时简化网络管理员的工作,2023/7/8,2.2 SNMP体系结构,2.2.2 SNMP
5、的体系结构非对称的二级结构SNMP是非对称的,Manager实体和Agent实体被分别配置,Internet,管理站,被管设备,2023/7/8,SNMP的工作方式,2023/7/8,2.2.2 SNMP的体系结构,三级体系结构基本的SNMP体系结构是Manager/Agent两级结构为了获得更高的性能和灵活性,可以将SNMP配置为三级结构两种实现方式代管(Proxy)体系结构为了将不支持SNMP的被管设备纳入到SNMP管理系统中RMON体系结构,2023/7/8,代管(Proxy)体系结构,SNMP,UDP,IP,底层协议,Manager,SNMP,UDP,IP,底层协议,Agent,映射功
6、能,托管设备使用的协议体系,底层协议,托管设备使用的协议体系,底层协议,管理进程,SNMP管理站,Proxy,托管设备,2023/7/8,管理站与被管理设备之间的通信关系,2023/7/8,2.2 SNMP体系结构,2.2.3 SNMP中的5个关键元素网络管理系统(NMS)代理代理服务器管理信息库(MIB,Managed Information Base)被管理设备,2023/7/8,2.2.3 SNMP中的5个关键元素,网络管理系统(NMS)向管理员提供操作界面,以获取或改变被管理设备的配置参数、状态信息等NMS与Agent进行通信,执行相应的操作(Set,Get),读取或设置设备的配置参数
7、,并接受Agent发送回来的Trap消息,2023/7/8,2.2.3 SNMP中的5个关键元素,代理(Agent)代理是网络管理中的“中间人”,负责NMS与设备之间SNMP操作的传递 介于NMS与设备之间,代理与NMS通信并响应NMS的请求,从设备获取相应的数据,或对设备进行相关的配置 代理同时可以根据设备的相应状态,在状态发生重要变化时使用MIB中定义的Trap向NMS发送报告,2023/7/8,2.2.3 SNMP中的5个关键元素,代理服务器(Proxy)代理服务器是为解决对不直接支持SNMP的设备的管理而提供的 代理服务器为非IP网络和不支持SNMP的设备代理完成SNMP的协议实现 代
8、理服务器还可以为不同版本的SNMP实现数据转换工作,2023/7/8,代理服务器的应用实例,2023/7/8,2.2.3 SNMP中的5个关键元素,管理信息库(MIB)MIB的功能是定义设备上可以使用的管理信息,代理和NMS使用MIS作为统一的数据接口进行通信 NMS向代理请求MIB中的一个信息,代理在收到该请求后从设备获取所需的信息,然后按MIB定义的格式对NMS进行应答,完成一次操作,2023/7/8,2.2.3 SNMP中的5个关键元素,被管理设备 指的是SNMP系统中被管理的对象(网元)设备通过某种形式(具体由设备制作商确定)将各种数据按MIB要求的格式提供给代理,供SNMP实体使用,
9、2023/7/8,2.2 SNMP体系结构,2.2.4 SNMP系统的组成SMI(Structure of Managerment Information)MIB(Management Information Base)协议(SNMP),SNMP的组成,2023/7/8,2.2.4 SNMP系统的组成,管理信息库(MIB)Management Information Base保存被管对象信息的(虚拟)数据库被管对象用SMI定义被管对象为树型结构,2023/7/8,管理信息库(MIB),Internet MIB,root,itu(0),iso(1),iso-itu(2),org(3),dod(6
10、),internet(1),directory(1),mgmt(2),experimental(3),private(4),mib-2(1),system(1),interface(2),snmp(11),enterprises(1),ibm(2),microsoft(311),Internet MIB,root,Internet MIB,root,2023/7/8,2.2.4 SNMP系统的组成,管理信息库(MIB),管理信息库的对象命名举例,2023/7/8,管理信息库(MIB),SNMP协议消息通过遍历MIB树形目录中的节点来访问网络中的设备MIB树的每个节点被指定为一个数字,同一层的节
11、点用不同的数字区分。这些结点数字由标准组织指定MIB树中的任何一个节点由其所处的位置来命名,同一层的节点数字都不相同,这样到达某个节点的路由可以由从树根到此节点所经过的节点的数字串来表示这个数字串称为对应于MIB对象的对象标识符(OID),例如,2023/7/8,管理信息库(MIB),MIB的顶级对象 iso itu iso-itu,2023/7/8,管理信息库(MIB),Internet下的对象directory:为与OSI directory相关的、将来的应用而保留mgmt:包含IAB已经批准的MIB定义experimental:用于标识在Internet实验中应用的对象Private:目
12、前只定义了一个子节点enterprise,各厂商的mib在enterprise中分别注册,2023/7/8,管理信息库(MIB),Mib(老版本)节点管理的信息类别,2023/7/8,Mib-II节点管理的信息类别,2023/7/8,管理信息库(MIB),Private目前只定义了一个子节点enterpriseEnterprise所属的节点数已超过3000,世界上任何一个公司只要用电子邮件发往进行申请即可获得一个节点名这样个设备制造商就可以定义自己的产品的被管理对象名,使它能用SNMP进行管理例如:IBM公司为 CISCO公司为,2023/7/8,2.2.4 SNMP系统的组成,管理信息结构(
13、SMI)为了规范不同厂商在其设备上的MIB,使不同厂商在写MIB的时候遵循统一的标准,避免不同厂商的设备在SNMP管理中可能出现的麻烦,就需要有一种机制来规范MIB的定义,这就是SMI SMI约定了使用到得语法、类型、宏、数据格式等 有关SMI的定义可参看RFC 1155、RFC1212文档,2023/7/8,2.2.4 SNMP系统的组成,管理信息结构(SMI)管理信息结构(SMI)用于定义存储在MIB中的管理信息的语法和语义,对MIB进行定义和构造SMI确定了可用于MIB中的数据类型并说明对象在MIB内部的表示和命名SMI的宗旨是保持MIB的简单性和可扩展性,从而简化管理,加强互操作性,2
14、023/7/8,2.2.4 SNMP系统的组成,SNMP协议,SNMP的协议环境,2023/7/8,2.3 SNMP协议,SNMP是一种面向非连接的网络管理协议(UDP)SNMP协议的功能是完成管理站与设备(代理)之间数据的有效传输,2023/7/8,2.3 SNMP协议,2.3.1 SNMP协议的结构 管理站 管理代理 管理对象 管理信息库,SNMP的体系结构,2023/7/8,2.3 SNMP协议,2.3.2 SNMP的工作机制SNMP的操作很简单,仅仅是对变量的修改和检查,SNMP共定义了以下5类管理操作、,2023/7/8,2.3 SNMP协议,2.3.2 SNMP的工作机制,SNMP
15、的5种报文操作方式,2023/7/8,SNMP基本体系结构图,SNMP Manager,UDP,IP,底层协议,Internet,GetRequest,GetNextRequest,SetRequest,GetResponse,Trap,ManagementApplications,MDB,SNMP Agent,UDP,IP,底层协议,GetRequest,GetNextRequest,SetRequest,GetResponse,Trap,Managed Objects,Resources,MIB View,SNMP Message,SNMP管理站,SNMP代理,2023/7/8,2.3 S
16、NMP协议,2.3.3 SNMP的报文格式 SNMP定义了5种协议数据单元PDU(也就是SNMP报文),用于管理进程和代理进程之间的信息交换。下图是封装成UDP数据报的5种操作的SNMP报文格式。可见一个SNMP报文共有三个部分组成:公共SNMP首部、get/set首部和变量绑定。,2023/7/8,2.3 SNMP协议,2.3.3 SNMP的报文格式 公共SNMP首部共占用3个字段:版本:标识SNMP的版本号,具体写入时为SNMP版本号减1,例如SNMPv1则应写入0。共同体(community):共同体就是一个字符串,作为管理进程和代理进程之间的明文口令,目前许多系统缺省的共同体名为“pu
17、blic”。PDU类型:根据PDU的类型,填入04中的一个数字,其对应关系见下表。,2023/7/8,2.3 SNMP协议,2.3.3 SNMP的报文格式,PDU类型,2023/7/8,2.3 SNMP协议,2.3.3 SNMP的报文格式 get/set首部请求标识符:这是由管理进程设置的一个整数值。代理进程在发送get-response报文时也要返回此请求标识符。管理进程可同时向许多代理发出get报文,这些报文都使用UDP传送,先发送的有可能后到达。设置了请求标识符可使管理进程能够识别返回的响应报文对应于哪一个请求报文。差错状态:由代理进程应答时填入05中的一个数字,具体描述如下表所示。差错
18、索引:当出现noSuchName、badValue或readOnly的差错时,由代理进程在应答时设置的一个整数,它指明有差错的变量在变量列表中的偏移。,2023/7/8,2.3 SNMP协议,2.3.3 SNMP的报文格式,差错状态描述,2023/7/8,2.3 SNMP协议,2.3.3 SNMP的报文格式 Trap首部占用了5个字段:企业(enterprise):填入trap报文的网络设备的对象标识符。此对象标识符一定是在MIB树上的enterprise节点1.3.6.1.4.1下面的一棵子树上。该字段也称为“制造商ID”。代理地址(agent-addr):产生trap的SNMP代理或代理服
19、务器(proxy)的地址。trap类型:该字段正式的名称是generic-trap,共分为下表中的7种。特定代码(specific-code):指明代理自定义的事件(如果trap类型为6),否则为0。时间戳(timestamp):指明自代理进程初始化到trap报告的事件发生所经历的时间,单位为ms。例如时间戳为100表明在代理初始化后100ms发生了该事件。,2023/7/8,2.3 SNMP协议,2.3.3 SNMP的报文格式,Trap类型描述,2023/7/8,2.3 SNMP协议,2.3.3 SNMP的报文格式 变量绑定 指明一个或多个变量的名称和对应的值。在get或get-next报文
20、中,变量的值被忽略。,2023/7/8,2.3 SNMP协议,2.3.4 SNMP共同体和安全控制SNMP使用共同体(community)的概念Community保护被管理设备的MIB不被非法的访问SNMP用community来定义一个代理和一组管理进程之间的认证、访问控制和代管的关系共同体是一个在被管理设备中定义的本地概念一个代理可以与多个管理站建立多个community同一个管理站也可以出现在不同的community中Community每个共同体有唯一的共同体名,一个共同体内的所有管理进程必须在所有的Get和Set操作中使用该共同体名字一个Agent中可以建立多个共同体,这些共同体可以包括
21、重叠的管理进程共同体名只具有局部意义,不同的Agent可以使用相同的名字,管理进程必须知道它所访问的Agent的团体名共同体名为字符串,明文传输,安全性差,2023/7/8,2.3 SNMP协议,2.3.5 轮询和中断 代理从被管设备中收集数据有3种方法:轮询 中断 面向自陷的轮询,2023/7/8,2.3 SNMP协议,2.3.5 轮询和中断管理站采用轮询的方式访问各个代理中的管理信息简单轮询方式的缺点被管设备太多,则监测周期过长有些数据不需要,浪费通信资源中断面向自陷的轮询管理站以不太频繁的周期进行一次初始化。在初始化期间,轮询所有代理,将需要监测的所有关键信息读取出来有了基准以后,管理站
22、便降低轮询频度此后,便由各个代理通过发送Trap消息的方式向管理站报告重要事件,2023/7/8,2.4 SNMP的发展和现状,2.4.1 SNMP的发展历史 SNMP发展到现在,共推出了三个版本和两个扩展:1989年,SNMPv1发布 1991年,针对SNMPv1的扩展RMON(Remote Monitoring,远程监视)发布。RMON扩展了SNMPv1的功能,主要加强了对局域网及设备的管理 1995年,SNMPv2正式发布(SNMPv1的升级版在1993年提出),SNMPv2在SNMPv1的基础上增加了部分功能,并制定了在OSI网络中使用SNMP的具体方法。同年,RMON升级为RMON2
23、 1998年,SNMPv3发布,重点加强了SNMP的安全性,并为将来的发展设计了总体的架构,2023/7/8,2.4 SNMP的发展和现状,2.4.2 SNMP v1的主要缺点没有提供读取大块数据的有效机制,对大块数据进行存取的效率很低;没有提供足够的安全机制,安全性很差,对管理消息不能进行鉴别,也不能防止监听;没有提供管理进程(manager)与管理进程之间的通信机制,只适合集中式管理,而不利于进行分布式管理;只适用于监测网络设备,不适用于监测网络本身;由于trap数据报采用面向非连接的UDP协议传输,而且没有应答,因此这种传输并不可靠。,2023/7/8,2.4 SNMP的发展和现状,2.
24、4.2 SNMP v2的主要功能改进提供了一次读取大块数据的能力(主要由新增加的GetBulkRequest操作来实现),效率大大提高;增加了管理进程(manager)与管理进程之间的信息交换机制(主要由新增加的InformRequest操作来实现),从而支持分布式管理结构。可在多种网络协议上运行,如OSI、Appletalk和IPX等,适用多协议网络环境(但它的缺省网络协议仍是UDP);SMI为被管理对象和MIB提供了更详尽的规范和文档;SNMPv2的MIB定义在MIB-基础上,并对MIB-进行了修改和扩充;提供了安全管理规范。,2023/7/8,2.4 SNMP的发展和现状,2.4.3 S
25、NMP v3的特点SNMPv3的最突出特点是其安全性加密:加密的目的是保证数据不被窃取。鉴别:鉴别的目的是保证数据的完整性和发送者的正确性,防止别人伪造或篡改数据。SNMPv3使用基于用户的安全模型(USM)实现安全性SNMPv3只是一个安全规范,没有定义其他的新的SNMP功能,只是为SNMP提供了安全方面的功能。所以,可以将SNMPv3简单地理解为在 SNMPv2的基础增加了安全和管理技术,实现了SNMPv2未曾实现的安全功能。,2023/7/8,2.4 SNMP的发展和现状,2.4.3 SNMP v3的特点 SNMPv3使用基于用户的安全模型(USM)实现安全性。在SNMPv3中,消息与用
26、户联系起来,一条消息对应一个用户,消息使用用户的密码生成密钥,从而进行加密,实现各种安全特性。具体来讲,USM定义了下面的目标:通过数据完整性检查,保护数据在传输过程中没有被篡改或毁坏,传输顺序也没有被有意改变;通过数据来源鉴别能够验证数据和发送源的一致性;数据加密能够使数据在传输过程中不被窃听,也未发生泄露;通过消息时序性限制,如果消息在一个指定的时间范围外产生,则拒绝接收。,2023/7/8,2.4 SNMP的发展和现状,2.4.3 使用SNMP时的注意事项加载SNMP服务补丁:安装SNMP服务的补丁,尽量将SNMP服务升级到v3版本。其中,硬件设备的服务补丁需要向制造商联系获得。保护SNMP共同体名称:许多设备缺省的SNMP共同体名称为“public”,这是很不安全的。建议管理人员修改该缺省值,并增加字符串的复杂性。在网络出口设备上过滤SNMP:目前,SNMP主要用于企业内部网络的管理,对于外部用户来说一般没有必要使用SNMP。为此,可以在企业网络的出口设备(主要为路由器或防火墙)上过滤掉SNMP通信和请求,从而保护内部网络。,2023/7/8,SNMP1 相关的RFC文档,http:/,2023/7/8,SNMPv2相关RFC文档,