SNMP协议基础.doc_第1页
SNMP协议基础.doc_第2页
SNMP协议基础.doc_第3页
SNMP协议基础.doc_第4页
SNMP协议基础.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.、SNMP协议基础1 SNMP协议及网络管理介绍21.1什么是SNMP?21.1.1 SNMP 版本31.1.2 管理端和agent31.1.3 SMI和MIBs42 SNMP V1和SNMP V242.1 SNMP 和 UDP52.2 SNMP community52.3 管理信息结构52.3.1 OID命名62.3.2 OID的描述72.4 V2版本中的SMI扩展132.5进一步了解MIB-II152.6 SNMP 操作172.6.1 get172.6.2 getnext202.6.3 getbulk232.6.4 set操作252.6.5 get, getnext, getbulk, 以及set 错误响应262.6.6 SNMP trap272.6.8 SNMP inform292.6.9 SNMP report292.7 RMON293 SNMP V3303.1 SNMPv3的变化303.1.1 SNMPv3引擎313.1.2 SNMPv3 应用程序313.2 USM323.3. VACM341 SNMP协议及网络管理介绍当今由路由器、交换机、服务器组成的复杂的网络,确保所有的设备正常运行且处于最佳状态确实是一件非常令人胆怯的事情。简单网络管理协议(SNMP)可以帮助解决这个问题。随着人们对IP设备管理标准的需求日益增长,SNMP协议在1988年正式推出,利用SNMP只需一些“简单”的操作便可实现对网络设备的远程管理。接下来内容将会介绍SNMP是如何工作的,结合一些实例进行讲解。本节主要介绍SNMP和网络管理。虽然SNMP是本文的重点,加强对网络管理概念的理解,对于使用SNMP管理网络也非常有帮助。1.1什么是SNMP? SNMP的核心是帮助管理员简化对一些支持SNMP设备设置的操作(也包括这些信息的收集)。例如,使用SNMP可以关闭路由器的一个端口,也可以查看以太网端口的工作速率。SNMP还可以监控交换机的温度,在出现过高现象进行报警。SNMP通常和管理路由器相关联,实际上SNMP可以用于管理很多类型的设备。SNMP的前身是间单网关管理协议(SGMP),SGMP是为了管理互联网络上的路由器开发的。远程网络监控(RMON)是为了帮助我们理解网络自身是如何工作的,以及单台设备是如何对整个网络产生影响的,RMON不仅可用于监控局域网的流量,也可以用于广域网接口。我们将在第2节详细阐述RMON.1.1.1 SNMP 版本IETF负责定义互联网流量监管的标准,这里面包括SNMP。IETF发行的RFCs,对IP领域中的众多协议进行了详细的阐述,最初提交的文档是标准的提案,然后进入草案状态。当最后的草案被认可后,这个草案被赋予标准状态,虽然极少有完全被认同的标准。另外还有2个成为标准过程中的文档状态:历史文档和试验文档,分别指被更新的RFC取代的文档和还未最终成为标准的文档。下面列举了一些当前的SNMP版本以及相应的IETF状态信息。1)SNMP V1是SNMP协议的最初版本。在RFC 1157种进行定义。SNMP V1的安全性通过和密码没有什么区别的community,SNMP应用程序知道community便可获得访问设备管理信息的权限。有三种community:只读、读写以及trap。需要注意的是虽然SNMP V1是早期版本,不过依然是众多厂家实现SNMP基本方式。2)SNMP V2通常被指是基于community的SNMP V2,基于community的SNMPv2从技术上成为SNMPv2c,不过全文中,我们都称作为SNMPv2。SNMPv2由RFC 3416, RFC 3417, 以及RFC 3418进行定义。3)SNMP version 3 (SNMPv3 ) 是最新版本的SNMP. 它对网络管理最大的贡献在于其安全性。增加了对认证和密文传输的支持。在2002年,最终由草案变成完全标准。以下的RFC定义了SNMPv3标准: RFC 3410, RFC 3411, RFC 3412, RFC 3413, RFC 3414, RFC 3415, RFC 3416, RFC 3417, RFC 3418, 以及RFC 2576.SNMPv3将在第3章进行详细对待。1.1.2 管理端和agent前面曾模糊地提到支持SNMP的设备和网络管理工作站。接下来看看它们到底是怎么回事。SNMP有2个主体:管理端和agent。管理端指的是运行了可以执行网络管理任务软件的服务器,通常被称作为网络管理工作站(NMS),NMS负责采样网络中agent的信息,并接受agent的trap。采样,顾名思义,就是查询agent(路由器、交换机、Unix服务器等等)中的信息。借助于这些信息,系统可以判断是否出现了某种故障。Trap就是agent主动告诉NMS发生了的事情。Trap的传送属于实时的,不是NMS查询的响应。NMS会对收到的信息会进行判断,有必要的话在做出相应的动作。例如,当网络出口的Internet线路断掉,路由器将会发送Trap信息给NMS,NMS收到可以进行一些动作,比如以告警的方式通知管理员。注意:这个动作作必须NMS支持,而且要提前定义好。Agent是运行在可网络设备上的软件。可以是一个独立的程序(在Unix中叫守护进程),也可以是已经整合到操作系统中(比如:锐捷路由器的RGNOS,或者UPS中的底层操作系统)。如今,大多数IP设备都植入了SNMP agent,目的是为系统管理员管理设备提供方便。Agent可以通过不同的方式为NMS提供管理信息。例如:路由器上的agent可以跟踪每个接口的状态,哪个端口是UP的,哪个是down的等等。NMS可以查询每个接口的状态,一旦出现down掉,便可以立刻采取行动。Agent在出现异常情况时,可以发送trap给NMS。1.1.3 SMI和MIBs管理信息结构(SMI)定义了管理对象以及管理对象的表现形式。 Agent具有一份可跟踪对象的列表。路由器接口具备一些不同状态标志(例如:up,down)。基本管理信息(MIB)可以理解成为agent维护的管理对象数据库,MIB中定义的大部分管理对象的状态和统计信息都可以被NMS访问。SMI提供一种定义(采用SMI格式)管理对象的方式,而MIB用于定义对象自身。 MIB给管理对象起了一个名字,并且做出具体的解释。第2章会对MIB和SMI进行详细的描述。所有的Agent都使用被称作为MIB-II的MIB(RFC1213进行定义)。这个标准定义了端口统计(接口速率,MTU,发送的字节数,接收的字节数等等)信息以及系统自身描述信息(系统位置,联系方式,等等)。MIB-II的主要目的是为TCP/IP提供通用管理信息,并不包含厂家自身定义的信息。注意:MIB-I是MIB的早期版本,已被升级版MIB-II所取代。MIB-II定义的是为TCP/IP服务的,那么其它类型的信息应该如何被定义的呢?首先,有很多草案或者提议标准已经开发出来,用于管理帧中继、ATM、FDDI及一些服务(邮件、DNS等等)。以下列举了一些相关的RFC:ATM MIB (RFC 2515)Frame Relay DTE Interface Type MIB (RFC 2115)BGP Version 4 MIB (RFC 1657)RDBMS MIB (RFC 1697)RADIUS Authentication Server MIB (RFC 2619)Mail Monitoring MIB (RFC 2789)DNS Server MIB (RFC 1611)其次,只有这些MIB是远远不够的,因为这个原因,厂商或者个人可以定义私有的MIB。例如,厂商新推出一款路由器,这款路由器可能具备一些非常重要的新特性,非常值得监控,但标准的MIB中并不存在。因此,厂商只能开发出相对应的的私有MIB。2 SNMP V1和SNMP V2本节将对SNMP进行详细地描述,特别是针对SNMPv1和SNMPv2的特性(对SNMPv3只会简略地提到,SNMPv3将在第3节进行详细描述)。学习完这节后,你将懂得SNMP是如何发送和接收信息的,什么是SNMP community,如何阅读MIB文件,我们还会对第1节中提到的MIB-II、和RMON进行详细的描述。2.1 SNMP 和 UDPSNMP采用UDP协议在管理端和agent之间传输信息。 SNMP采用UDP 161端口接收和发送请求,162端口接收trap,执行SNMP的设备缺省都必须采用这些端口,有些厂商允许更改agent的缺省配置,如果缺省的配置被更改,必须通知NMS服务器以便能够及时更改,从而可以正确对设备进行查询。图2-1:SNMP的TCP/IP通信模型 发往NMS162端口的trap NMS发往agent161端口的请求 agent发往NMS161端口的请求响应2.2 SNMP communitySNMPv1和SNMPv2采用community字段在管理者和agent之间建立信任关系。Community实质上就是密码。很多厂商在设备上都配有缺省的community字段,通常只读的是public,可读写的是private。注意:要在设备网络上运行之前更改这些缺省community。2.3 管理信息结构前面我们曾经粗略提到过管理信息。懂得SNMP的内容是如何表示的,是理解网管设备可提供的信息类型的前提。管理对象是如何命名的、管理对象的数据类型,SMIv1(RFC1155定义)进行了详细的描述。SMIv2是为SNMPv2使用的升级版,首先来看一下SMIv1,下一节再讨论SMIv2。管理对象的定义可以分为三个属性:1) 名称名称,或者是OID,对管理对象进行唯一的标识,一般以两种形式出现:数字和“方便人们阅读的”,这两方法不但长而且不方便,在SNMP的应用程序中,做了很多弱化命名带来的不便的努力。2)类型和格式管理对象的数据类型在ASN.1的子集进行了定义。ASN.1的好处是和设备没有关系。3)编码BER(Basic Encoding Rules)规则是管理对象编码成八位字符的唯一方式。BER定了对象是如何进行编码和解码的,从而对象可以在例如以太网这样的戒介质上进行传输。2.3.1 OID命名管理对象通过树状结构进行组织,是SNMP命名的基础。OID由树上的一系列整数组成,整数之间用点( . )分隔开。用名称的形式进行表示更加友好,这种形式也只是在名字之间用点( . )进行隔开,每个名称代表树中的一个节点。图2-2我们可以看到树的部分顶部(删除了这里并不关心的分支)。图2-2:SMI对象树树中,最顶部的节点被称作为根节点,所有具备下一级对象的称作子树。图2-2的根,树的起点被称作为Root-Node.它的子树由ccitt(0), iso(1), 以及joint(2)构成,上图只有iso(1)具备子树,其他两个没有子树。ccitt(0) 和joint(2)和SNMP没有关系,本文不做论述。 本文接下来的部分,集中在iso(1).org(3).dod(6).internet(1)子树,每个管理对象都有自己的OID。directory分枝目前还没有用到;management分枝(mgmt)定义一系列互联网管理标准;experimental分枝保留给测试和研究使用;private分枝只进行了部分定义,其他部分由个人或者组织进行定义。下面是internet子树的定义:internet OBJECT IDENTIFIER := iso org(3) dod(6) 1 directory OBJECT IDENTIFIER := internet 1 mgmt OBJECT IDENTIFIER := internet 2 experimental OBJECT IDENTIFIER := internet 3 private OBJECT IDENTIFIER := internet 4 第一行定义internet为,作为.dod或者1.3.6的子树(:=是一个定义的操作符),后面四个类似,都是internet的分枝。从 internet 1 可以知道,directory 是internet的一个子树,OID是,mgmt的OID是.2,依次类推。Private子树使得软硬件的厂商们可以私有对象。SMI的定义如下enterprises OBJECT IDENTIFIER := private 1 。目前由IANA管理分配给个人、机构、组织、公司等等号码。可以在/assignments/enterprise-numbers.上查询到。例如,可以查到锐捷网络的代号:4881 Start Network Technology Co., Ltd. Qiu Gensheng qiugs&2.3.2 OID的描述SYNTAX属性通过一系列的ASN.1定义管理对象,SMIv1定了好多种对于网络设备来说非常重的数据类型,这些数据通过一种简单的方式定义管理对象包含哪些信息,记住它们极为重要。我们即将讨论的数据类型有点像C语言中所提到的。表2-1列出了SMIv1支持的数据类型。数据类型描述INTEGER32位的数字,指定某个可以数字表示的管理对象内容。例如路由器接口的状态可能是up、down、或者test,用数据的方式表示,1表示up,2表示down,3表示testing,根据RFC1153种提到的,0不能用作数值类型。OCTET STRING表示文本字符串,0个或者更多的字节。经常被用作表示无力地址Counter32位数字,0232 - 1 (4,294,967,295). 当达到最大值后,又从0开始计数。一般用于端口上发送/接收的字节数,或者端口上看到的错误数、丢弃数。计数值是一直往上增长的。当agent重启,所有的计数清0。OBJECT IDENTIFIER跟有点的十进制值组成的符号,代表对象树上的某个管理对性。 例如.4.1.4881 代表锐捷网络private enterprise OID.NULLSNMP中目前还没有用到SEQUENCE定义包含0或者更多其他的ASN.1数据类型SEQUENCE OFASN.1类型,作为由SEQUENCE定义对象的组成部分。IpAddress代表32位的IPv4地址.SMIv1和SMIv2都没有对128位的IPv6地址的描述。NetworkAddress类似于IP地址类型,但可以代表不同的网络地址类型Gauge在 0 232 - 1 (4,294,967,295)之间的32位数值. 和Counter不一样 Gauge可以增也可以减, 但不能超过最大值,端口的数率就是Gauge类型TimeTicks在 0 232 - 1之间的32位数值 (4,294,967,295).以0.01秒的粒度计算TimeTicks。设备的Uptime就是TimeTicks类型Opaque允许其他所有的ASN.1编码到一个8位字符中懂得如何读取和理解MIB文件非常重要,下面的例子是MIB-II的简化版(跟在-之后的为注释)RFC1213-MIB DEFINITIONS := BEGIN IMPORTS mgmt, NetworkAddress, IpAddress, Counter, Gauge, TimeTicks FROM RFC1155-SMI OBJECT-TYPE FROM RFC 1212; mib-2 OBJECT IDENTIFIER := mgmt 1 - groups in MIB-II system OBJECT IDENTIFIER := mib-2 1 interfaces OBJECT IDENTIFIER := mib-2 2 at OBJECT IDENTIFIER := mib-2 3 ip OBJECT IDENTIFIER := mib-2 4 icmp OBJECT IDENTIFIER := mib-2 5 tcp OBJECT IDENTIFIER := mib-2 6 udp OBJECT IDENTIFIER := mib-2 7 egp OBJECT IDENTIFIER := mib-2 8 transmission OBJECT IDENTIFIER := mib-2 10 snmp OBJECT IDENTIFIER := mib-2 11 - the Interfaces table - The Interfaces table contains information on the entitys - interfaces. Each interface is thought of as being - attached to a subnetwork. Note that this term should - not be confused with subnet, which refers to an - addressing-partitioning scheme used in the Internet - suite of protocols. ifTable OBJECT-TYPE SYNTAX SEQUENCE OF IfEntry ACCESS not-accessible STATUS mandatory DESCRIPTION A list of interface entries. The number of entries is given by the value of ifNumber. := interfaces 2 ifEntry OBJECT-TYPE SYNTAX IfEntry ACCESS not-accessible STATUS mandatory DESCRIPTION An interface entry containing objects at the subnetwork layer and below for a particular interface. INDEX ifIndex := ifTable 1 IfEntry := SEQUENCE ifIndex INTEGER, ifDescr DisplayString, ifType INTEGER, ifMtu INTEGER, ifSpeed Gauge, ifPhysAddress PhysAddress, ifAdminStatus INTEGER, ifOperStatus INTEGER, ifLastChange TimeTicks, ifInOctets Counter, ifInUcastPkts Counter, ifInNUcastPkts Counter, ifInDiscards Counter, ifInErrors Counter, ifInUnknownProtos Counter, ifOutOctets Counter, ifOutUcastPkts Counter, ifOutNUcastPkts Counter, ifOutDiscards Counter, ifOutErrors Counter, ifOutQLen Gauge, ifSpecific OBJECT IDENTIFIER ifIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION A unique value for each interface. Its value ranges between 1 and the value of ifNumber. The value for each interface must remain constant at least from one reinitialization of the entitys network management system to the next reinitialization. := ifEntry 1 ifDescr OBJECT-TYPE SYNTAX DisplayString (SIZE (0.255) ACCESS read-only STATUS mandatory DESCRIPTION A textual string containing information about the interface. This string should include the name of the manufacturer, the product name, and the version of the hardware interface. := ifEntry 2 END第一行定义了MIB的名字,RFC1213-MIB(RFC-1213定义了MIB-II)中定义的格式是固定的。这个MIB的IMPORTS部分通常指链接的内容。使用IMPORTS语句可以从其他的MIB文件中链接OID的数据类型。这个MIB从RFC1155-SMI链接了以下内容:1) mgmt2) NetworkAddress3) IpAddress4) Counter5) Gauge6) TimeTicksOBJECT-TYPE是从RFC1212中链接的, RFC1212定义了MIB文件如何编写。链接的的条目都通过FROM语句判断来自何处。前面我们看到mgmt是.2。因此,mib-2就可以写成.2.1,同样的,mib-2下面的interface组可以定义成为mib-2 2或者.2.1.2,对管理对象命名后,接下来描述一下具体对象,所有的对象按照以下的格式进行描述: OBJECT-TYPE SYNTAX ACCESS STATUS DESCRIPTION Textual description describing this particular managed object. := 在MIB-II中首先描述的是ifTable,表示网管设备网络接口列表(注意对象名称采用大小写混合的模式定义,第一个字母用小写),以下是采用ASN.1格式的定义:ifTable OBJECT-TYPE SYNTAX SEQUENCE OF IfEntry ACCESS not-accessible STATUS mandatory DESCRIPTION A list of interface entries. The number of entries is given by the value of ifNumber. := interfaces 2 ifTable的格式是SEQUENCE OF IfEntry. ifTalbe是一张表,包含由IfEntry定义的列,这个对象不可访问,表示agent不提供对该对象的查询。 Mandatory,表示agent必须支持该对象以保证兼容MIB-II标准。 DESCRIPTION 描述该对象一些具体情况。ifTable的OID是.。接下来我们看一下前一部分MIB文件中,SEQUENCE部分的定义:IfEntry := SEQUENCE ifIndex INTEGER, ifDescr DisplayString, ifType INTEGER, ifMtu INTEGER, . . . ifSpecific OBJECT IDENTIFIER 注意到sequence(IfEntry)的名称也是大小写混用,但是第一个字母是大写,Sequence定义了一个包含的属性列表,比如ifIndex, ifDescr, ifType等等,这张表可以容纳很多表项,表项的管理由agent负责,NMS能够在表中增加表项,在随后章节“set 操作”部分会讲到这个内容。IfEntry指定了表中包含的表项。接下来再来看看ifEntry(表中实际的表项)的定义。ifEntry OBJECT-TYPE SYNTAX IfEntry ACCESS not-accessible STATUS mandatory DESCRIPTION An interface entry containing objects at the subnetwork layer and below for a particular interface. INDEX ifIndex := ifTable 1 ifEntry是ifTable中的表项,它的定义方法和ifTalbe几乎相同,除了增加了一个新的语句,INDEX。index是ifTable表项的关键字。Agent要确保表中index的唯一性。如果路由器有6个端口,那么ifTable中将会有6列。ifEntry的OID是..1 fEntry的index是ifIndex,定义如下:ifIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION A unique value for each interface. Its value ranges between 1 and the value of ifNumber. The value for each interface must remain constant at least from one reinitialization of the entitys network management system to the next reinitialization. := ifEntry 1 ifIndex对象只读,意味着我们能够察看,但不能修改。这段MIB中最后定义的对象是ifDescr,ifTable的一列,用于对端口进行描述。这个MIB示例以END语句结束,END用于标识MIB的结束,在实际的MIB-II文件中,每个列在IfEntry 的sequence都有相应的对象定义,鉴于课程篇幅,这里指列举其中的2个。2.4 V2版本中的SMI扩展SMIV2通过在internet子树中增加snmpV2的分支扩展SMI对象,增加了好几种数据类型,并且有了很多其他的变化,新分支的OID为.。 SMIv2定义一些新的数据类型,详见表2-2表2-2:带有SNMPv2的树数据类型描述Integer32和INTEGER一样Counter32和Counter一样Gauge32和Gauge一样Unsigned320232 1之间的十进制值,Counter64类似于Counter32,但最大值是18,446,744,073,709,551,615(264-1),用于Counter32在短时间就循环的情况下。BITSAn enumeration of nonnegative named bits.相比于SMIv1,SMIv2中对对象的定义也有了一些变化,增加了一些可选的字段,对象的访问提供更多控制;表增加了更多的列;并且可以进行更加详细的描述。以下是SMIv2的定义,粗体字为变化的部分: OBJECT-TYPE SYNTAX UnitsParts MAX-ACCESS STATUS DESCRIPTION Textual description describing this particular managed object. AUGMENTS := 2.5进一步了解MIB-IIMIB-II是一个非常重要的管理组,支持SNMP的设备必须支持MIB-II。我们不打算对MIB中每个对象进行仔细描述,只简描述了一下子树的定义,RFC-1213-MIN采用以下的方式对MIB-II子树中基本的OID进行定义:mib-2 OBJECT IDENTIFIER := mgmt 1 system OBJECT IDENTIFIER := mib-2 1 interfaces OBJECT IDENTIFIER := mib-2 2 at OBJECT IDENTIFIER := mib-2 3 ip OBJECT IDENTIFIER := mib-2 4 icmp OBJECT IDENTIFIER := mib-2 5 tcp OBJECT IDENTIFIER := mib-2 6 udp OBJECT IDENTIFIER := mib-2 7 egp OBJECT IDENTIFIER := mib-2 8 transmission OBJECT IDENTIFIER := mib-2 10 snmp OBJECT IDENTIFIER := mib-2 11 mib-2亦即ernet.mgmt.1或者.2.1。从上面我们可以看到system组是mib-2 1,或者.2.1.1。图2-4 显示的是mgmt分支的MIB-II子树图2-4:MIB-II子树表2-5对MIB-II中的每个管理组进行简要的描述,详细的内容可以从RFC1213中找到。子树名OID描述system.2.1.1定义了属于诸如系统uptime,系统联系方式,系统名等属于系统操作的内容interfaces.2.1.2跟踪管理单元的每一个接口,监控接口组中接口的up或者down、发送/接收的字节数、错误和丢弃等等at.2.1.3地址转换组主要为了向后兼容而提供的,不建议使用。ip.2.1.4跟踪IP,包括IP路由的相关信息icmp.2.1.5跟踪ICMP错误、丢弃等信息tcp.2.1.6跟踪TCP连接状态(例如:关闭、侦听、同步等),也跟踪TCP相关的信息udp.2.1.7跟踪UDP的统计、出入报文等信息Egp.2.1.8跟踪EGP及EGP保持邻居表的诸多统计信息transmission.2.1.10这个组没有具体的对象,不过和介质相关的MIB通过这个子树进行定义。Snmp.2.1.11管理单元上SNMP的运行情况,跟踪类似于SNMP报文进出数量的信息。2.6 SNMP 操作我们已经讨论了SNMP是如何组织信息的,但没有描述如何收集这些管理信息的,接下我们将揭开SNMP这方面的面纱。PDU是管理端和agent用于发送和接收信息的消息,以下SNMP操作都包含标准的PUD格式:1) get2) getnext3) getbulk (SNMPv2 and SNMPv3)4) set5) getresponse6) trap7) notification (SNMPv2 and SNMPv3)8) inform (SNMPv2 and SNMPv3)9) report (SNMPv2 and SNMPv3)2.6.1 getGet request由NMS发往agent,agent收到请求后将会进行处理。在过载的情况下,比如说路由器,在无法响应请求的情况下不得不丢弃这个报文,如果agent成功收集了NMS请求的信息,会发送get response给NMS,这个过程参见图2-5。图2-5:get request过程Agent是如何知道NMS要找什么呢?实际上就是通过请求报文中的OID来进行发放现的。图2-6列出了相应的动作:图2-6:通过MIB-Browser查看交换机的System name。在这个示例中,进行了好几件事情。首先,通过MIB-Browser发送命令,在程序上只要要进行三个设置:只读community(public),OID(..0)。.5是希望查询的MIB变量,它的英文名称是systemName。.0又是做什么用的呢?SNMP中,MIB对象通过x.y的形式表示,x是实际上管理对象OID(这个例子中,.),y是实例标识号,对于标量对象(也就是没有表项的对象)y始终是0,在有表的情况下,实例ID确保可以选取表中的某一表项。1代表第2项,2代表第2项,一次类推。例如,查询交换机F0/2端口的ifDescr,在MIB-Browser中填入的OID值为..2.2。一次只需查询一个MIB对象的信息的情况下,get非常有用。但是如果采用这种方式查询多个对象的信息,将是一件非常浪费时间的事情。后文会提到相应的解决办法。接下来,看看查询systemName的request报文情况。(使用sniffer捕获的)Get requestGet response以上是在V1模式下捕获的报文,换成V2的情况如下:Get requestGet response2.6.2 getnextgetnext 操作允许你调用一些命令去查询MIB的一组值。getnext命令以类似于查词典的顺序查阅字树。图2-8:getnext依次查询到system组的路径操作举例:上图设置好了以后,第一个要搜索的对象是.(system.uptime)点击start后,返回的事system.Contact值。查看捕获的报文:Get response2.6.3 getbulkSNMPv2定义了getbulk操作,管理程序通过这个命令可以一次性查询到很多信息,标准的get操作有可能试图一次查询很多MIB对象的信息,但信息agent的信息容量有限,如果无法响应所有的请求,将会返回不包含任何信息的错误消息。Getbulk操作,能够让agent尽可能返回更多的信息。调用getbulk命的时候,有2个字段必须设置:nonrepeaters和max-repetitions。 Nonrepeaters 指前N个对象可以通过简单的getnext命令查询。max-repetitions 指在N之后最大只能通过getnext命令查询M个对象。例:Getbulk:2.6.4 set操作该命令用于修改管理单元的值,或者在表中增加新的表项。NMS可以同时修改多个对象。例:SetGet response2.6.5 get, getnext, getbulk, 以及set 错误响应错误回应有助于判断查询或者设置是否成功。get, get

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论