snmp报文格式详解.doc
文本预览下载声明
2004年第9期
计算机与现代化
BSUANJI YU XIANDA/HUA 总第109期
文章编号:1~6-2475(2004)09—0051.04
SNMP报文格式分析及实现
陈航,谢嵘
(肇庆学院计算机科学系,广东肇庆526040)
摘要:介绍了ASN.1抽象语言、BER编码规则和SNMP报文格式,用具体实例分析了一帧SNMP报文,并给出了o+语言实
现的SNTCIP部分代码,为进一步开发高层网管软件提供了条件。
关键词:SNMP;BER;网络管理
中图分类号:TP393 文献标识码:A
Analysis and Realization of SNM P Packet
CHEN Hang,XIE Rong
(Department of Computer Science, University,Zhaoqing 526040,Chin)
Abstract:This paper describes abstract syntax(ASN.1),encoding ru1 (BER)and types of SNMP packet.Furthermore,an example is
taken to analyze the SNMP packet,and then sonic C++codes are given which will sup~y a g00d situation for further developing advanced
ne“帕rl(management software.
Keywords:SNMP;BER;netWork naxarkagement
0 引 言
简单网络管理协议(SNMP)是目前在计算机网络
中用得最广泛的网络管理协议,大多数网络管理软件
基于SNMP技术构建。分析SNMP报文格式及编码
规则是编写SNMP网络管理软件的基础。
SNMP定义了在客户和服务器之间交换的SNMP
报文的语法和语义。它使用ASN.1(Abstract Syntax
Notation One)来定义SNMP报文格式和MIB(Manage.
ment Infomation Base)变量的名称L】]。因此与绝大多数
UDP协议不同,SNMP报文不含固定字段,也不能用
固定的结构来定义,弄清楚SNMP报文格式及编码规
则是编写SNMP网络管理软件的基础。
1 抽象语法记法ASN.1
在ISO/OSI参考模型中,应用层要求表示各种简
单、复合的数据形式以及取自各种字符集的字符串等
比较复杂的用户数据。这就需要定义一个抽象语法
记法,该记法规定类型的实例在传送中的表示规则
(通过8比特位组序列)。通过定义若干个简单类型
和由简单类型复合而成的结构类型,在表示层用一致
的形式来表示应用层的复杂多样的数据,便于异构系
统间的通信,这种记法就叫作抽象语法记法(ASN.1)。
ASN.1是一种描述数据和数据特征的正式语言,
它和数据的存储及编码无关l2 J。
根据ASN.1标准定义,数据类型分为:
简单数据类型:boolean、null、integer、real、otter
string、object identifier、ip address、time ticks等。
构造数据类型:sequence、sequence of set、set of
h0jce等。构造数据类型提供一种或多种简单数据
类型进行复合的方法。
2 基本编码规则BER
在具体系统中,我们需要用具体的编码规则将
ASN.1语法表示的抽象数据转换成具体的比特流。
SNMP使用的编码方法是BER(Basic Encoding Rule)。
BER的数据都由三个域构成:标识域(tag)+长
度域(1en舢)+值域(value)。
2.1 标识域
标识域指明数据的类型,占用1个字节,常见的
类型有:BOOL(0x01);INT(0x02);OCqS3R(Ox04);
NuLL(0 5);OBJID(0x06);ENUM(OxOA);SEQ(0x30);
收稿日期:2004-04-22
作者简介: 航(1968.),男,广东肇庆人,肇庆学院计算机科学系实验室主任、实验师,研究方向:计算机网络。
52 计算机与现代化 2OO4年第9期
SETOF(0x31);IPADDR(OxdO);COUNFER(0x41);
GAUGE(Ox42);,I1M踟CKS(Ox43);OPAQUE(0x44)。
2.2 长度域
长度域指明值域的长度,不定长,一般为一到三
个字节。其格式可分为短格式和长格式,如下所示:
f 0 长度f I 1 i K f K个八位组长度I
例:length=30=1E length=169=81 A9
length=1500= 82 05 DC
2.3
显示全部