版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.网络管理技术与应用.第5章:SNMP通信模型 本章主要从本章主要从SNMPSNMP的通信模型来讨论其网络的通信模型来讨论其网络协议,其有协议,其有4 4个方面的内容:个方面的内容:nSNMPSNMP结构结构n管理模型管理模型nSNMPSNMP协议协议nSNMP MIBSNMP MIB.第5章:SNMP通信模型.5.1 SNMP5.1 SNMP结构(结构(The SNMP ArchitectureThe SNMP Architecture) n SNMP SNMP结构是管理系统和管理代理之间的管理报结构是管理系统和管理代理之间的管理报文的规范。文的规范。n由定义团体来进行安全机制的管理,只有相
2、同团由定义团体来进行安全机制的管理,只有相同团体成员之间才能进行通信。体成员之间才能进行通信。n一个管理站能够属于多个团体且可管理多个域。一个管理站能够属于多个团体且可管理多个域。 .5.1 SNMP5.1 SNMP结构(结构(The SNMP ArchitectureThe SNMP Architecture)SNMPSNMP结构具有三个方面的功能:结构具有三个方面的功能:n通过管理代理实现的网络功能应该是最简单的;通过管理代理实现的网络功能应该是最简单的;n允许有足够的可扩展性(增加新的操作和管理);允许有足够的可扩展性(增加新的操作和管理);nSNMPSNMP结构应独立于具体主机和网关的
3、结构及机制。结构应独立于具体主机和网关的结构及机制。.5.1 SNMP5.1 SNMP结构结构nSNMPSNMP只用于简单对象的通信并用只用于简单对象的通信并用ASN.1ASN.1和和BERBER(基本编码规则)进行数据传输。(基本编码规则)进行数据传输。 n基本报文有基本报文有set, getset, get和和traptrap 。其中。其中trap有有三种类型三种类型 :n一般一般traptrapn特殊特殊traptrapn时间戳时间戳 一般一般traptrap类别类别 :coldStartcoldStartwarmStartwarmStartlinkDownlinkDownlinkUpl
4、inkUpauthenticationFailureauthenticationFailureegpNeighborLossegpNeighborLossenterpriseSpecificenterpriseSpecific(属特殊陷入由设备制造商定义)属特殊陷入由设备制造商定义)5.1 SNMP5.1 SNMP结构结构 特殊特殊traptrap是与设备有关是与设备有关 时间戳是在网络实体初始化和陷入产生之间时间戳是在网络实体初始化和陷入产生之间的时间。的时间。sysUpTimesysUpTime的值。的值。5.1 SNMP5.1 SNMP结构结构返回本章首页5.2 管理模型管理模型 (Th
5、e Administrative Model) n支持支持SNMPSNMP应用实体的程序称为协议实体应用实体的程序称为协议实体nSNMPSNMP管理者属于管理站的应用实体管理者属于管理站的应用实体nSNMPSNMP代理属于网络元素的应用实体代理属于网络元素的应用实体n这一对实体被称为这一对实体被称为SNMPSNMP团体。团体。 nSNMPSNMP团体名为团体名为communitycommunity,是一个字符串的形式。,是一个字符串的形式。5.2 管理模型管理模型 SNMP Manager认证服务认证服务SNMP Manager认证服务认证服务SNMP Manager认证服务认证服务认证认证认
6、证服务认证服务SNMP Agent图图5-1SNMP 5-1SNMP 团体团体报文报文5.2 管理模型管理模型 图中是多个图中是多个SNMPSNMP管理者与一个管理者与一个SNMPSNMP代理进行通信,还代理进行通信,还可以进行多对一和多对多的通信。可以进行多对一和多对多的通信。图中发送和接收过程都要进行认证检验,这可以视为图中发送和接收过程都要进行认证检验,这可以视为是一种安全机制。是一种安全机制。SNMPv1SNMPv1的安全机制很简单,只是验证团体名。属于同的安全机制很简单,只是验证团体名。属于同一团体的管理站和被管理站才能互相作用。一团体的管理站和被管理站才能互相作用。5.2 管理模型
7、管理模型 1 1、团体的概念、团体的概念 nSNMPSNMP网络管理是一种分布式应用。代理控制自己的网络管理是一种分布式应用。代理控制自己的MIBMIB,也控制多个管理站对,也控制多个管理站对MIBMIB的访问。的访问。n只有授权的管理站才允许访问管理信息库。只有授权的管理站才允许访问管理信息库。n其基本思想是:其基本思想是:l l 代理系统可以对不同的团体定义不同的访问代理系统可以对不同的团体定义不同的访问 控制策略,每个团体被赋予唯一的名字。控制策略,每个团体被赋予唯一的名字。l l 管理站只能以认可的团体名行使访问权。管理站只能以认可的团体名行使访问权。l l 管理站实体可以用不同的名字
8、对不同的代理管理站实体可以用不同的名字对不同的代理 实施不同的访问权限。实施不同的访问权限。.5.2 管理模型管理模型2 2、认证服务、认证服务 n认证服务的目的是要保证通信是被授权的。认证服务的目的是要保证通信是被授权的。n对于一个对于一个SNMPSNMP报文,认证服务的功能是保证接报文,认证服务的功能是保证接收报文来自于这个消息所声称的源。收报文来自于这个消息所声称的源。n从管理站到代理的每个报文都包括一个团体名从管理站到代理的每个报文都包括一个团体名字。这个名字起到密码的作用,如果发送者知字。这个名字起到密码的作用,如果发送者知道这个密码,报文就被认为是可靠的。道这个密码,报文就被认为是
9、可靠的。.5.2 管理模型管理模型n团体名以明文的形式传输,容易被窃取。所以团体名以明文的形式传输,容易被窃取。所以SNMPSNMP的安全机制是不安全的。的安全机制是不安全的。n为此很多为此很多SNMPSNMP的实现只允许的实现只允许GetGet和和TrapTrap操作,而操作,而SetSet的操作被严格的限制。即只具有网络监视功的操作被严格的限制。即只具有网络监视功能而限制控制网络设备。能而限制控制网络设备。n为了加强为了加强SNMPSNMP的安全性,在后来的的安全性,在后来的SNMPSNMP版本中版本中改进了认证服务。改进了认证服务。5.2 管理模型管理模型3 3、访问策略、访问策略n 通
10、过定义团体,代理系统限制只有一些选定的管通过定义团体,代理系统限制只有一些选定的管理站才能访问它的理站才能访问它的MIBMIB。n通过使用多个团体,代理可为不同的管理站提供不通过使用多个团体,代理可为不同的管理站提供不同的同的MIBMIB访问类别。访问类别。n访问控制有两方面:访问控制有两方面:l l SNMP MIB SNMP MIB 视域(视域(viewview): MIB: MIB中对象的一个子中对象的一个子 集,对不同的团体可以定义不同的视域。属集,对不同的团体可以定义不同的视域。属 于同一视域的对象不必属于同一子树。于同一视域的对象不必属于同一子树。l l 访问模式:集合访问模式:集
11、合read-only, read-writeread-only, read-write的一的一 个元素。对于一个团体可以定义一种访问模个元素。对于一个团体可以定义一种访问模 式。式。 5.2 管理模型管理模型n一个团体的一个团体的MIBMIB视域和访问模式的组合称为视域和访问模式的组合称为SNMPSNMP团团体形象(体形象(profileprofile)。)。n它包含代理中对象的一个子集和有关这些对象的访它包含代理中对象的一个子集和有关这些对象的访问模式。问模式。nSNMPSNMP访问模式适用于访问模式适用于MIBMIB视域中的所有对象。例如视域中的所有对象。例如如果访问模式是如果访问模式是r
12、ead-onlyread-only,则具有同一团体形象,则具有同一团体形象的管理站对视域中的所有对象只能以只读方式访问。的管理站对视域中的所有对象只能以只读方式访问。 每个每个MIBMIB对象的定义都有对象的定义都有ACCESSACCESS子句,其规定了对象子句,其规定了对象 量的访问属性。量的访问属性。 团体形象中又规定了团体成员对对象的访问模式。团体形象中又规定了团体成员对对象的访问模式。这两种访问限制应该相协调。这两种访问限制应该相协调。 即使一个对象的访问属性是即使一个对象的访问属性是write-onlywrite-only,也允许,也允许 SNMPSNMP实体读实体读取该对象,取该对
13、象,这取决于具体实现时的考这取决于具体实现时的考虑。虑。5.2 管理模型管理模型表表5-1 MIB 访问类别与访问类别与SNMP访问模式的关系访问模式的关系MIBMIB访问类别访问类别SNMPSNMP访问模式访问模式READ-ONLYREAD-ONLYREAD-WRITEREAD-WRITEread-onlyread-only可用于可用于getget和和traptrap操作操作read-writeread-write可用于可用于getget和和traptrap操作操作可用于可用于getget,setset和和traptrap操作操作write-onlywrite-only可用于可用于getge
14、t和和traptrap操作,值与操作,值与具体实现有关具体实现有关可用于可用于getget,setset和和traptrap操作,操作,对于对于getget和和traptrap操作,值与具操作,值与具体实现有关体实现有关not-not-accessibleaccessible不能使用不能使用5.2 管理模型管理模型n团体形象是由代理为各个团体定义的。团体形象是由代理为各个团体定义的。nSNMPSNMP团体和团体和SNMPSNMP团体形象的组合称为团体形象的组合称为SNMPSNMP访问策略。访问策略。SNMP代理代理SNMP管理站集合管理站集合SNMP MIB视域视域SNMP访问模式访问模式SN
15、MP团体团体SNMP团体形象团体形象SNMP访问策略访问策略图图5-2 SNMP管理概念管理概念SNMPSNMP的访问策略的访问策略 Manager 1 (Community 1)Manager 2 (Community 2)Manager3 (Community 1,Community2)Agent 1Agent 2Community Profile 1Community Profile 2Agent 3Agent 4Community Profile 3Community Profile 4图图5-3 SNMP Access Policy5-3 SNMP Access PolicyComm
16、unity 1Community 25.2 管理模型管理模型n三个网络管理系统,各自有不同的团体域。三个网络管理系统,各自有不同的团体域。n代理代理1 1和代理和代理2 2属于团体属于团体1 1,而它们却有不同的团体,而它们却有不同的团体形象。形象。n作为团体作为团体1 1的一部分的管理站的一部分的管理站1 1可以与代理可以与代理1 1和代理和代理2 2通信通信n但管理站但管理站1 1不可以与属于团体不可以与属于团体2 2的代理的代理3 3和代理和代理4 4通信。通信。管理站管理站2 2则可以访问它们,因为管理站则可以访问它们,因为管理站2 2属于团体属于团体2 2。n管理站管理站3 3可以访
17、问团体可以访问团体1 1和团体和团体2 2,因此可以与所有,因此可以与所有代理通信代理通信 5.2 管理模型管理模型4 4、委托代理服务、委托代理服务 n通常委托代理是为不支持通常委托代理是为不支持SNMPSNMP的设备工作的,团的设备工作的,团体形象的概念同样适用于委托代理服务。体形象的概念同样适用于委托代理服务。n有些情况下,被代理的设备也可能支持有些情况下,被代理的设备也可能支持TCP/IPTCP/IP和和SNMPSNMP,这时委托代理的作用是为了减少代理的设,这时委托代理的作用是为了减少代理的设备与管理站之间的交互过程。备与管理站之间的交互过程。n对于被代理的设备,委托代理定义并且维护
18、一种对于被代理的设备,委托代理定义并且维护一种SNMPSNMP访问策略。访问策略。5.2 5.2 管理模型管理模型图为图为SNMPSNMP对象与非对象与非SNMPSNMP对象通过对象通过SNMPSNMP管理站进行通信的例子。管理站进行通信的例子。比如比如SNMPSNMP代理可以是一个具有代理可以是一个具有TCP/IPTCP/IP协议的协议的LANLAN。而一个。而一个WANWAN如如X.25X.25网络,其不具有网络,其不具有InternetInternet模型,但可以通过委模型,但可以通过委托代理进行管理并集成到综合管理系统。托代理进行管理并集成到综合管理系统。SNMP 管理站管理站SNMP
19、 代理代理委托代理委托代理SNMP团体团体非非SNMP团体团体图图5-4 SNMP代理访问策略代理访问策略返回本章首页5.3 SNMP5.3 SNMP协议规范(协议规范(SNMP Protocol SpecificationsSNMP Protocol Specifications) 1 1、SNMP PDUSNMP PDU格式格式 DataSNMP PDUCommunityVersionA HSNMP PDUUDP HTransport PDUIP H Network PDUDLC H图图5-5 SNMP 5-5 SNMP 报文封装报文封装5.3 SNMP5.3 SNMP协议规范协议规范nS
20、NMPSNMP报文是在报文是在PDUPDU加上团体名、版本号和应用层的头构成加上团体名、版本号和应用层的头构成了应用层的了应用层的PDUPDU。n在其前加上在其前加上UDPUDP的头成为了传输层的的头成为了传输层的PDUPDU。以此类推,构成。以此类推,构成每一层的每一层的PDUPDU。 n SNMPSNMP协议实体在主机的协议实体在主机的161161端口被接收。端口被接收。ntraytray是在是在162162端口被接收。端口被接收。nSNMPv1SNMPv1协议的最大长度为协议的最大长度为484484个字节。个字节。nSNMPSNMP有有5 5种管理操作,但只有种管理操作,但只有4 4种种
21、PDUPDU格式:格式:GetRequest GetRequest PDUPDU、GetNextRequest PDUGetNextRequest PDU与与SetRequest PDUSetRequest PDU格式相同。格式相同。GetResponse PDUGetResponse PDU Trap PDU Trap PDU variable-bindings variable-bindings图图5-6 SNMP 5-6 SNMP 报文格报文格式式CommunityVersionSNMP PDU变量绑定表变量绑定表00Request-idPDU typeSNMPSNMP报文报文GetRe
22、questPDU,GetNextRequestPDU和和SetRequestPDUGetResponsePDU错误状态错误状态请求标识请求标识PDU type错误索引错误索引Variable-bindingsTrapPDU制造商制造商ID代理地址代理地址一般陷阱一般陷阱特殊陷阱特殊陷阱时间戳时间戳变量绑定表变量绑定表PDU typename1value1name2value2 namenvaluen变量绑定表变量绑定表表表5-2 SNMP报文域报文域域域描述描述versionversionSNMPSNMP版本:版本:RFC1157RFC1157为版本为版本1 1communitycommuni
23、ty团体名可以用作认证团体名可以用作认证SNMPSNMP报文的口令报文的口令request-idrequest-id通过给每个请求提供一个唯一的通过给每个请求提供一个唯一的idid,区分不同的请求,区分不同的请求error-statuserror-status代理在处理管理站的请求时可能出现的各种错误:代理在处理管理站的请求时可能出现的各种错误:onError(0),tooBig(1),noSuchName(2),badValue(3),readOnly(4),genErr(5)onError(0),tooBig(1),noSuchName(2),badValue(3),readOnly(4)
24、,genErr(5)error-indexerror-index当当error-statuserror-status非非0 0时时error-indexerror-index指出是列表中的哪个变量引起了错误。变指出是列表中的哪个变量引起了错误。变量即管理对象实例量即管理对象实例v a r i a b l e -v a r i a b l e -bindingsbindings一列变量名和相应值一列变量名和相应值enterpriseenterprise产生陷阱的对象的类型;基于产生陷阱的对象的类型;基于sysObjectIDsysObjectIDagent-addragent-addr产生陷阱的
25、对象的地址产生陷阱的对象的地址generic-trapgeneric-trap一般陷阱,其值为:一般陷阱,其值为:Start(0),warmStart(1),linkDown(2),linkup(3),authen-Start(0),warmStart(1),linkDown(2),linkup(3),authen-ticationFailure(4),egpNeighborLoss(5)enterpriseSpecific(6)ticationFailure(4),egpNeighborLoss(5)enterpriseSpecific(6)specific-trapspecific-tra
26、p更具体地指出陷阱性质的一个代码更具体地指出陷阱性质的一个代码time-stamptime-stamp在网络实体初始化和陷阱产生之间的时间,即在网络实体初始化和陷阱产生之间的时间,即sysUpTimesysUpTime的值的值5.3 SNMP5.3 SNMP协议规范协议规范2 2、报文的发送和接收、报文的发送和接收 构造构造PDU(ASN.1对象)对象)加入团体名及源和目的传输地址加入团体名及源和目的传输地址构造构造SNMP报文报文检验并通过认证检验并通过认证把把ASN.1报文按报文按BER编码编码发送给对等实体发送给对等实体图图5-7 生成和发送生成和发送SNMP报文报文5.3 SNMP5.
27、3 SNMP协议规范协议规范按按BER解码,恢复解码,恢复ASN.1报文报文语法分析语法分析ASN.1报文报文验证版本号验证版本号认证检查认证检查语法分析语法分析PDU处理处理PDU,必要时产生应答,必要时产生应答丢弃报文丢弃报文必要时产生陷入必要时产生陷入出错出错正确正确图图5-8 接收和处理接收和处理SNMP报文报文返回本章首页5.4 SNMP5.4 SNMP操作(操作(SNMP OperationsSNMP Operations) 1. 1. 变量绑定变量绑定 n所有的所有的SNMPSNMP操作都是访问对象实例。(叶节点)操作都是访问对象实例。(叶节点)n可以将一些相同类型的操作(可以将
28、一些相同类型的操作(get,set,trapget,set,trap)组合到一)组合到一条报文中去。管理站可得到代理的某个组中的所有标量条报文中去。管理站可得到代理的某个组中的所有标量对象的值。对象的值。n它可以只发送一条报文来要求所有的取值,然后得到一它可以只发送一条报文来要求所有的取值,然后得到一个列出了所有值的响应。个列出了所有值的响应。n为了实现多个对象的交换,所有的为了实现多个对象的交换,所有的SNMP PDUSNMP PDU都包括一个都包括一个variable-bindingvariable-binding域,即绑定域。域,即绑定域。n该域由一系列对象实例的索引组成,并且带有那些对
29、象该域由一系列对象实例的索引组成,并且带有那些对象的值。的值。 5.4 SNMP5.4 SNMP操作操作 2. 2. 检索简单对象检索简单对象n检索简单的标量对象值可以用检索简单的标量对象值可以用getget操作操作; ;n如果变量绑定表中包含多个变量,一次还可以检索如果变量绑定表中包含多个变量,一次还可以检索多个标量对象的值多个标量对象的值; ;n接收接收GetRequestGetRequest的的SNMPSNMP实体请求标识相同的实体请求标识相同的GetRequestGetRequest响应。响应。n如果所有请求的对象值均可以得到,则给于应答;如果所有请求的对象值均可以得到,则给于应答;只
30、要有一个对象的值得不到,则可返回下列错误之只要有一个对象的值得不到,则可返回下列错误之一:一:.5.4 SNMP5.4 SNMP操作操作 noSuchName:noSuchName:变量绑定表中的一个对象无法与变量绑定表中的一个对象无法与MIBMIB中的任何对象标识符匹配,或者要检索的对象是一中的任何对象标识符匹配,或者要检索的对象是一个子树或表,没有对象实例生成。个子树或表,没有对象实例生成。 tooBigtooBig:响应实体可提供所有要检索的值,若变:响应实体可提供所有要检索的值,若变量太多以至一个响应量太多以至一个响应PDUPDU装不下。装不下。 genError: genError:
31、 响应实体一个对象的值也不能提供时,响应实体一个对象的值也不能提供时,变量绑定表中不返回任何值。变量绑定表中不返回任何值。5.4 SNMP5.4 SNMP操作操作例例1 1:若网络管理站想要从代理中检索:若网络管理站想要从代理中检索udpudp组中所有简单对象的组中所有简单对象的取值,管理站可以发送一个取值,管理站可以发送一个GetRequest PDU,GetRequest PDU,并在检索命令中并在检索命令中直接指明对象实体的标识符:直接指明对象实体的标识符:GetRequest(udpInDatagrams.0,udpNoPorts.0,udpInError.0,GetRequest(u
32、dpInDatagrams.0,udpNoPorts.0,udpInError.0,udpOutDatagrams.0)udpOutDatagrams.0)n 如果代理中该公共体的如果代理中该公共体的MIBMIB视域支持所有的这些对象,则返视域支持所有的这些对象,则返回回4 4个对象的一个个对象的一个GetRequest PDUGetRequest PDU: 5.4 SNMP5.4 SNMP操作操作例例 2 2: 如果代理不支持管理站对如果代理不支持管理站对udpNoPortsudpNoPorts的访问,则响的访问,则响 应会不同。如发出同样的命令:应会不同。如发出同样的命令:GetNextR
33、equest(udpInDatagrams,udpNoPorts,udpInError,udGetNextRequest(udpInDatagrams,udpNoPorts,udpInError,udpOutDatagram)pOutDatagram)n 而得到的响应是:而得到的响应是: GetResponse(udpInDatagrams.0=17346,udpInError.0=0 ,GetResponse(udpInDatagrams.0=17346,udpInError.0=0 , udpInError.0=0,udpOutDatagrams.0=17090) udpInError.0
34、=0,udpOutDatagrams.0=17090)n 因为变量名因为变量名udpNoPortsudpNoPorts和和udpInErrorudpInError的下一个对象实例的下一个对象实例 都是都是udpInError.0=0udpInError.0=0n 可见当代理收到一个可见当代理收到一个GetGet请求时,如果能检索到所有的请求时,如果能检索到所有的 对象实例,则返回请求的每一个值;对象实例,则返回请求的每一个值;n 如果有一个值不能提供,则返回该实例的下一个值。如果有一个值不能提供,则返回该实例的下一个值。.5.4 SNMP5.4 SNMP操作操作3. 3. 检索未知对象检索未知
35、对象nGetNextGetNext命令检索变量名指示的下一个对象实例,但是并不命令检索变量名指示的下一个对象实例,但是并不要求变量名是对象标识符或者是实例标识符。要求变量名是对象标识符或者是实例标识符。n如如udpInDatagramsudpInDatagrams的实例标识符是的实例标识符是udpInDatagrams.0udpInDatagrams.0,而,而udpInDatagrams.2udpInDatagrams.2并不表示任何对象。若发出并不表示任何对象。若发出GetNextRequest(udpInDatagrams.2)GetNextRequest(udpInDatagrams.
36、2)得到的响应是得到的响应是GetNextRequest(udpNoPorts.0=2552) GetNextRequest(udpNoPorts.0=2552) n说明代理没有检查标识符说明代理没有检查标识符udpInDatagrams.2udpInDatagrams.2的有效性,而的有效性,而是直接查找下一个有效的标识符,得到是直接查找下一个有效的标识符,得到udpInDatagrams.0udpInDatagrams.0后返回了它的下一个对象实例。后返回了它的下一个对象实例。 5.4 SNMP5.4 SNMP操作操作4. 4. 检索表对象检索表对象 GetNextGetNext可用于有效
37、地搜索表对象。可用于有效地搜索表对象。图图5-9 表对象检索表对象检索IfTable(2)Interfaces(mib-2 2)mib-2=1.3.6.1.2.1IfNumber(1)IfEntry(1)IfIndex(1)IfDescr(2)IfType(3)IfMtu(4)IfSpeed(5)5.4 SNMP5.4 SNMP操作操作例例 3 3: 上图中,若发出下面的命令,检索上图中,若发出下面的命令,检索ifNumberifNumber的值。的值。GetRequest(1.3.6.1.2.1.2.1.0)GetRequest(1.3.6.1.2.1.2.1.0)GetResponse(2
38、)GetResponse(2)我们知道有两个接口。如果我们进一步想要知道每个接口的数我们知道有两个接口。如果我们进一步想要知道每个接口的数据速率,则可以用下面的命令检索据速率,则可以用下面的命令检索ifif表中的第五个元素:表中的第五个元素: GetRequest(1.3.6.1.2.1.2.2.1.5.1)GetRequest(1.3.6.1.2.1.2.2.1.5.1)最后的最后的1 1是索引项是索引项ifIndexifIndex的值。得到的响应是:的值。得到的响应是:GetResponse(10000000)GetResponse(10000000)说明第一个接口的数据速率是说明第一个接
39、口的数据速率是10Mb/s10Mb/s。若要得到第二个接口的。若要得到第二个接口的速率可用命令:速率可用命令: GetNextRequest(1.3.6.1.2.1.2.2.1.5.1)GetNextRequest(1.3.6.1.2.1.2.2.1.5.1)得到的可能是得到的可能是GetResponse(56000)GetResponse(56000)说明第二个接口的数据速率说明第二个接口的数据速率为为56kb/s56kb/s。5.4 SNMP5.4 SNMP操作操作例例 4 4 若管理站希望能够检索整个表,但又不知其中若管理站希望能够检索整个表,但又不知其中的内容和表中的行数,则可连续使用
40、的内容和表中的行数,则可连续使用GetNextGetNext命令。命令。表表5-3检索表对象检索表对象ipRouteDestipRouteDestIpRouteMetric1IpRouteMetric1ipRouteNextHopipRouteNextHop9.1.2.39.1.2.33 399.0.0.399.0.0.310.0.0.5110.0.0.515 589.1.1.4289.1.1.4210.0.0.9910.0.0.995 589.1.1.4289.1.1.425.4 SNMP5.4 SNMP操作操作管理站可发送包含所有列对象名称的管理站可发送包含所有列对象名称的GetNextR
41、equest:GetNextRequest:nGetNextRequest(ipRouteDest,ipRouteMetric1,ipRoutGetNextRequest(ipRouteDest,ipRouteMetric1,ipRouteNextHop)eNextHop)代理将表中的第一行取值返回:代理将表中的第一行取值返回:nGetResponse(ipRouteDest.9.1.2.3=9.1.2.3,ipRouteMGetResponse(ipRouteDest.9.1.2.3=9.1.2.3,ipRouteMetric1.9.1.2.3=3,ipRouteNextHop.9.1.2.
42、3=99.0.0.3)etric1.9.1.2.3=3,ipRouteNextHop.9.1.2.3=99.0.0.3)根据第一行的值可检索下一行:根据第一行的值可检索下一行:nGetNextRequest(ipRouteDest.9.1.2.3,ipRouteMetricGetNextRequest(ipRouteDest.9.1.2.3,ipRouteMetric1.9.1.2.3,ipRouteNextHop.9.1.2.3)1.9.1.2.3,ipRouteNextHop.9.1.2.3)nGetResponse(ipRouteDest.10.0.0.51=10.0.0.51,ipRo
43、GetResponse(ipRouteDest.10.0.0.51=10.0.0.51,ipRouteMetric1.10.0.0.51=5,ipRouteNextHop.10.0.0.51=uteMetric1.10.0.0.51=5,ipRouteNextHop.10.0.0.51=89.1.1.42)89.1.1.42)据此可继续检索第三行。据此可继续检索第三行。5.4 SNMP5.4 SNMP操作操作nGetNextRequest(ipRouteDest.10.0.0.51,ipRouteMetric1.GetNextRequest(ipRouteDest.10.0.0.51,ipRo
44、uteMetric1.10.0.0.51,ipRouteNextHop.10.0.0.51)10.0.0.51,ipRouteNextHop.10.0.0.51)nGetResponse(ipRouteDest.10.0.0.99=10.0.0.99,ipRouteMGetResponse(ipRouteDest.10.0.0.99=10.0.0.99,ipRouteMetric1.10.0.0.99=5,ipRouteNextHop.10.0.0.99=89.1.1.4etric1.10.0.0.99=5,ipRouteNextHop.10.0.0.99=89.1.1.42)2)管理站不知道
45、这是表的未尾,因此继续:管理站不知道这是表的未尾,因此继续:nGetNextRequest(ipRouteDest.10.0.0.99,ipRouteMetric1.GetNextRequest(ipRouteDest.10.0.0.99,ipRouteMetric1.10.0.0.99,ipRouteNextHop.10.0.0.99)10.0.0.99,ipRouteNextHop.10.0.0.99)然而表中只有然而表中只有3 3行,因此代理返回行,因此代理返回MIBMIB中按字典顺序的下个对象:中按字典顺序的下个对象:nGetResponse(ipRouteMetric1.9.1.2.
46、3=3,ipRouteNextHop.GetResponse(ipRouteMetric1.9.1.2.3=3,ipRouteNextHop.9.1.2.3=99.0.0.3,ipNetToMediaIfIndex.1.3=1)9.1.2.3=99.0.0.3,ipNetToMediaIfIndex.1.3=1) n管理站可以通过响应列表中对象的名称与请求不匹配而得出路由表已以管理站可以通过响应列表中对象的名称与请求不匹配而得出路由表已以到达了末端。到达了末端。5.4 SNMP5.4 SNMP操作操作 5. 5. 表的更新和删除表的更新和删除 n SetSet命令用于设置或更新变量的值。对于命
47、令用于设置或更新变量的值。对于SetSet命令的应答命令的应答与是与是GetResponse,GetResponse,并且要么更新列表中的所有变量,要么并且要么更新列表中的所有变量,要么一个也不更新。其错误状态为一个也不更新。其错误状态为tooBig,noSuchnametooBig,noSuchname和和gegen nErrorError。n若有一个变量的名字和要设置的值在类型、长度或实际值若有一个变量的名字和要设置的值在类型、长度或实际值方面不匹配,则返回错误条件方面不匹配,则返回错误条件badValuebadValue。5.4 SNMP5.4 SNMP操作操作例例5:5:在表在表5-3
48、5-3中,若想改变列对象中,若想改变列对象ipRouteMetric1ipRouteMetric1的第一个的第一个值,则可发出命令:值,则可发出命令:SetRequest(ipRouteMetric1.9.1.2.3=7)SetRequest(ipRouteMetric1.9.1.2.3=7)得到的应答是:得到的应答是:GetResponse(ipRouteMetric1.9.1.2.3=7)GetResponse(ipRouteMetric1.9.1.2.3=7)其效果是该对象的值由其效果是该对象的值由3 3变成了变成了7 7。5.4 SNMP5.4 SNMP操作操作例例 6 6 对于表对于
49、表5-35-3若要增加一行,则可用命令:若要增加一行,则可用命令:SetRequest(ipRouteDest.11.3.3.12=11.3.3.12, SetRequest(ipRouteDest.11.3.3.12=11.3.3.12, ipRouteMetric1.11.3.3.12=7, ipRouteMetric1.11.3.3.12=7, ipRouteNextHop.11.3.3.12=91.0.0.5) ipRouteNextHop.11.3.3.12=91.0.0.5) 例例 7 7 如果要删除表中的一行,则可以把一个对象的值置为如果要删除表中的一行,则可以把一个对象的值置为
50、invalid:invalid: SetRequest(ipRouteType.7.3.5.3=invalid) SetRequest(ipRouteType.7.3.5.3=invalid)得到的响应说明表行确已删除:得到的响应说明表行确已删除:GetResponse(ipRouteType.7.3.5.3=invalid)GetResponse(ipRouteType.7.3.5.3=invalid)5.4 SNMP5.4 SNMP操作操作6. 6. 陷入操作陷入操作 coldStart coldStart发送实体重新初始化,代理的配置已改变,发送实体重新初始化,代理的配置已改变,通常是由
51、系统失效引起的。通常是由系统失效引起的。 warmStart warmStart发送实体重新初始化,但代理的配置没有发送实体重新初始化,但代理的配置没有改变,这是正常的重启动过程。改变,这是正常的重启动过程。 linkDown linkDown链路失效通知,变量绑定表的第一项指明链路失效通知,变量绑定表的第一项指明对应接口表的索引变量及其值。对应接口表的索引变量及其值。 linkUP linkUP链路启动通知,变量绑定表的第一项指明对链路启动通知,变量绑定表的第一项指明对应接口表的索引变量及其值。应接口表的索引变量及其值。 aughenticationFailure aughenticatio
52、nFailure发送实体收到一个没有通过发送实体收到一个没有通过认证的报文。认证的报文。 egpNeighborLoss egpNeighborLoss 相邻的外部路由器失效或关机。相邻的外部路由器失效或关机。 enterpriseSpecific enterpriseSpecific 由设备制造商定义的陷入条件,由设备制造商定义的陷入条件,在特殊陷入字段指明具体的陷入类型。在特殊陷入字段指明具体的陷入类型。返回本章首页5.5 SNMP5.5 SNMP功能组(功能组(MIB- SNMP GroupMIB- SNMP Group) nsnmpsnmp组包含组包含SNMPSNMP操作和实现的信息。
53、操作和实现的信息。n除了组中的最后一个对象,所有的对象都是只读的计数器。除了组中的最后一个对象,所有的对象都是只读的计数器。n对象对象snmpEnableAuthenTrapsnmpEnableAuthenTrap可以由管理站设置,它指示是可以由管理站设置,它指示是否允许代理产生否允许代理产生“认证失效认证失效”陷入。陷入。返回本章首页5.6 SNMPv25.6 SNMPv2 SNMPSNMP具有一定的局限性具有一定的局限性 : : 由于轮询的性能限制,由于轮询的性能限制,SNMPSNMP不适合管理很大的网络。不适合管理很大的网络。 SNMPSNMP不适合检索大量数据。不适合检索大量数据。 S
54、NMPSNMP的陷入报文是没有应答的,可能会丢掉重要的管的陷入报文是没有应答的,可能会丢掉重要的管理理信息。信息。 SNMPSNMP只提供简单的团体名认证,安全措施很弱。只提供简单的团体名认证,安全措施很弱。 SNMPSNMP并不直接支持向被管理设备发送命令。并不直接支持向被管理设备发送命令。 MIB-MIB-支持的管理对象是很有限的,不足以完成复杂支持的管理对象是很有限的,不足以完成复杂 的管理功能。的管理功能。 SNMP SNMP不支持管理站之间的通信,而这一点在分布式网不支持管理站之间的通信,而这一点在分布式网络管理中是很需要的。络管理中是很需要的。 针对以上针对以上SNMPv1SNMP
55、v1的缺陷,的缺陷,SNMPv2SNMPv2对对SNMPSNMP进行了一定进行了一定的改进。其增强的主要功能有:的改进。其增强的主要功能有: 管理信息结构的扩充;管理信息结构的扩充; 管理站和管理站之间的通信能力;管理站和管理站之间的通信能力; 新的协议操作。新的协议操作。5.6.1 SNMPv25.6.1 SNMPv2系统结构系统结构 管理应用程序 依赖于网络的协议 IP UDP SNMP 依赖于网络的协议 IP UDP SNMP 管理应用程序 依赖于网络的协议 IP UDP SNMP 管理应用程序 SNMPSNMP管理站管理站SNMPSNMP代理代理SNMPSNMP管理站管理站图图5-10
56、SNMPv2SNMPv2与与SNMPSNMP系统结构的主要区别系统结构的主要区别n SNMPv2SNMPv2有有7 7种报文种报文n 管理者与管理者之间可以通信。管理者与管理者之间可以通信。 SNMPv2SNMPv2提供提供3 3种访问管理信息的方法:种访问管理信息的方法:n 管理站和代理之间的请求管理站和代理之间的请求/ /响应通信。响应通信。n 代理系统到管理站的非确认通信。代理系统到管理站的非确认通信。n 管理站和管理站之间的请求管理站和管理站之间的请求/ /响应通信,以支响应通信,以支持分布式网络管理。持分布式网络管理。5.6.2 SNMPv25.6.2 SNMPv2协议操作协议操作
57、1 1SNMPv2SNMPv2报文报文n版本号取值为版本号取值为0-SNMPv10-SNMPv1 取值为取值为1-SNMPv21-SNMPv2。2 2SNMPv2 PDUSNMPv2 PDUn SNMPv2 SNMPv2协议数据单元有协议数据单元有3 3种种PDUPDU格式格式nGetRequestGetRequest、GetNextRequestGetNextRequest、SetRequestSetRequest、GetBulkRequestGetBulkRequest、SNMPv2-TrapSNMPv2-Trap、ResponseResponse、 InformRequestInform
58、RequestVariable-bindingsVariable-bindings00Request-idRequest-idPDU typePDU type图图5-11 SNMPv2报文报文PDU格式格式GetRequestGetRequest,GetNextRequestGetNextRequest,SetRequesSetReques,InfornRequestInfornRequest和和Trap PDUTrap PDUGetResponsePDUGetResponsePDU错误状态错误状态请求标识请求标识PDU typePDU type错误索引错误索引Variable-binding
59、sGetBuleRequestGetBuleRequest PDU PDU非重复数非重复数N请求标识请求标识PDU type最大后继数最大后继数MVariable-bindings变量绑定表变量绑定表name1 value1 name2 value2 - namen valuen5.6.2 SNMPv25.6.2 SNMPv2协议操作协议操作 1. GetRequestPDU 1. GetRequestPDU: SNMPv2SNMPv2对这种操作的响应方式与对这种操作的响应方式与SNMPv1SNMPv1不同之处是允许部分不同之处是允许部分响应,对变量绑定表中的各个变量进行处理:响应,对变量绑定
60、表中的各个变量进行处理: n 如果该变量的对象标识符前缀不能与这一请求可访问如果该变量的对象标识符前缀不能与这一请求可访问 的任何变量的对象标识符前缀匹配,则返回一个错误的任何变量的对象标识符前缀匹配,则返回一个错误 值值noSuchObjectnoSuchObject。n 如果变量名不能与这一请求可访问的任何变量名完全如果变量名不能与这一请求可访问的任何变量名完全匹配,则返回一个错误值匹配,则返回一个错误值noSuchInstancenoSuchInstance。n 如果由于任何其他原因而处理失败,则返回一个错误如果由于任何其他原因而处理失败,则返回一个错误状态状态genErrgenErr。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年乌海小型客运从业资格证理论考试题
- 吉首大学《国际贸易实务A》2021-2022学年第一学期期末试卷
- 《机械设计基础》-试卷9
- 吉林艺术学院《图案与装饰》2021-2022学年第一学期期末试卷
- 浙江省2023年中考数学一轮复习:数据分析初步 练习题
- 2024年公园铺砖工程合同范本
- 2024年大学生兼职保密协议书模板
- 吉林师范大学《西方音乐史与名作欣赏Ⅱ》2021-2022学年第一学期期末试卷
- 软件服务许可使用协议书范文范本
- 【初中数学】求代数式的值第1课时直接求代数式的值 2024-2025学年人教版七年级数学上册
- 2024浙江绍兴市人才发展集团第1批招聘4人(第1号)高频难、易错点500题模拟试题附带答案详解
- 幼儿园说课概述-课件
- 冠状动脉介入风险预测评分的临床应用
- 35导数在经济中的应用
- 苏科版(2024新版)七年级上册数学期中学情评估测试卷(含答案)
- 部编版《道德与法治》三年级上册第10课《父母多爱我》教学课件
- 大语言模型赋能自动化测试实践、挑战与展望-复旦大学(董震)
- 期中模拟检测(1-3单元)2024-2025学年度第一学期西师大版二年级数学
- 气管插管操作规范(完整版)
- 2024-2025学年外研版英语八年级上册期末作文范文
- 四级劳动关系协调员试题库含答案
评论
0/150
提交评论