第3章SNMP通信模型解析课件_第1页
第3章SNMP通信模型解析课件_第2页
第3章SNMP通信模型解析课件_第3页
第3章SNMP通信模型解析课件_第4页
第3章SNMP通信模型解析课件_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

第3章:SNMP通信模型3.1SNMP结构(

SNMPArchitecture)

SNMP结构是管理系统和管理代理之间的管理报文的规范。由定义团体来进行安全机制的管理,只有相同团体成员之间才能进行通信。一个管理站能够属于多个团体且可管理多个域。

SNMP结构具有三个方面的功能:通过管理代理实现的网络功能应该是最简单的;允许有足够的可扩展性(增加新的操作和管理);SNMP结构应独立于具体主机和网关的结构及机制。3.2管理模型(TheAdministrativeModel)

支持SNMP应用实体的程序称为协议实体SNMP管理者属于管理站的应用实体SNMP代理属于网络元素的应用实体这一对实体被称为SNMP团体。SNMP团体名为community,是一个字符串的形式。SNMPManager认证服务SNMPManager认证服务SNMPManager认证服务认证认证服务SNMPAgentSNMP团体报文图中是多个SNMP管理者与一个SNMP代理进行通信,还可以进行多对一和多对多的通信。图中发送和接收过程都要进行认证检验,这可以视为是一种安全机制。SNMPv1的安全机制很简单,只是验证团体名。属于同一团体的管理站和被管理站才能互相作用。其基本思想是:代理系统可以对不同的团体定义不同的访问控制策略,每个团体被赋予唯一的名字。管理站只能以认可的团体名行使访问权。管理站实体可以用不同的名字对不同的代理实施不同的访问权限。认证服务

认证服务的目的是要保证通信是被授权的。对于一个SNMP报文,认证服务的功能是保证接收报文来自于这个消息所声称的源。从管理站到代理的每个报文都包括一个团体名字。这个名字起到密码的作用,如果发送者知道这个密码,报文就被认为是可靠的。团体名以明文的形式传输,容易被窃取。所以SNMP的安全机制是不安全的。为此很多SNMP的实现只允许Get和Trap操作,而Set的操作被严格的限制。即只具有网络监视功能而限制控制网络设备。为了加强SNMP的安全性,在后来的SNMP版本中改进了认证服务。SNMP的访问策略Manager1(Community1)Manager2(Community2)Manager3(Community1,Community2)Agent1Agent2CommunityProfile1CommunityProfile2Agent3Agent4CommunityProfile3CommunityProfile4SNMPAccessPolicyCommunity1Community23.3SNMP协议规范

SNMPPDU格式

DataSNMPPDUCommunityVersionAHSNMPPDUUDPHTransportPDUIPHNetworkPDUDLCH

SNMP报文封装SNMP报文是在PDU加上团体名、版本号和应用层的头构成了应用层的PDU。在其前加上UDP的头成为了传输层的PDU。以此类推,构成每一层的PDU。

SNMP协议实体在主机的161端口被接收。trap是在162端口被接收。SNMPv1协议的最大长度为484个字节。SNMP有5种管理操作,但只有3种PDU格式:GetRequestPDU、GetNextRequestPDU与SetRequestPDU格式相同。

GetResponsePDU

TrapPDU

变量绑定表:variable-bindings

SNMP报文格式CommunityVersionSNMPPDU变量绑定表00Request-idPDUtypeSNMP报文GetRequestPDU,GetNextRequestPDU和SetRequestPDUGetResponsePDU错误状态请求标识PDUtype错误索引Variable-bindingsTrapPDU制造商ID代理地址一般陷阱特殊陷阱时间戳变量绑定表PDUtypename1value1name2value2……namenvaluen变量绑定表

报文的发送和接收

构造PDU(ASN.1对象)加入团体名及源和目的传输地址构造SNMP报文检验并通过认证把ASN.1报文按BER编码发送给对等实体生成和发送SNMP报文按BER解码,恢复ASN.1报文语法分析ASN.1报文验证版本号认证检查语法分析PDU处理PDU,必要时产生应答丢弃报文必要时产生陷入出错正确

接收和处理SNMP报文3.4SNMP操作(SNMPOperations)检索简单对象检索简单的标量对象值可以用get操作;如果变量绑定表中包含多个变量,一次还可以检索多个标量对象的值;接收GetRequest的SNMP实体请求标识相同的响应。如果所有请求的对象值均可以得到,则给于应答;只要有一个对象的值得不到,则可返回错误。检索表对象

GetNext可用于有效地搜索表对象。

表对象检索IfTable(2)Interfaces(mib-22)mib-2=1.3.6.1.2.1IfNumber(1)IfEntry(1)IfIndex(1)IfDescr(2)IfType(3)IfMtu(4)IfSpeed(5)例:上图中,若发出下面的命令,检索ifNumber的值。GetRequest(1.3.6.1.2.1.2.1.0)GetResponse(2)我们知道有两个接口。如果我们进一步想要知道每个接口的数据速率,则可以用下面的命令检索if表中的第五个元素:

