SNMP PDU报文格式解析

原创 2011年01月14日 10:31:00

 

SNMP五种协议数据单元

SNMP规定了5种协议数据单元PDU(也就是SNMP报文),用来在管理进程和代理之间的交换。

Ø       get-request操作:从代理进程处提取一个或多个参数值(网管系统发送)

Ø       get-next-request操作:从代理进程处提取紧跟当前参数值的下一个参数值(网管系统发送)

Ø       set-request操作:设置代理进程的一个或多个参数值(网管系统发送)

Ø       get-response操作:返回的一个或多个参数值。这个操作是由代理进程发出的,它是前面三种操作的响应操作(代理发送)

Ø       trap操作:代理进程主动发出的报文,通知管理进程有某些事情发生(代理发送)

前面的3种操作是由管理进程向代理进程发出的,后面的2个操作是代理进程发给管理进程的,为了简化起见,前面3个操作叫做getget-nextset操作。下图描述了SNMP的这5种报文操作。请注意,在代理进程端是用熟知端口161俩接收getset报文,而在管理进程端是用熟知端口162来接收trap报文。

SNMP协议数据单元格式解析

一个SNMP报文共有三个部分组成,即公共SNMP首部、get/set首部或trap首部、变量绑定。下图是封装成UDP数据报文的5种操作的SNMP报文格式。

公共SNMP首部

版本

写入版本字段的是版本号减1,对于SNMP(即SNMPV1)则应写入0

公共体

共同体就是一个字符串,作为管理进程和代理进程之间的明文口令,常用的是6个字符“public”。

PDU类型

根据PDU的类型,填入04中的一个数字,其对应关系下表所示意图。

 

PDU类型

PDU类型

名称

0

get-request

1

get-next-request

2

get-response

3

set-request

4

trap

get/set首部

请求标识符(request ID)

这是由管理进程设置的一个整数值。代理进程在发送get-response报文时也要返回此请求标识符。管理进程可同时向许多代理发出get报文,这些报文都使用UDP传送,先发送的有可能后到达。设置了请求标识符可使管理进程能够识别返回的响应报文对于哪一个请求报文。

差错状态(error status)

由代理进程回答时填入05中的一个数字,见下表的描述。

 

差错状态描述

差错状态

名字

说明

0

noError

一切正常

1

tooBig

代理无法将回答装入到一个SNMP报文之中

2

noSuchName

操作指明了一个不存在的变量

3

badValue

一个set操作指明了一个无效值或无效语法

4

readOnly

管理进程试图修改一个只读变量

5

genErr

某些其他的差错

差错索引(error index)

当出现noSuchNamebadValuereadOnly的差错时,由代理进程在回答时设置的一个整数,它指明有差错的变量在变量列表中的偏移。

trap首部

企业(enterprise)

填入trap报文的网络设备的对象标识符。此对象标识符肯定是在图3的对象命名树上的enterprise结点{1.3.6.1.4.1}下面的一棵子树上。

trap类型

此字段正式的名称是generic-trap,共分为表4中的7种。

 

trap类型描述

trap类型

名字

说明

0

coldStart

代理进行了初始化

1

warmStart

代理进行了重新初始化

2

linkDown

一个接口从工作状态变为故障状态

3

linkUp

一个接口从故障状态变为工作状态

4

authenticationFailure

SNMP管理进程接收到具有一个无效共同体的报文

5

egpNeighborLoss

一个EGP相邻路由器变为故障状态

6

enterpriseSpecific

代理自定义的事件,需要用后面的“特定代码”来指明

当使用上述类型235时,在报文后面变量部分的第一个变量应标识响应的接口。

特定代码(specific-code)

指明代理自定义的时间(若trap类型为6),否则为0

时间戳(timestamp)

指明自代理进程初始化到trap报告的事件发生所经历的时间,单位为10ms。例如时间戳为1908表明在代理初始化后1908ms发生了该时间。

变量绑定(variable-bindings)

指明一个或多个变量的名和对应的值。在getget-next报文中,变量的值应忽略。

 

文档下载地址:http://d.download.csdn.net/down/2982397/ddxkjddx

 

IS-IS的报文——hello PDU

Hello PDU Hello报文用于建立和维持邻居关系,也称为IIH(IS-to-IS Hello PDUs)。其中,广播网中的Level-1 IS-IS使用Level-1 LAN IIH;广播网...
  • hrl7752
  • hrl7752
  • 2017年10月24日 15:55
  • 65

PDU数据格式分析

以要将“你好”发送到13752141860,信息中心号码为:+8613800220500为例:PDU数据格式分析     应发送的PDU字符串为:     0891683108200205F03100...
  • xuxju
  • xuxju
  • 2007年05月10日 14:03
  • 1294

SNMP报文PDU格式

 SNMPv1/SNMP2c的报文格式: version+community+PDU SNMPv3的报文格式: SNMPv3的报文格式要复杂一些,可以看作是header+PDU。具体可以看...
  • fw0124
  • fw0124
  • 2014年12月14日 01:06
  • 2007

SNMP协议 PDU报文格式分析(BER编码)

简单网络管理协议(SNMP)是目前在计算机网络中用得最广泛的网络管理协议,它使用ASN.1(Abstract Syntax Notation One)来定义SNMP报文格式和MIB(Managem...
  • shanzhizi
  • shanzhizi
  • 2013年09月11日 17:31
  • 10048

PDU格式说明

SMSDeliver(收到PDU)  SCA   PDU Type   OA   PID   DCS   SCTS   UDL    UD     1、...
  • CityBird
  • CityBird
  • 2015年02月11日 13:54
  • 542

PDU格式说明

SMSDeliver(收到PDU)  SCA   PDU Type   OA   PID   DCS   SCTS  ...
  • vevenlcf
  • vevenlcf
  • 2016年04月08日 17:00
  • 457

SNMP PDU解析

SNMP的报文格式 SNMP代理和管理站通过SNMP协议中的标准消息进行通信,每个消息都是一个单独的数据报。SNMP使用UDP(用户数据报协议)作为第四层协议(传输协议),进行无连接操作。SNM...
  • u010566813
  • u010566813
  • 2016年01月10日 02:12
  • 2034

SNMP的报文格式以及解析

SNMP的报文格式 SNMP代理和管理站通过SNMP协议中的标准消息进行通信,每个消息都是一个单独的数据报。SNMP使用UDP(用户数据报协议)作为第四层协议(传输协议),进行无连接操作。SNMP消...
  • sun7545526
  • sun7545526
  • 2014年02月20日 15:32
  • 5047

PDU格式详解

A.收到PDU                SMS-DELIVER(Mobile Terminated)   收到DELIVER-PDU格式 SCA PDU TY...
  • sonicliji
  • sonicliji
  • 2012年12月10日 08:37
  • 1105

以太网帧结构解析

由于需要做一个分析网卡接收的数据包的Project,需要了解以太网帧结构并解析,发现有很多内容从一般网络方面的知识是不够的,因此查阅了相关资料再此做一个记录以备忘。 以太网是目前最流行的有线的局域网技...
  • u010487568
  • u010487568
  • 2014年09月17日 02:06
  • 7071
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SNMP PDU报文格式解析
举报原因:
原因补充:

(最多只允许输入30个字)