SNMP协议详解

1. SNMP基本原理

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

 

  

  

  

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

 

  

  

  

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

 

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

 

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

2. 管理信息库MIB

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

 

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

 

  

  

  

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

 

  

  

  

3. SNMP的五种消息类型

  SNMP中定义了五种消息类型:Get-Request、Get-Response、Get-Next-Request、Set-Request、Trap

 

  (1)Get-Request 、Get-Next-Request与Get-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)}

 

  (2)Set-Request

 

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

 

  (3)Trap

 

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

SNMP的运行过程

  留在被管设备上的AGENT从UDP端口161接受来自网管站的串行化报文,经解码、团体名验证、分析得到管理变量在MIB树中对应的节点,从相应的模块中得到管理变量的值,再形成响应报文,编码发送回网管站。网管站得到响应报文后,再经同样的处理,最终显示结果。

你可能感兴趣的:(职场,snmp,休闲,mib,简单网络管理协议)