GetRequest(1.3.6.1.2.1.2.2.1.5.1)最后的1是索引项ifIndex的值。得到的响应是:GetResponse(10000000)说明第一个接口的数据速率是10Mb/s。若要得到第二个接口的速率可用命令:

GetNextRequest(1.3.6.1.2.1.2.2.1.5.1)得到的可能是GetResponse(56000)说明第二个接口的数据速率为56kb/s。例4若管理站希望能够检索整个表,但又不知其中的内容和表中的行数,则可连续使用GetNext命令。检索表对象ipRouteDestIpRouteMetric1ipRouteNextHop9.1.2.3399.0.0.310.0.0.51589.1.1.4210.0.0.99589.1.1.42管理站可发送包含所有列对象名称的GetNextRequest:GetNextRequest(ipRouteDest,ipRouteMetric1,ipRouteNextHop)代理将表中的第一行取值返回:GetResponse(ipRouteDest.9.1.2.3=9.1.2.3,ipRouteMetric1.9.1.2.3=3,ipRouteNextHop.9.1.2.3=99.0.0.3)根据第一行的值可检索下一行:GetNextRequest(ipRouteDest.9.1.2.3,ipRouteMetric1.9.1.2.3,ipRouteNextHop.9.1.2.3)GetResponse(ipRouteDest.10.0.0.51=10.0.0.51,ipRouteMetric1.10.0.0.51=5,ipRouteNextHop.10.0.0.51=89.1.1.42)据此可继续检索第三行。表的更新和删除

Set命令用于设置或更新变量的值。对于Set命令的应答也是GetResponse,并且要么更新列表中的所有变量,要么一个也不更新。其错误状态为tooBig,noSuchname和genError。若有一个变量的名字和要设置的值在类型、长度或实际值方面不匹配,则返回错误条件badValue。例:在表5-3中,若想改变列对象ipRouteMetric1的第一个值,则可发出命令:SetRequest(ipRouteMetric1.9.1.2.3=7)得到的应答是:GetResponse(ipRouteMetric1.9.1.2.3=7)其效果是该对象的值由3变成了7。例对于表5-3若要增加一行,则可用命令:SetRequest(ipRouteDest.11.3.3.12=11.3.3.12,ipRouteMetric1.11.3.3.12=7,ipRouteNextHop.11.3.3.12=91.0.0.5)例7如果要删除表中的一行,则可以把一个对象的值置为invalid:SetRequest(ipRouteType.9.1.2.3=invalid)得到的响应说明表行确已删除:GetResponse(ipRouteType.9.1.2.3=invalid)3.5SNMPv2

SNMP具有一定的局限性:Ø

由于轮询的性能限制,SNMP不适合管理很大的网络。Ø

SNMP不适合检索大量数据。Ø

SNMP的陷入报文是没有应答的,可能会丢掉重要的管理信息。Ø

SNMP只提供简单的团体名认证,安全措施很弱。Ø

SNMP并不直接支持向被管理设备发送命令。Ø

MIB-Ⅱ支持的管理对象是很有限的,不足以完成复杂的管理功能。Ø

SNMP不支持管理站之间的通信,而这一点在分布式网络管理中是很需要的。

针对以上SNMPv1的缺陷,SNMPv2对SNMP进行了一定的改进。其增强的主要功能有:Ø

管理信息结构的扩充;Ø

管理站和管理站之间的通信能力;Ø

新的协议操作。SNMPv2与SNMP系统结构的主要区别SNMPv2有7种报文管理者与管理者之间可以通信。SNMPv2提供3种访问管理信息的方法:管理站和代理之间的请求/响应通信。代理系统到管理站的非确认通信。管理站和管理站之间的请求/响应通信,以支持分布式网络管理。SNMPv2系统结构

SNMP管理站SNMP代理SNMP管理站

管理应用程序

依赖于网络的协议

IP

UDP

SNMP

依赖于网络的协议

IP

UDP

SNMP

管理应用程序

依赖于网络的协议

IP

UDP

SNMP

管理应用程序

SNMPv2报文版本号取值为0----SNMPv1

取值为1----SNMPv2。SNMPv2PDUSNMPv2协议数据单元有3种PDU格式SNMPv2七种报文类型:

GetRequest、GetNextRequest、SetRequest、GetBulkRequest、SNMPv2-Trap、GetResponse、InformRequestVariable-bindings00Request-idPDUtype

SNMPv2报文PDU格式GetRequest,GetNextRequest,SetReques,InfornRequest和TrapPDUGetResponsePDU错误状态请求标识PDUtype错误索引Variable-bindingsGetBuleRequestPDU非重复数N请求标识PDUtype最大后继数MVariable-bindings变量绑定表name1value1name2value2------namenvaluen(1)GetRequestPDU:SNMPv2对这种操作的响应方式与SNMPv1不同之处是允许部分响应,对变量绑定表中的各个变量进行处理。(2)GetNextRequestPDU:其区别于SNMPv1是改变了响应的原子性。对变量绑定表中指定的变量在MIB中查找按照字典顺序的后继变量,如果找到,返回该变量的名字和值。

如果找不到按照字典顺序的后继变量,则返回请求PDU中的变量名和错误值endOfMi

温馨提示

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

评论

0/150

提交评论