SNMPv1网络管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SNMPv1网络管理
1SNMP背景知识
●TCP/IP的发展以及互联网的兴起
●TCP/IP网络管理的起源
●SNMP的发展
2SNMP管理模型
1、管理工作站
命令转换、被管实体的MIB数据获取
2、管理代理
3、管理信息库(management information base)
管理信息库(MIB)规定了网络代理所保存的数据项目数据类型以及在每个数据项目中允许的操作通过对这些数据项目的存取访问来实现网络
管理的五大功能:配置管理、性能管理、出错管理、计费管理和安全管理。
Internet 标准的管理信息库(MIB)是一树状结构的数据库。
MIB-1树状结构图(OID图)
4、网络管理协议
●Get:由管理站获取代理的MIB对象值
●Set:由管理站设置代理的MIB对象值
●Trap:由代理向管理站报告重要事件(认证失败、连接断等)
5、 SNMP协议安全性
用团体字符串定义一个代理和一组管理者之间的认证和访问控制关系。代理为每组可选的认证和访问控制建立一个团体,每个团体赋予一个
唯一的团体字符串。
●认证服务:保证代理收到的消息是来自它所声称的消息源。
SNMPv1中仅仅通过团体字符串来进行认证。
●访问控制:代理可以为不同的管理者提供不同的MIB访问控制,
访问控制包括两个方面:(1)MIB视图:MIB中所有变量(对
象)的一个子集,可以为每个团体定义不同的MIB视图,视图
中的对象子集可以不在MIB的一个子树之内(2)SNMP访问
模式:READ-ONLY或READ-WRITE或WRITE-ONLY,为每
个团体定义一个访问模式
●PROFILE:MIB视图和访问模式的结合成为轮廓(PROFILE),
3SNMP协议操作
SNMP支持的操作
SNMP协议操作的原子性
当一个SNMP操作消息(如GetRequest PDU)中绑定了多个变量时,代理的处理原则是:要么全取到,要么一个也不取,应该说是SNMPv1的一大缺点,效率低下。
●GetRequest执行流程
●GetNextRequest执行流程
●SetRequest执行流程
●Trap执行流程
●SNMP协议端口分配
4实例标识
MIB中的每个对象都有一个唯一的对象标识,由该对象在MIB树状结构中的位置决定。
1、字典顺序
对象标识符为整数序列,因此可以把一个代理维护的所有变量实例(即所有叶子节点)以OID进行排序,得到一个字典顺序。
例如MIB-II中系统组(System Group)中7个变量以字典序排序为sysDescr ( 1.3.6.1.2.1.1.1.0)、sysObjectID( 1.3.6.1.2.1.1.2.0)、sysUpTime ( 1.3.6.1.2.1.1.3.0)、sysContact( 1.3.6.1.2.1.1.4.0)、sysName
( 1.3.6.1.2.1.1.5.0)、sysLocation( 1.3.6.1.2.1.1.6.0)、sysServices (1.3.6.1.2.1.1.7.0)。而接口1的IfDescr变量的OID为1.3.6.1.2.2.1.2.1,因而若考虑sysServices(1.3.6.1.2.1.1.7.0)与1.3.6.1.2.2.1.2.1的字典序,则
1. 3. 6. 1.
2. 1. 1. 7. 0
1. 3. 6. 1.
2. 2. 1. 2. 1
显然,后一个OID在第6个数字处为2,比第一个变量的1大,因此,后一个变量的字典序大。
通过用字典排序,管理者能够有效地遍历一个MIB结构,在树中的任一点,管理者可以提供一个对象或对象标识并且申请对在该排序中出现的下一个的对象实例进行操作。这就是GetNextRequest操作的基础。在使用GetNextRequest 时,OID可以不是对象实例,但取得的必定是下一个对象实例;因此,可以使用非实例标识避免原子性操作带来的性能损失。
2、字典排序算法
代理所维护对象实例的OID排序集合就是对OID树的深度优先遍历的结果剔除非叶子节点(即支点)后的集合。
root
树的遍历:就是按某种次序访问树中的结点,要求每个结点访问一次且仅访问一次。
3、向量对象和标量对象
由对象如何得到对象实例,因为SNMP协议操作针对的是对象实例。
●标量对象:
很简单,只需找到它的OID,并在后面加一个0即可
●向量对象(表对象、行对象):
仅仅指定它的OID,并不能唯一指定一个变量
例1:对于接口组中的接口表来说,结构如下:
IfIndex IfDescr IfType
1.3.6.1.
2.1.2.2.1. 1.
3.6.1.2.1.2.2.1.
1.3.6.1.
2.1.2.2.1.3
如图所示,如果要指定接口1的类型变量(IfType)的OID,显然1.3.6.1.2.1.2.2.1.3是不够的。因为在这个OID下有多个行,到底是以太网接口、高速同步口还是慢速异步口并不能区分。因此,SNMP规定:对于向量对象,需要用变量OID(相当于指定列:列对象)和行实例的索引字段的值(相当于指定行)合起来定义OID。比如:接口1的类型变量,它的OID为1.3.6.1.2.2.1.3.1。请注意最后的红颜色表示的1,它是接口1的索引字段值。索引字段就是ifIndex,在MIB文件中有定义。
例2:
TcpConnState TcpConnLocalAddres
s
TcpConnLocalPort TcpConnRemAddress TcpConnRemPort
1.3.6.1.
2.1.6.1
3.1. 1.3.6.1.2.1.6.13.1. 1.3.6.1.2.1.6.13.1. 1.3.6.1.2.1.6.13.1. 1.3.6.1.2.1.6.13.1.
上面是一个复杂的例子,索引字段有四个,因此,红颜色5变量的OID为
1.3.6.1.
2.1.6.1
3.1.1.10.0.0.99.12.9.1.2.3.15,索引对象按照其出现在表的定义
中的顺序给出。
5GetNextRequest操作
顺序访问对象实例:就是严格按照对象实例的字典顺利逐个访问,
主要用于GetNextRequest操作。
范例:使用GetNextRequest有效地搜索一个表格对象(向量)。
Step 1
Step 2