资源描述:
《snmp报文格式分析及实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、计算机与现代化2004年第9期JISUANJIYUXIANDAIHUA总第109期文章编号:10062475(2004)09005104SNMP报文格式分析及实现陈航,谢嵘(肇庆学院计算机科学系,广东肇庆526040)摘要:介绍了ASN.1抽象语言、BER编码规则和SNMP报文格式,用具体实例分析了一帧SNMP报文,并给出了C语言实现的SNMP部分代码,为进一步开发高层网管软件提供了条件。关键词:SNMP;BER;网络管理中图分类号:TP393文献标识码:AAnaly
2、sisandRealizationofSNMPPacketCHENHang,XIERong(DepartmentofComputerScience,ZhaoqingUniversity,Zhaoqing526040,China)Abstract:Thispaperdescribesabstractsyntax(ASN.1),encodingrules(BER)andtypesofSNMPpacket.Furthermore,anexampleistakentoanalyzetheSNMPpack
3、et,andthensomeCcodesaregivenwhichwillsupplyagoodsituationforfurtherdevelopingadvancednetworkmanagementsoftware.Keywords:SNMP;BER;networkmanagement的形式来表示应用层的复杂多样的数据,便于异构系0引言统间的通信,这种记法就叫作抽象语法记法(ASN.1)。简单网络管理协议(SNMP)是目前在计算机网络ASN.1是一种描述数据和数据特征的正式语言,[2
4、]中用得最广泛的网络管理协议,大多数网络管理软件它和数据的存储及编码无关。基于SNMP技术构建。分析SNMP报文格式及编码根据ASN.1标准定义,数据类型分为:规则是编写SNMP网络管理软件的基础。简单数据类型:boolean、null、integer、real、octerSNMP定义了在客户和服务器之间交换的SNMPstring、objectidentifier、ipaddress、timeticks等。报文的语法和语义。它使用ASN.1(AbstractSyntax构造数据类型:sequenc
5、e、sequenceofset、setofNotationOne)来定义SNMP报文格式和MIB(Managechoice等。构造数据类型提供一种或多种简单数据[1]mentInfomationBase)变量的名称。因此与绝大多数类型进行复合的方法。UDP协议不同,SNMP报文不含固定字段,也不能用2基本编码规则BER固定的结构来定义,弄清楚SNMP报文格式及编码规则是编写SNMP网络管理软件的基础。在具体系统中,我们需要用具体的编码规则将ASN.1语法表示的抽象数据转换成具体的比特流。1抽
6、象语法记法ASN.1SNMP使用的编码方法是BER(BasicEncodingRule)。在ISO/OSI参考模型中,应用层要求表示各种简BER的数据都由三个域构成:标识域(tag)+长单、复合的数据形式以及取自各种字符集的字符串等度域(length)+值域(value)。比较复杂的用户数据。这就需要定义一个抽象语法2.1标识域记法,该记法规定类型的实例在传送中的表示规则标识域指明数据的类型,占用1个字节,常见的(通过8比特位组序列)。通过定义若干个简单类型类型有:BOOL(0x01);INT(
7、0x02);OCTSTR(0x04);和由简单类型复合而成的结构类型,在表示层用一致NULL(0x05);OBJID(0x06);ENUM(0x0A);SEQ(0x30);收稿日期:20040422作者简介:陈航(1968),男,广东肇庆人,肇庆学院计算机科学系实验室主任、实验师,研究方向:计算机网络。52计算机与现代化2004年第9期SETOF(0x31);IPADDR(0x40);COUNTER(0x41);string::=0x04length{byte}*GAUGE(0x
8、42);TIMETICKS(0x43);OPAQUE(0x44)。3SNMP报文2.2长度域长度域指明值域的长度,不定长,一般为一到三3.1SNMP报文格式个字节。其格式可分为短格式和长格式,如下所示:[3]SNMP共有五种报文,分别为Get_Request0长度1KK个八位组长度(0xA0)、Get_Next_Request(0xA1)、Get_Response(0xA2)、例:length=30=>1Elength=169=>81A9Set_Request(0xA