您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > SNMP简单网络管理协议
SNMP简单网络管理协议李琼,2007-06主要内容•网络管理背景•网络管理信息模型(SMI)•网络管理通信模型(SNMP协议)•网络管理工具•公司私有MIB网络管理的重要性•网络的重要–人们生活已经离不开网络•网络管理的重要–网络自身•规模和复杂性越来越大,厂商和设备繁多,需要管理–用户角度•网络服务越来越多,用户需要高性能网络–理论角度•网络是一个系统、一种组织•任何一个系统都需要管理网络管理的发展1969专用网络管理arpanetsna/IBMappletalk/Appledna/Dec80年代初期HEMSSGMPCMIS/CMIPNetviewLanmanager1987通用网络管理1988Iab方案选择Iab发展策略制定SGMP—CMIS/CMIPSNMP1989CMOT1990Rfc1157SNMPv11993Rfc1441SNMPv2SNMPv31995DISMAN19972002Rfc3411-rfc3418成为标准STD62Rfc1157成为STD15网络管理发展ing•每两年一次NOMS–网络营运与管理专题讨论会(networkoperationandmanagementsymposium)–主办方:IEEE通信学会下属CNOM•每两年一次综合网络管理专题讨论会–主办方:国际信息处理联合会(IFIP)•网络管理解决方案–网络管理论坛(NFM)的OMNIPoint–开放软件基金会(OSF)的DME–OMG的公共对象请求代理体系结构(CORBA)–TINA-C的电信信息网络体系结构(TINA)–ITU-T的电信管理网(TMN)….•网络管理系统–hp的openview–ibm的netview系列–sunsoft的sunnetmanager–CiscoWorks2000–Raisecom的NViewNNM….网络管理定义•ISO在iso/iec7498-4中定义–开放系统互连管理(OSImanagement)是指这样一些功能,它们控制、协调、监视OSI环境下的一些资源,这些资源保证OSI环境下的通信。•通俗定义–通过某种方式维护网络的正常运行,当网络出现故障时能及时报告和处理,并协调、保持网络系统的高效运行等。OSI网络管理模型•组织模型–描述网络管理组件以及它们之间的关系•信息模型–网络对象里管理信息的结构和存储•通信模型–管理者和被管理者之间的通信,SNMP•功能模型–着重点在网络管理系统上的网络管理程序网络管理组件•管理工作站–必须有管理应用程序,用于数据分析、故障修复–给网络管理员提供接口•管理代理–能够响应管理工作站的信息或者操作请求–向管理工作站提供重要但未经请求的信息(trap)•管理信息库–网络环境下资源的表示–MIB(managementinformationbase)被管对象的集合•网络管理协议–管理工作站和管理代理之间的通信机制网络管理体系结构(一)•集中式网络管理结构网络管理体系结构(二)•分层的网络管理结构网络管理体系结构(三)•分布式网络管理结构网络管理功能模型•故障管理(faultmanagement)–探测、隔离和修正OSI环境下的不正常操作•计费管理(accountingmanagement)–记录网络资源的使用,控制和监测网络操作的费用和代价•配置管理(configurationmanagement)–初始化并配置网络;控制、识别被管理对象使其实现特定的功能或者使网络达到最优;•性能管理(performancemanagement)–对被管理对象的行为、系统资源的运行状况和通信活动的效率进行评价•安全管理(securitymanagement)–管理对象信息保护和访问控制SNMP网络管理信息模型•MIB–网络管理信息被存储在一个数据库中,即MIB–存储网络元素及他们属性的结构化信息–分层或者树状结构•SMI–StructureofManagementInformation,ASN.1的子集–规定MIB中对象的命名方式、数据类型、编码和传输方式,是定义MIB必须遵循的标准–SMIv1-rfc1155、SMIv2-rfc2578MIB树公司私有mib树:1.3.6.1.4.1.8886MIB树介绍•OID(ObjectIdentifier)–表示一个被管理对象,点十进制,例如1.3.6.1–对应一个可读的名字,例如internet,raisecom–树的叶子节点才是真正能够被管理的对象•MIB树–Internet在iso.organization.DoD下–Internet分为四个子树•directory:为将来OSI目录保留•mgmt:在IAB批准文档中定义的对象(标准MIB)•experimental:在internet实验中使用的对象•private:厂商私有mibMIB树举例•System(.1.3.6.1.2.1.1)–标量–表(二维标量)•索引•列–trapSMI基本类型•通用类型universal——ASN.1中定义–简单类型:INTEGER、OCTETSTRING、OBJECTIDENTIFIER、NULL–结构类型:SEQUENCE、SEQUENCEOF,mib表中使用•应用类型application——SMI定义–IpAddress:4字节,例如0xC0A80001表示192.168.0.1–PhysAddress:物理地址,例如mac地址0x00-19-5B-86-95-89–Counter:循环计数器,非负整数,0到232-1–Gauge:可增可减的非负整数,0到232-1,达到232-1后保持不变直到复位–TimeTicks:单位,百分之一秒SMI子类型•子类型–子类型是通过限制特定类型定义的取值的集合而衍生出来的。•举例–OCTETSTRING(SIZE(0..100|300..500))–enumSMI编码•基本编码规则(BER)–TLV结构(如右图),可递归–基本定长编码–结构化定长编码–结构化不定长编码•标记–类:通用/应用/具体上下文/私有–格式:基本/结构化编码–标记编号•长度–128,一个字节,实际长度–大于127,多个字节,如右图•值–根据具体类型而编码有所不同SMI编码举例•NULL0500•SEQUENCE(INTEGER,INTEGER)(3,8)–3006020103020108•OID(1.3.6.1.4.1.8886.6.3)–06092B06010401C5360603–其中,1.3=1*40+3=2B;8886=22B6=C536MIB文件编写•模块基本形式•模块定义(module)–MODULE-IDENTITY•OID分配•对象定义(object)–OBJECT-TYPE•告警定义(notification)–NOTIFICATION-TYPE•详细参见rfc2578.txtSNMPv1协议•SNMPv1操作•SNMPv1报文格式•SNMPv1trap•SNMPv1缺陷SNMPv1的操作•Get、getNext、set、trapSNMPv1GET•GET–获取一个或者多个MIB变量–错误码•noSuchName•tooBig•genErr•举例–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);response(7.3.1.1.5.1=5,7.3.1.2.5.1=1,7.3.1.3.5.1=2)SNMPv1SET•SET–给一个对象实例赋值、创建表行–错误码•noSuchName•tooBig•badValue•genErr•举例–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)SNMPv1GET-NEXT•GET-NEXT–获取下一个mib变量oid和值–错误码,跟GET一样•举例–getNext(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报文格式•差错状态(errorstatus)–0:noError–1:tooBig–2:noSuchName–3:badValue–4:这个值不能修改–5:genErr•差错索引(errorindex)–差错索引是一个偏移,它告诉管理器哪个变量引起这个差错。SNMPv1TRAP•被管理站向管理站主动发送重要事件的通告•SNMPv1trap–冷启动–热启动–端口up/down–厂商自定义trap•Trap报文SNMPv1缺陷与SNMPv2•没有提供成批存取机制,对大块数据进行存取效率很低;•没有提供足够的安全机制,安全性很差;•有限的告警•有限的错误码•缺乏层次结构•传输层依赖:只在UDP协议上运行,不支持别的网络协议;•没有提供管理者与管理者之间通信的机制,只适合集中式管理,而不利于进行分布式管理;•只适于监测网络设备,不适于监测网络本身。•v2提供GET-BULK操作,大大提高效率•v2在安全性方面没有改进•v2在告警方面通过NOTIFICATION-TYPE宏定义•增强了错误码•通过informtrap增强管理站到管理站的功能•支持UDP、CLNS、DDP、IPX•v2开始分布式管理的研究,这部分研究被分离出来,转到DISMAN组研究•RMONmib增强了对网络本身的监测•SMIv2比SMIv1改进了很多SNMPv2-GetBulk•GetBulk的两个重要变量–non-repeators(N)、max-repetitions(M)–假设GetBulk绑定中有N+R个变量,则前N个按照普通GetNext操作返回,后R个返回每个后面的连续M个变量。•示意SNMPv2-GetBulk举例•getBulk(non-repeators=1,max-repetitions=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错误码•错误码被移到每个变量里面•GET–noSuchObject、noSuchInstance•GET-NEXT–noNextInstance、endOfView•SET–见右图•GET-BULK–跟getNext一样SNMPv2-inform•设计初衷:管理站与管理站之间通信•实际上reportPDU没有统一定义,所以很少使用SNMPv2传输层•在SNMPv2-TM中定义了多个传输域SNMPv2报文格式•TRAP-PDU格式改成与其他pdu一致了,其他未变SNMPv2表•SNMPv2表种类–readWrite:固定表行,无行状态,例如端口表–readCreate:可创建表行•EntryStatus(SMIv1)•RowStatus(SMIv2)•SNMP表索引–普通索引–字符串索引–双索引SNMP表行状态•RowStatus六种状态–active:行存在并且可以使用,只在本身和notInService下可设
本文标题:SNMP简单网络管理协议
链接地址:https://www.777doc.com/doc-6324341 .html