Chinaunix首页 | 论坛 | 博客
  • 博客访问: 504160
  • 博文数量: 76
  • 博客积分: 4010
  • 博客等级: 上校
  • 技术积分: 1534
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-10 16:28
文章分类
文章存档

2010年(1)

2009年(3)

2008年(72)

我的朋友

分类: LINUX

2008-04-28 15:29:13

SNMP协议介绍

  简单网络管理协议(SNMPSimple Network Management Protocol)是由互联网工程任务组(IETFInternet Engineering Task Force )定义的一套网络管理协议。该协议基于简单网关监视协议(SGMPSimple Gateway Monitor Protocol)。利用SNMP,一个管理工作站可以远程管理所有支持这种协议的网络设备,包括监视网络状态、修改网络设备配置、接收网络事件警告等。虽然SNMP开始是面向基于IP的网络管理,但作为一个工业标准也被成功用于电话网络管理。

1. SNMP基本原理

  SNMP采用了Client/Server模型的特殊形式:代理/管理站模型。对网络的管理与维护是通过管理工作站SNMP代理间的交互工作完成的。每个SNMP从代理负责回答SNMP管理工作站(主代理)关于MIB定义信息的各种查询。下图10NMS公司网络产品中SNMP协议的实现模型。

10

  SNMP代理和管理站通过SNMP协议中的标准消息进行通信,每个消息都是一个单独的数据报。SNMP使用UDP(用户数据报协议)作为第四层协议(传输协议),进行无连接操作。SNMP消息报文包含两个部分:SNMP报头和协议数据单元PDU。数据报结构如下图11

11

  • 版本识别符(version identifier):确保SNMP代理使用相同的协议,每个SNMP代理都直接抛弃与自己协议版本不同的数据报。

  • 团体名(Community Name):用于SNMP从代理对SNMP管理站进行认证;如果网络配置成要求验证时,SNMP从代理将对团体名和管理站的IP地址进行认证,如果失败,SNMP从代理将向管理站发送一个认证失败的Trap消息();

  • 协议数据单元(PDU):其中PDU指明了SNMP的消息类型及其相关参数。

 

2. 管理信息库MIB

  IETF规定的管理信息库MIB(由中定义了可访问的网络设备及其属性,由对象识别符(OIDObject Identifier)唯一指定。MIB是一个树形结构,SNMP协议消息通过遍历MIB树形目录中的节点来访问网络中的设备。

  下图给出了NMS系统中SNMP可访问网络设备的对象识别树(OIDObject Identifier)结构。

12

  下图13给出了对一个DS1线路状态进行查询的OID设置例子。

13

  图14中左图给出了RFC2495DS1/E1中继线的MIB信息树图,右图是NMS系统中对机架Chassis管理MIB约定。

 

 

3. SNMP的五种消息类型

  SNMP中定义了五种消息类型:Get-RequestGet-ResponseGet-Next-RequestSet-RequestTrap

  • Get-Request Get-Next-RequestGet-Response

  SNMP管理站用Get-Request消息从拥有SNMP代理的网络设备中检索信息,而SNMP代理则用Get-Response消息响应。Get-Next-Request用于和Get-Request组合起来查询特定的表对象中的列元素。如:

首先通过下面的原语获得所要查询的设备的接口数:

{iso org(3) dod(6) internet(1) mgmt(2) mib(1) interfaces(2) ifNumber(2)}

然后再通过下面的原语,进行查询(其中第一次用Get-Request,其后用Get-Next-Request):

{iso org(3) dod(6) internet(1) mgmt(2) mib(1) interfaces(2) ifTable(2)}

  • Set-Request

  SNMP管理站用Set-Request 可以对网络设备进行远程配置(包括设备名设备属性删除设备或使某一个设备属性有效/无效等)。

  • Trap

  SNMP代理使用TrapSNMP管理站发送非请求消息,一般用于描述某一事件的发生。


阅读(1362) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~